<?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>160568</bug_id>
          
          <creation_ts>2016-08-04 14:24:39 -0700</creation_ts>
          <short_desc>Remove more unused bindings code</short_desc>
          <delta_ts>2016-08-08 10:56:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1217602</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-04 14:24:39 -0700</bug_when>
    <thetext>Remove more unused bindings code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217610</commentid>
    <comment_count>1</comment_count>
      <attachid>285367</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-04 14:57:07 -0700</bug_when>
    <thetext>Created attachment 285367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217641</commentid>
    <comment_count>2</comment_count>
      <attachid>285374</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-04 16:00:37 -0700</bug_when>
    <thetext>Created attachment 285374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217650</commentid>
    <comment_count>3</comment_count>
      <attachid>285376</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-04 16:28:26 -0700</bug_when>
    <thetext>Created attachment 285376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217653</commentid>
    <comment_count>4</comment_count>
      <attachid>285377</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-04 16:31:59 -0700</bug_when>
    <thetext>Created attachment 285377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218527</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-08 10:56:14 -0700</bug_when>
    <thetext>Committed r204259: &lt;http://trac.webkit.org/changeset/204259&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285367</attachid>
            <date>2016-08-04 14:57:07 -0700</date>
            <delta_ts>2016-08-04 16:00:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160568-20160804145542.patch</filename>
            <type>text/plain</type>
            <size>68215</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjNjNTg4ZmU3Mjg2NDEz
NWU2ZmMyYjk3ZjVjYjMwNDM1MDIxMjlkMy4uZTQxYmQ0MDU1N2NkYzQ0ZGVmOWNhMmM3MTcyY2Y4
MTM4YTJjYjc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDg3IEBACiAyMDE2LTA4LTA0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVtb3ZlIG1vcmUg
dW51c2VkIGJpbmRpbmdzIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MDU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3Mvb2JqYy9ET01Eb2N1bWVudC5tbToKKyAgICAgICAgKC1bRE9NRG9jdW1l
bnQgZXhlY0NvbW1hbmQ6dXNlckludGVyZmFjZTpdKToKKyAgICAgICAgKC1bRE9NRG9jdW1lbnQg
ZXhlY0NvbW1hbmQ6XSk6CisgICAgICAgICgtW0RPTURvY3VtZW50IGdldE1hdGNoZWRDU1NSdWxl
czpwc2V1ZG9FbGVtZW50Ol0pOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSFRNTEJhc2VG
b250RWxlbWVudC5tbToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUxDb2xsZWN0aW9u
Lm1tOgorICAgICAgICAoLVtET01IVE1MQ29sbGVjdGlvbiB0YWdzOl0pOgorICAgICAgICAqIGJp
bmRpbmdzL29iamMvRE9NV2hlZWxFdmVudC5tbToKKyAgICAgICAgKC1bRE9NV2hlZWxFdmVudCBp
c0hvcml6b250YWxdKToKKyAgICAgICAgKiBjc3MvUkdCQ29sb3IuaWRsOgorICAgICAgICAqIGRv
bS9BdHRyLmlkbDoKKyAgICAgICAgKiBkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAg
ICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9FdmVudEV4Y2VwdGlvbi5oOiBSZW1v
dmVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRFeGNlcHRpb246OkV2ZW50RXhjZXB0aW9uKTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vRXZlbnRFeGNlcHRpb24uaWRsOiBSZW1vdmVkLgorICAg
ICAgICAqIGRvbS9LZXlib2FyZEV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VFdmVudDo6bWVzc2FnZVBvcnQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZUV2ZW50Ojppbml0TWVzc2FnZUV2ZW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50Lmg6CisgICAgICAgICogZG9tL01l
c3NhZ2VQb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2Fn
ZSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0Lmg6CisgICAgICAgICogZG9t
L05vZGUuaWRsOgorICAgICAgICAqIGRvbS9Ob2RlRmlsdGVyLmlkbDoKKyAgICAgICAgKiBkb20v
T3ZlcmZsb3dFdmVudC5pZGw6CisgICAgICAgICogZG9tL1doZWVsRXZlbnQuaDoKKyAgICAgICAg
KiBkb20vV2hlZWxFdmVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQWxsQ29sbGVjdGlvbjo6dGFncyk6CisgICAgICAg
ICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5oOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEJhc2VGb250RWxlbWVudDo6SFRNTEJhc2VGb250RWxlbWVudCk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICog
aHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL0hU
TUxCdXR0b25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDb2xsZWN0aW9uOjp0YWdzKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxDb2xs
ZWN0aW9uLmg6CisgICAgICAgICogaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICog
aHRtbC9IVE1MRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50
LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzLmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJRnJh
bWVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTGFi
ZWxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVDZWxsRWxlbWVu
dC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBvc3RN
ZXNzYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAq
IHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RNZXNzYWdlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpwb3N0TWVzc2Fn
ZSk6IERlbGV0ZWQuCisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKworMjAxNi0wOC0wNCAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIFJlbW92ZSBt
b3JlIE9iamVjdGl2ZS1DIHNwZWNpZmljIGJpbmRpbmdzIGNvZGUKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDU2NAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IDNlNmZkMmFhMTVhMjRkMGI0YTRjZDkyYjA2NDFiZWMxMzk2NTI3YWMuLjFmMWIyOWUx
NTgyZjg4NzU2ZjRjNmIxYmI5NjM3NWU3OWQwNDczMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0xNjUwLDcgKzE2NTAsNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9IVE1MQXVk
aW9FbGVtZW50LmNwcAogICAgIGh0bWwvSFRNTEJSRWxlbWVudC5jcHAKICAgICBodG1sL0hUTUxC
YXNlRWxlbWVudC5jcHAKLSAgICBodG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwCiAgICAgaHRt
bC9IVE1MQm9keUVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKICAg
ICBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggOGMzN2RiODgzZGYzNTZhMzFlODAxY2ZkYzg0YzEzOTQxYzdlZTc3OC4uYzU5MDIzODZl
MzUyYjE2ZmMwM2E2YTM1ZWE5NjA1ZDhmODhmOWUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0zNjEsNyArMzYxLDYgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2Vi
Q29yZSkvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hU
TUxCUkVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTEJhc2VFbGVtZW50Lmlk
bCBcCi0gICAgJChXZWJDb3JlKS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaWRsIFwKICAgICAk
KFdlYkNvcmUpL2h0bWwvSFRNTEJvZHlFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1s
L0hUTUxCdXR0b25FbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNmM2MDQ4MTNkMTg5YjM3ODY5ZTRjY2FkMWU5YWRjZmEyYTcwNDMy
NC4uMDM3MTA4NGMxM2MxNWI1MjJlM2VmNjUxYzAzMDFiNDY1MzcwMjA3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ1MCw4
ICs0NDUwLDYgQEAKIAkJQThERjNGQ0YwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxGb3JtQ29udHJv
bHNDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE4REYzRkM3MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MRm9ybUNvbnRyb2xzQ29sbGVj
dGlvbi5jcHAgKi87IH07CiAJCUE4REYzRkQwMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MQ29sbGVj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThE
RjNGQzgwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxDb2xsZWN0aW9uLmggKi87IH07CiAJCUE4REYz
RkQxMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOERGM0ZDOTA5N0ZBMEZCMDA1Mjk4MUIg
LyogSFRNTENvbGxlY3Rpb24uY3BwICovOyB9OwotCQlBOERGM0ZEMjA5N0ZBMEZDMDA1Mjk4MUIg
LyogSFRNTEJhc2VGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQThERjNGQ0EwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVs
ZW1lbnQuaCAqLzsgfTsKLQkJQThERjNGRDMwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxCYXNlRm9u
dEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQThERjNGQ0IwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQuY3BwICov
OyB9OwogCQlBOERGM0ZENDA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTE5hbWVDb2xsZWN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOERGM0ZDQzA5
N0ZBMEZCMDA1Mjk4MUIgLyogSFRNTE5hbWVDb2xsZWN0aW9uLmggKi87IH07CiAJCUE4REYzRkQ1
MDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThERjNGQ0QwOTdGQTBGQjAwNTI5ODFC
IC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5jcHAgKi87IH07CiAJCUE4REY0QUU4MDk4MEM0MkMwMDUy
OTgxQiAvKiBSZW5kZXJUYWJsZUNvbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBOERGNEFERTA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVyVGFibGVD
b2wuY3BwICovOyB9OwpAQCAtNTQ1NCw3ICs1NDUyLDYgQEAKIAkJQkM2MEQ3QzEwRDI5QTQ2MzAw
Qjk5MThGIC8qIEpTRE9NQ29yZUV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2MEQ3QkYwRDI5QTQ2MzAwQjk5MThGIC8qIEpTRE9NQ29y
ZUV4Y2VwdGlvbi5oICovOyB9OwogCQlCQzYwRDhGMjBEMkExMUUwMDBCOTkxOEYgLyogRXhjZXB0
aW9uQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzYwRDhGMDBEMkExMUUwMDBCOTkxOEYgLyogRXhjZXB0aW9uQmFzZS5jcHAgKi87IH07CiAJ
CUJDNjBEOEYzMEQyQTExRTAwMEI5OTE4RiAvKiBFeGNlcHRpb25CYXNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzYwRDhGMTBEMkExMUUwMDBCOTkx
OEYgLyogRXhjZXB0aW9uQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCUJDNjBEOTBDMEQyQTE3Q0UwMEI5OTE4RiAvKiBFdmVudEV4Y2VwdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2MEQ5
MDkwRDJBMTdDRTAwQjk5MThGIC8qIEV2ZW50RXhjZXB0aW9uLmggKi87IH07CiAJCUJDNjBEQTVC
MEQyQTMxRjcwMEI5OTE4RiAvKiBYUGF0aEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2MERBNTkwRDJBMzFGNzAwQjk5MThGIC8qIFhQ
YXRoRXhjZXB0aW9uLmggKi87IH07CiAJCUJDNjBEQjQ5MEQyQTNEMUUwMEI5OTE4RiAvKiBKU1hQ
YXRoRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDNjBEQjQ3MEQyQTNEMUUwMEI5OTE4RiAvKiBKU1hQYXRoRXhjZXB0aW9uLmNwcCAq
LzsgfTsKIAkJQkM2MERCNEEwRDJBM0QxRTAwQjk5MThGIC8qIEpTWFBhdGhFeGNlcHRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNjBEQjQ4MEQy
QTNEMUUwMEI5OTE4RiAvKiBKU1hQYXRoRXhjZXB0aW9uLmggKi87IH07CkBAIC04MTQyLDcgKzgx
MzksNiBAQAogCQkxQURBNEExQjFEMjJGMkMwMDA1QTlBMTUgLyogUGF5bWVudE1lcmNoYW50U2Vz
c2lvbkNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGF5
bWVudE1lcmNoYW50U2Vzc2lvbkNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQUUwMEQ1NzE4MkRBQzhEMDAwODdERDcgLyogS2V5ZWRDb2RpbmcuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gS2V5ZWRDb2RpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUFFMkE5RjAwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxBcmVhRWxlbWVudC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxBcmVhRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTFBRTJBOUYxMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MQmFzZUZv
bnRFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEJhc2VGb250RWxlbWVu
dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRTJBOUYyMEExQ0RBNTcwMEI0
MkIyNSAvKiBIVE1MQm9keUVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1M
Qm9keUVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUUyQTlGMzBB
MUNEQTU3MDBCNDJCMjUgLyogSFRNTEJSRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEhUTUxCUkVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUUy
QTlGNDBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEhUTUxGaWVsZFNldEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTIwNjUsOCArMTIwNjEsNiBAQAogCQlBOERGM0ZDNzA5N0ZBMEZCMDA1
Mjk4MUIgLyogSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThERjNGQzgwOTdGQTBGQjAwNTI5ODFCIC8qIEhU
TUxDb2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MQ29s
bGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOERGM0ZDOTA5N0ZBMEZC
MDA1Mjk4MUIgLyogSFRNTENvbGxlY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEhUTUxDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJQThERjNGQ0EwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxCYXNlRm9udEVsZW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQThERjNGQ0IwOTdGQTBGQjAwNTI5ODFCIC8q
IEhUTUxCYXNlRm9udEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEhUTUxCYXNlRm9udEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBOERGM0ZDQzA5N0ZBMEZCMDA1Mjk4MUIgLyogSFRNTE5hbWVDb2xsZWN0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MTmFtZUNvbGxlY3Rpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThERjNGQ0QwOTdGQTBGQjAwNTI5ODFCIC8qIEhU
TUxOYW1lQ29sbGVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSFRNTE5hbWVDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QThERjRBREUwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRhYmxlQ29sLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUYWJsZUNvbC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzIzOCw4ICsxMzIzMiw2IEBACiAJCUJDNjBEN0JGMEQy
OUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNlcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNET01Db3JlRXhjZXB0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDNjBEOEYwMEQyQTExRTAwMEI5OTE4RiAvKiBFeGNlcHRpb25CYXNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV4Y2VwdGlvbkJhc2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzYwRDhGMTBEMkExMUUwMDBCOTkxOEYgLyog
RXhjZXB0aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeGNlcHRp
b25CYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDNjBEOTA5MEQyQTE3Q0Uw
MEI5OTE4RiAvKiBFdmVudEV4Y2VwdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBFdmVudEV4Y2VwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzYw
RDkwQTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24uaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEV2ZW50RXhjZXB0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkM2MERBNTkwRDJBMzFGNzAwQjk5MThGIC8qIFhQYXRoRXhjZXB0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhQYXRoRXhjZXB0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDNjBEQTVBMEQyQTMxRjcwMEI5OTE4RiAvKiBYUGF0aEV4Y2VwdGlv
bi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWFBhdGhFeGNlcHRpb24uaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQzYwREI0NzBEMkEzRDFFMDBCOTkxOEYgLyogSlNYUGF0
aEV4Y2VwdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1hQ
YXRoRXhjZXB0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4Nzg2LDkg
KzE4Nzc4LDYgQEAKIAkJCQlBODcxREMxRTBBMTUyMDU3MDBCMTJBNjggLyogSFRNTEJhc2VFbGVt
ZW50LmNwcCAqLywKIAkJCQlBODcxREMxMzBBMTUyMDU3MDBCMTJBNjggLyogSFRNTEJhc2VFbGVt
ZW50LmggKi8sCiAJCQkJQTgwRTdBQUYwQTE5RDFGMTAwN0ZCOEM1IC8qIEhUTUxCYXNlRWxlbWVu
dC5pZGwgKi8sCi0JCQkJQThERjNGQ0IwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVs
ZW1lbnQuY3BwICovLAotCQkJCUE4REYzRkNBMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZv
bnRFbGVtZW50LmggKi8sCi0JCQkJMUFFMkE5RjEwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxCYXNl
Rm9udEVsZW1lbnQuaWRsICovLAogCQkJCTlCMjRERThDMTUxOTRCOTUwMEM1OUMyNyAvKiBIVE1M
QkRJRWxlbWVudC5oICovLAogCQkJCUE4NzFERTFEMEExNTJBQzgwMEIxMkE2OCAvKiBIVE1MQm9k
eUVsZW1lbnQuY3BwICovLAogCQkJCUE4NzFERTIwMEExNTJBQzgwMEIxMkE2OCAvKiBIVE1MQm9k
eUVsZW1lbnQuaCAqLywKQEAgLTI0MDE3LDggKzI0MDA2LDYgQEAKIAkJCQk0MTM4RDMzMzEyNDQw
NTQ4MDAzMjNEMzMgLyogRXZlbnRDb250ZXh0LmggKi8sCiAJCQkJNDE4QTA2Q0YxMzNDMDRENTAw
Q0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5jcHAgKi8sCiAJCQkJNDE4QTA2Q0UxMzNDMDRENTAw
Q0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oICovLAotCQkJCUJDNjBEOTA5MEQyQTE3Q0UwMEI5
OTE4RiAvKiBFdmVudEV4Y2VwdGlvbi5oICovLAotCQkJCUJDNjBEOTBBMEQyQTE3Q0UwMEI5OTE4
RiAvKiBFdmVudEV4Y2VwdGlvbi5pZGwgKi8sCiAJCQkJOTM1RkJDNDQwOUJBMDBCOTAwRTIzMEIx
IC8qIEV2ZW50TGlzdGVuZXIuaCAqLywKIAkJCQk4NUFGQTc0MTBBQUYyOTg0MDBFODQzMDUgLyog
RXZlbnRMaXN0ZW5lci5pZGwgKi8sCiAJCQkJQUQ0NDk1RjExNDFGQzA4OTAwNTQxRURGIC8qIEV2
ZW50TGlzdGVuZXJNYXAuY3BwICovLApAQCAtMjU1MjYsNyArMjU1MTMsNiBAQAogCQkJCTg1MDMx
QjQyMEE0NEVGQzcwMEY5OTJFMCAvKiBFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEzOEQz
MzUxMjQ0MDU0ODAwMzIzRDMzIC8qIEV2ZW50Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJQkM2MEQ5MEMwRDJBMTdDRTAwQjk5MThGIC8qIEV2ZW50RXhjZXB0aW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5M0MwOUE1MzBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRIYW5kbGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzBCNzJBNjE0NTAwOEVCMDBGMDBBMzcgLyogRXZlbnRI
ZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzBCNzI4QTE0NEZGQUM2MDBGMDBBMzcgLyog
RXZlbnRJbnRlcmZhY2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTI1NzM0LDcgKzI1NzIwLDYgQEAK
IAkJCQk3QzVGMjhGQzFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2MTNBMjBDRDYzMzEwMDBGQURBNzUgLyogSFRNTEF1ZGlv
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MURDMUYwQTE1MjA1NzAwQjEyQTY4IC8q
IEhUTUxCYXNlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThERjNGRDIwOTdGQTBGQzAw
NTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCMjRE
RThFMTUxOTRCOTUwMEM1OUMyNyAvKiBIVE1MQkRJRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTg3MURFMkMwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxCb2R5RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQThDRkY3QUEwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxCUkVsZW1lbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjk0NzUsNyArMjk0NjAsNiBAQAogCQkJCTdDNUYyOEZCMUE4MjdE
ODQwMEMwRjMxRiAvKiBIVE1MQXR0YWNobWVudEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTQ0NjEzQTEwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxBdWRpb0VsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTg3MURDMkEwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBOERGM0ZEMzA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRN
TEJhc2VGb250RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcxREUyOTBBMTUyQUM4
MDBCMTJBNjggLyogSFRNTEJvZHlFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4Q0ZG
N0E4MEExNTY5NzgwMDBBNDIzNCAvKiBIVE1MQlJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4MTM2OUQzMDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MQnV0dG9uRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
RG9jdW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTURvY3VtZW50Lm1t
CmluZGV4IDdmNjYwNDg5ZGJkY2ZmMzdjYWJmMTU4ZjZiODlkZmRjYWIxNGMzNGYuLjZjNjQxZTI0
MWQzNmI4NWUwNDVkZTdlZGNlNThkZThhYzEzY2YxMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NRG9jdW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01Eb2N1bWVudC5tbQpAQCAtNjcxLDE0ICs2NzEsMTIgQEAKIAogLSAoQk9P
TClleGVjQ29tbWFuZDooTlNTdHJpbmcgKiljb21tYW5kIHVzZXJJbnRlcmZhY2U6KEJPT0wpdXNl
ckludGVyZmFjZQogewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsK
LSAgICByZXR1cm4gSU1QTC0+ZXhlY0NvbW1hbmQoY29tbWFuZCwgdXNlckludGVyZmFjZSk7Cisg
ICAgcmV0dXJuIFtzZWxmIGV4ZWNDb21tYW5kOmNvbW1hbmQgdXNlckludGVyZmFjZTp1c2VySW50
ZXJmYWNlIHZhbHVlOm51bGxwdHJdOwogfQogCiAtIChCT09MKWV4ZWNDb21tYW5kOihOU1N0cmlu
ZyAqKWNvbW1hbmQKIHsKLSAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7
Ci0gICAgcmV0dXJuIElNUEwtPmV4ZWNDb21tYW5kKGNvbW1hbmQpOworICAgIHJldHVybiBbc2Vs
ZiBleGVjQ29tbWFuZDpjb21tYW5kIHVzZXJJbnRlcmZhY2U6Tk8gdmFsdWU6bnVsbHB0cl07CiB9
CiAKIC0gKEJPT0wpcXVlcnlDb21tYW5kRW5hYmxlZDooTlNTdHJpbmcgKiljb21tYW5kCkBAIC03
NDgsMTEgKzc0Niw3IEBACiAKIC0gKERPTUNTU1J1bGVMaXN0ICopZ2V0TWF0Y2hlZENTU1J1bGVz
OihET01FbGVtZW50ICopZWxlbWVudCBwc2V1ZG9FbGVtZW50OihOU1N0cmluZyAqKXBzZXVkb0Vs
ZW1lbnQKIHsKLSAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAg
V2ViQ29yZTo6RE9NV2luZG93KiBkdiA9IElNUEwtPmRlZmF1bHRWaWV3KCk7Ci0gICAgaWYgKCFk
dikKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAgICByZXR1cm4ga2l0KFdURjo6Z2V0UHRyKGR2LT5n
ZXRNYXRjaGVkQ1NTUnVsZXMoY29yZShlbGVtZW50KSwgcHNldWRvRWxlbWVudCkpKTsKKyAgICBy
ZXR1cm4gW3NlbGYgZ2V0TWF0Y2hlZENTU1J1bGVzOmVsZW1lbnQgcHNldWRvRWxlbWVudDpwc2V1
ZG9FbGVtZW50IGF1dGhvck9ubHk6WUVTXTsKIH0KIAogLSAoRE9NQ1NTUnVsZUxpc3QgKilnZXRN
YXRjaGVkQ1NTUnVsZXM6KERPTUVsZW1lbnQgKillbGVtZW50IHBzZXVkb0VsZW1lbnQ6KE5TU3Ry
aW5nICopcHNldWRvRWxlbWVudCBhdXRob3JPbmx5OihCT09MKWF1dGhvck9ubHkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTEJhc2VGb250RWxlbWVudC5t
bSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTEJhc2VGb250RWxlbWVudC5t
bQppbmRleCBhZTE2OWQ0OTY3YzI3ZjdiMDY1ZWY1NDYxZmMyNjc0ZTg4YTdkOThmLi42YzRjNWVi
ZWYzMDI1MWZlNGY0NjY3NTEzYTczODBiNmEzMTgxNzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxCYXNlRm9udEVsZW1lbnQubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQmFzZUZvbnRFbGVtZW50Lm1tCkBAIC0yOCwx
NSArMjgsMTUgQEAKIAogI2ltcG9ydCAiRE9NTm9kZUludGVybmFsLmgiCiAjaW1wb3J0ICJFeGNl
cHRpb25IYW5kbGVycy5oIgotI2ltcG9ydCAiSFRNTEJhc2VGb250RWxlbWVudC5oIgogI2ltcG9y
dCAiSFRNTE5hbWVzLmgiCisjaW1wb3J0ICJIVE1MVW5rbm93bkVsZW1lbnQuaCIKICNpbXBvcnQg
IkpTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIgogI2ltcG9ydCAiVGhyZWFkQ2hlY2suaCIKICNpbXBv
cnQgIlVSTC5oIgogI2ltcG9ydCAiV2ViU2NyaXB0T2JqZWN0UHJpdmF0ZS5oIgogI2ltcG9ydCA8
d3RmL0dldFB0ci5oPgogCi0jZGVmaW5lIElNUEwgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6SFRNTEJh
c2VGb250RWxlbWVudCo+KHJlaW50ZXJwcmV0X2Nhc3Q8V2ViQ29yZTo6Tm9kZSo+KF9pbnRlcm5h
bCkpCisjZGVmaW5lIElNUEwgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6SFRNTFVua25vd25FbGVtZW50
Kj4ocmVpbnRlcnByZXRfY2FzdDxXZWJDb3JlOjpOb2RlKj4oX2ludGVybmFsKSkKIAogQGltcGxl
bWVudGF0aW9uIERPTUhUTUxCYXNlRm9udEVsZW1lbnQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL29iamMvRE9NSFRNTENvbGxlY3Rpb24ubW0KaW5kZXggOTYzNDY3MDcxOWFkMjc5
YjVmOGYzYTRjNDQxY2IyZTQ1ZmMxMmQyNC4uMTAxZGQ1YzJkODc3ZTQzMWNiMTVjODYyYjBmMzY3
M2ZkNzQwZWI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01I
VE1MQ29sbGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhU
TUxDb2xsZWN0aW9uLm1tCkBAIC03NSw4ICs3NSwxMSBAQAogCiAtIChET01Ob2RlTGlzdCAqKXRh
Z3M6KE5TU3RyaW5nICopbmFtZQogeworICAgIGlmICghbmFtZSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAg
cmV0dXJuIGtpdChXVEY6OmdldFB0cihJTVBMLT50YWdzKG5hbWUpKSk7CisgICAgcmV0dXJuIGtp
dChzdGF0aWNfY2FzdDxXZWJDb3JlOjpOb2RlTGlzdCo+KFdURjo6Z2V0UHRyKElNUEwtPm93bmVy
Tm9kZSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKG5hbWUpKSkpOwogfQogCiBAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVdoZWVsRXZlbnQubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVdoZWVsRXZlbnQubW0KaW5kZXggNDY2NzZlZjdh
ZTVlMTVmNmM2MTVhODY3YmI1M2JlZDI3ZDNjZmJkNy4uMjc3MWRlYTkyOWNiM2IyZmU1NDBkYzU0
YWRkNjFjODI4Y2Q2YjRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01XaGVlbEV2ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
V2hlZWxFdmVudC5tbQpAQCAtOTEsOCArOTEsNyBAQAogCiAtIChCT09MKWlzSG9yaXpvbnRhbAog
ewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4g
SU1QTC0+aXNIb3Jpem9udGFsKCk7CisgICAgcmV0dXJuICEhc2VsZi53aGVlbERlbHRhWDsKIH0K
IAogLSAodm9pZClpbml0V2hlZWxFdmVudDooaW50KWluV2hlZWxEZWx0YVggd2hlZWxEZWx0YVk6
KGludClpbldoZWVsRGVsdGFZIHZpZXc6KERPTUFic3RyYWN0VmlldyAqKXZpZXcgc2NyZWVuWDoo
aW50KXNjcmVlblggc2NyZWVuWTooaW50KXNjcmVlblkgY2xpZW50WDooaW50KWNsaWVudFggY2xp
ZW50WTooaW50KWNsaWVudFkgY3RybEtleTooQk9PTCljdHJsS2V5IGFsdEtleTooQk9PTClhbHRL
ZXkgc2hpZnRLZXk6KEJPT0wpc2hpZnRLZXkgbWV0YUtleTooQk9PTCltZXRhS2V5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUkdCQ29sb3IuaWRsIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1JHQkNvbG9yLmlkbAppbmRleCAxNjc0NGY0MjVjZmNiMTg4NDJlMDBlYjlmMjBmNjIwNGZkMzM2
YjliLi5iOTNkY2IxMDgzNDQ4NDg3ZjI5NGEyZjg3MWIyNzY0OTEyZDk2ZjAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvUkdCQ29sb3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9SR0JDb2xvci5pZGwKQEAgLTMwLDggKzMwLDUgQEAKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9K
QVZBU0NSSVBUKSB8fCAhTEFOR1VBR0VfSkFWQVNDUklQVAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBDU1NQcmltaXRpdmVWYWx1ZSAgYWxwaGE7CiAjZW5kaWYKLSNpZiBkZWZpbmVkKExBTkdVQUdF
X09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBDb2xvciAgICAgICAgICAgICAgY29sb3I7Ci0jZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmlk
bAppbmRleCAxOTAxYTM3NzM4MDlmOTMwZDg1OGU2MjhkOThiZmZiNmNmODIyZmUzLi43YTM5ZGZl
MjZjNzBmYjkyNzJkZDQyZTg2YTc5NWFhZTNhZmZlMzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQXR0ci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaWRsCkBAIC0z
OSwxMCArMzksNSBAQAogICAgIC8vIERPTSBMZXZlbCAzCiAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgYm9vbGVhbiBpc0lkOwotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYg
TEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBUaGlzIGV4dGVuc2lvbiBpcyBubyBsb25nZXIg
bmVlZGVkLCBidXQgaXQgaGFzIHRvIHJlbWFpbiBhdmFpbGFibGUgaW4gT2JqZWN0aXZlIEMsIGFz
IGl0J3MgcHVibGljIEFQSS4KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJh
dGlvbiBzdHlsZTsKLSNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RPTUltcGxlbWVudGF0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRh
dGlvbi5pZGwKaW5kZXggOWMyYTkwZTMyNmEwYmJhNTM4YTExYzNiZTFhOGNlZGJlZjFiYjAyZC4u
ODVkODE0NTIyODZiMjUxYWJlNTI1MDBkOTliNTRiMzA4YjA2NzY1MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCkBAIC0zNCw3ICszNCw3IEBACiAgICAgW09iakNM
ZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIERvY3Vt
ZW50VHlwZSBjcmVhdGVEb2N1bWVudFR5cGUoRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIERPTVN0
cmluZyBwdWJsaWNJZCwgRE9NU3RyaW5nIHN5c3RlbUlkKTsKIAogICAgIFtOZXdPYmplY3QsIE9i
akNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhjZXB0aW9uXQotI2lmIGRlZmluZWQo
TEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQo
TEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VB
R0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgICAgICBEb2N1bWVudAogI2Vsc2UK
ICAgICAgICAgWE1MRG9jdW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNWU2NjI0ZjA2NzRj
NjMxM2JkZmFjYjJjMWM2N2NjNGFjMjFmM2RlMS4uNTc4ZWUwZjY1ZTkzZDY1NmNhOWYyMjhlMDU5
NDJhODhlNDU0ZWQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTk4LDcgKzk4LDYgQEAgY2xh
c3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOwogY2xhc3MgRG9jdW1lbnRQYXJzZXI7CiBjbGFz
cyBEb2N1bWVudFNoYXJlZE9iamVjdFBvb2w7CiBjbGFzcyBEb2N1bWVudFR5cGU7Ci1jbGFzcyBF
bnRpdHlSZWZlcmVuY2U7CiBjbGFzcyBFeHRlbnNpb25TdHlsZVNoZWV0czsKIGNsYXNzIEZsb2F0
UmVjdDsKIGNsYXNzIEZsb2F0UXVhZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCmluZGV4IDhkOWY3
MjhkNTQ1NWJkNzI0YmJkODUwN2MxNDkwN2ExOWMzZTNmYzYuLjQwZTAyY2FmNTk5YzlhZDY5OTMz
NDc3YWI0MzA1OWUwZDI4ZTRkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbApAQCAtMTMxLDEy
ICsxMzEsNiBAQAogICAgIC8vIEZJWE1FOiBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGxhc3Qg
cGFyYW1ldGVyIHNob3VsZCBiZSB0aGUgZW1wdHkgc3RyaW5nLgogICAgIGJvb2xlYW4gZXhlY0Nv
bW1hbmQoRE9NU3RyaW5nIGNvbW1hbmQsIG9wdGlvbmFsIGJvb2xlYW4gdXNlckludGVyZmFjZSA9
IGZhbHNlLCBvcHRpb25hbCBET01TdHJpbmc/IHZhbHVlID0gbnVsbCk7CiAKLSNpZiBkZWZpbmVk
KExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIEZJ
WE1FOiByZW1vdmUgdGhlIHRoZXNlIHR3byB2ZXJzaW9ucyBvbmNlIG9wdGlvbmFsIGlzIGltcGxl
bWVudGVkIGZvciBPYmplY3RpdmUtQy4KLSAgICBib29sZWFuIGV4ZWNDb21tYW5kKERPTVN0cmlu
ZyBjb21tYW5kLCBib29sZWFuIHVzZXJJbnRlcmZhY2UpOwotICAgIGJvb2xlYW4gZXhlY0NvbW1h
bmQoRE9NU3RyaW5nIGNvbW1hbmQpOwotI2VuZGlmCi0KICAgICBib29sZWFuIHF1ZXJ5Q29tbWFu
ZEVuYWJsZWQoRE9NU3RyaW5nIGNvbW1hbmQpOwogICAgIGJvb2xlYW4gcXVlcnlDb21tYW5kSW5k
ZXRlcm0oRE9NU3RyaW5nIGNvbW1hbmQpOwogICAgIGJvb2xlYW4gcXVlcnlDb21tYW5kU3RhdGUo
RE9NU3RyaW5nIGNvbW1hbmQpOwpAQCAtMTc2LDcgKzE3MCw3IEBACiAKICAgICAvLyBJRSBleHRl
bnNpb25zCiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9P
QkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpF
Q1QKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAg
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoYXJzZXQ7CiAjZWxzZQogICAgIFtJbXBsZW1lbnRlZEFz
PWNoYXJhY3RlclNldFdpdGhVVEY4RmFsbGJhY2tdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgY2hhcnNldDsKQEAgLTIwMSwyMCArMTk1LDYgQEAKICAgICBDU1NTdHlsZURlY2xhcmF0aW9u
IGNyZWF0ZUNTU1N0eWxlRGVjbGFyYXRpb24oKTsKICNlbmRpZgogCi0jaWYgZGVmaW5lZChMQU5H
VUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBET00gTGV2
ZWwgMiBTdHlsZSBJbnRlcmZhY2UKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBP
YmpDVXNlRGVmYXVsdFZpZXddIENTU1N0eWxlRGVjbGFyYXRpb24gZ2V0Q29tcHV0ZWRTdHlsZShF
bGVtZW50IGVsZW1lbnQsIERPTVN0cmluZyBwc2V1ZG9FbGVtZW50KTsKLQotICAgIC8vIFdlYktp
dCBleHRlbnNpb24KLSAgICAvLyBGSVhNRTogcmVtb3ZlIHRoZSBmaXJzdCB2ZXJzaW9uIG9uY2Ug
b3B0aW9uYWwgaXMgaW1wbGVtZW50ZWQgZm9yIE9iamVjdGl2ZS1DLgotICAgIFtPYmpDVXNlRGVm
YXVsdFZpZXddIENTU1J1bGVMaXN0IGdldE1hdGNoZWRDU1NSdWxlcyhFbGVtZW50PyBlbGVtZW50
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERPTVN0cmlu
ZyBwc2V1ZG9FbGVtZW50KTsKLSAgICBbT2JqQ1VzZURlZmF1bHRWaWV3XSBDU1NSdWxlTGlzdCBn
ZXRNYXRjaGVkQ1NTUnVsZXMoRWxlbWVudD8gZWxlbWVudCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBET01TdHJpbmcgcHNldWRvRWxlbWVudCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFu
IGF1dGhvck9ubHkpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAotI2VuZGlmCi0KICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0IGdldENTU0NhbnZhc0Nv
bnRleHQoRE9NU3RyaW5nIGNvbnRleHRJZCwgRE9NU3RyaW5nIG5hbWUsIGxvbmcgd2lkdGgsIGxv
bmcgaGVpZ2h0KTsKIAogICAgIC8vIEhUTUwgNQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCmluZGV4IDli
Y2EzOTZiNTUxMzkxYmFlNjc2MmQ3ZWJmNDFlZTA3OTZjZjUyN2EuLmMzODhkMzcwOWZlZDQwMzU2
ZGQ3NWJmNDNlZTBhZTY1ZTBiZWEyNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKQEAgLTg3LDcg
Kzg3LDcgQEAKIAogICAgIFtJbXBsZW1lbnRlZEFzPWJpbmRpbmdzT2Zmc2V0UGFyZW50XSByZWFk
b25seSBhdHRyaWJ1dGUgRWxlbWVudCBvZmZzZXRQYXJlbnQ7CiAKLSNpZiBkZWZpbmVkKExBTkdV
QUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExBTkdV
QUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0dP
QkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICB2b2lkIGZvY3VzKCk7CiAgICAgdm9pZCBi
bHVyKCk7CiAjZW5kaWYKQEAgLTEyNSwxMSArMTI1LDYgQEAKICAgICBDbGllbnRSZWN0IGdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVD
VElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVu
c2lvbnMKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlubmVyVGV4dDsKLSNlbmRp
ZgotCiAjaWYgZGVmaW5lZChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICYmIEVOQUJMRV9GVUxMU0NS
RUVOX0FQSQogICAgIC8vIE1vemlsbGEgdmVyc2lvbgogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IEFMTE9XX0tFWUJPQVJEX0lOUFVUID0gMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudEV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhZjA5NjQ2MGE5NjZmMzQ3ZGQ5MjBmOTAw
YTI4YzY5OWMxYTU5N2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw0NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVy
IHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAg
ICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpZm5kZWYgRXZlbnRFeGNlcHRpb25faAotI2RlZmluZSBFdmVudEV4Y2Vw
dGlvbl9oCi0KLSNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotY2xhc3MgRXZlbnRFeGNlcHRpb24gOiBwdWJsaWMgRXhjZXB0aW9uQmFzZSB7Ci1wcml2
YXRlOgotICAgIGV4cGxpY2l0IEV2ZW50RXhjZXB0aW9uKGNvbnN0IEV4Y2VwdGlvbkNvZGVEZXNj
cmlwdGlvbiYgZGVzY3JpcHRpb24pCi0gICAgICAgIDogRXhjZXB0aW9uQmFzZShkZXNjcmlwdGlv
bikKLSAgICB7Ci0gICAgfQotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYg
Ly8gRXZlbnRFeGNlcHRpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RXhjZXB0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2ZjJlMWViZDZkYjllMGU5Mjc5ZGIwNDk5MTRk
MTc4ZDY0ZjkwODcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbAorKysgL2Rldi9udWxsCkBA
IC0xLDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5h
bWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
LSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVD
VElWRV9DCi0KLS8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDI6Ci1bCi0gICAgTm9JbnRlcmZh
Y2VPYmplY3QsCi0gICAgRG9Ob3RDaGVja0NvbnN0YW50cywKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAotXSBleGNlcHRpb24gRXZlbnRFeGNlcHRpb24gewotCi0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAgY29kZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nICAgICAgICBuYW1lOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
ICAgICAgIG1lc3NhZ2U7Ci0KLSAgICAvLyBFdmVudEV4Y2VwdGlvbkNvZGUKLSAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBVTlNQRUNJRklFRF9FVkVOVF9UWVBFX0VSUiA9IDA7Ci0gICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgRElTUEFUQ0hfUkVRVUVTVF9FUlIgPSAxOwotfTsKLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwKaW5kZXggNzdkYzA2MWFlODIzNTBmODY3YTY4
OTViMGRjYWJkZjgxNDFiZmZjZS4uZDk0ZDA5Njc0ZDJhN2IxODhlZGNhNWU2Zjk1MDU0OWY5ZmI3
ZDBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmlkbApAQCAtODYsMzIgKzg2LDUg
QEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gc2hpZnRLZXkg
PSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gbWV0
YUtleSA9IGZhbHNlKTsKICNlbmRpZgotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVf
QykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBGb3IgYmFja3dhcmQgY29tcGF0aWJp
bGl0eS4KLSAgICB2b2lkIGluaXRLZXlib2FyZEV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBET01XaW5kb3c/IHZpZXcsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBET01TdHJpbmcga2V5SWRlbnRpZmll
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcga2V5
TG9jYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGN0
cmxLZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGFsdEtl
eSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gc2hpZnRLZXks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIG1ldGFLZXksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGFsdEdyYXBoS2V5KTsK
LQotICAgIHZvaWQgaW5pdEtleWJvYXJkRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbkJ1YmJsZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVdpbmRvdz8gdmlldywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVN0cmluZyBrZXlJZGVudGlmaWVyLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBrZXlMb2Nh
dGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY3RybEtl
eSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gYWx0S2V5LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBzaGlmdEtleSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gbWV0YUtleSk7Ci0jZW5k
aWYKLQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmNwcAppbmRleCA1MWI3ZmM1NWJi
ZjJhMWM3MmY4NWE2MDZlMjkzODgyZGQ4ZDc3NWUwLi5hM2ZlOGRkZmMzNzcyNWU4OGM2YjczZTg4
MWFlODc2Y2ZhODg5OWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmNwcApAQCAtMTky
LDI0ICsxOTIsNiBAQCBTZXJpYWxpemVkU2NyaXB0VmFsdWUqIE1lc3NhZ2VFdmVudDo6ZGF0YSgp
IGNvbnN0CiAgICAgcmV0dXJuIG1fZGF0YUFzU2VyaWFsaXplZFNjcmlwdFZhbHVlLmdldCgpOwog
fQogCi1NZXNzYWdlUG9ydCogTWVzc2FnZUV2ZW50OjptZXNzYWdlUG9ydCgpCi17Ci0gICAgaWYg
KCFtX3BvcnRzKQotICAgICAgICByZXR1cm4gMDsKLSAgICBBU1NFUlQobV9wb3J0cy0+c2l6ZSgp
ID09IDEpOwotICAgIHJldHVybiAoKm1fcG9ydHMpWzBdLmdldCgpOwotfQotCi12b2lkIE1lc3Nh
Z2VFdmVudDo6aW5pdE1lc3NhZ2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wg
Y2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiBkYXRhLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJ
ZCwgRE9NV2luZG93KiBzb3VyY2UsIE1lc3NhZ2VQb3J0KiBwb3J0KQotewotICAgIHN0ZDo6dW5p
cXVlX3B0cjxNZXNzYWdlUG9ydEFycmF5PiBwb3J0czsKLSAgICBpZiAocG9ydCkgewotICAgICAg
ICBwb3J0cyA9IHN0ZDo6bWFrZV91bmlxdWU8TWVzc2FnZVBvcnRBcnJheT4oKTsKLSAgICAgICAg
cG9ydHMtPmFwcGVuZChwb3J0KTsKLSAgICB9Ci0gICAgaW5pdE1lc3NhZ2VFdmVudCh0eXBlLCBj
YW5CdWJibGUsIGNhbmNlbGFibGUsIGRhdGEsIG9yaWdpbiwgbGFzdEV2ZW50SWQsIHNvdXJjZSwg
V1RGTW92ZShwb3J0cykpOwotfQotCiBFdmVudEludGVyZmFjZSBNZXNzYWdlRXZlbnQ6OmV2ZW50
SW50ZXJmYWNlKCkgY29uc3QKIHsKICAgICByZXR1cm4gTWVzc2FnZUV2ZW50SW50ZXJmYWNlVHlw
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaAppbmRleCAwY2NlYWY0ODhhN2NiM2UxM2JiODgz
ZDJhNTJiOTdmMDlhODdmMDMxLi5iZmM2ODAyNWE0YjRlZDJlOWMyYTg1NzlkZWI1NWEyZDc2NGQ1
MTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5oCkBAIC02NiwxMCArNjYsNiBAQCBwdWJs
aWM6CiAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gd2UgaGF2ZSBjdXN0b20gT2JqQyBi
aW5kaW5nIHN1cHBvcnQuCiAgICAgU2VyaWFsaXplZFNjcmlwdFZhbHVlKiBkYXRhKCkgY29uc3Q7
CiAKLSAgICAvLyBOZWVkZWQgZm9yIE9iamVjdGl2ZS1DIGJpbmRpbmdzIChzZWUgYnVnIDI4Nzc0
KS4KLSAgICBNZXNzYWdlUG9ydCogbWVzc2FnZVBvcnQoKTsKLSAgICB2b2lkIGluaXRNZXNzYWdl
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5j
ZWxhYmxlLCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgY29uc3QgU3Ry
aW5nJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbGFzdEV2ZW50SWQsIERPTVdpbmRvdyogc291cmNl
LCBNZXNzYWdlUG9ydCopOwotCiAgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBj
b25zdCBvdmVycmlkZTsKIAogICAgIGVudW0gRGF0YVR5cGUgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydC5jcHAKaW5kZXggYTFmNzBmZGZmNDIzMGM2MDViZGIxM2FlZjk4NmJlZmM5YWJkMjY5Zi4u
NzlhODBlZDM0MDk4Y2Y3OGRkZDk2NGMyYWNjN2NiNmRjZTc0NDY2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
TWVzc2FnZVBvcnQuY3BwCkBAIC01MywxNCArNTMsNiBAQCBNZXNzYWdlUG9ydDo6fk1lc3NhZ2VQ
b3J0KCkKICAgICAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5kZXN0cm95ZWRNZXNzYWdl
UG9ydCgqdGhpcyk7CiB9CiAKLXZvaWQgTWVzc2FnZVBvcnQ6OnBvc3RNZXNzYWdlKFJlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgTWVzc2FnZVBvcnQqIHBvcnQsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQotewotICAgIE1lc3NhZ2VQb3J0QXJyYXkgcG9ydHM7Ci0gICAgaWYgKHBv
cnQpCi0gICAgICAgIHBvcnRzLmFwcGVuZChwb3J0KTsKLSAgICBwb3N0TWVzc2FnZShXVEZNb3Zl
KG1lc3NhZ2UpLCAmcG9ydHMsIGVjKTsKLX0KLQogdm9pZCBNZXNzYWdlUG9ydDo6cG9zdE1lc3Nh
Z2UoUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBjb25zdCBNZXNzYWdl
UG9ydEFycmF5KiBwb3J0cywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKCFpc0VudGFu
Z2xlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaAppbmRleCA2MzE4YWE0MTBhYmVkMjA1Yzcz
ODMzYTFlNmZmMDVlZDkzNzYzZDQ4Li43Njc3MDE4ZTExYzliYmJmODk1MzJiNGVmNmM1YzMwODVj
NDBmOWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaApAQCAtNTEsOCArNTEsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgfk1lc3NhZ2VQb3J0KCk7CiAKICAgICAg
ICAgdm9pZCBwb3N0TWVzc2FnZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3Nh
Z2UsIGNvbnN0IE1lc3NhZ2VQb3J0QXJyYXkqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgICAgIC8v
IE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3MgKHNlZSBidWcgMjg3NzQpLgotICAgICAg
ICB2b2lkIHBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2Fn
ZSwgTWVzc2FnZVBvcnQqLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICAgICAgdm9pZCBzdGFydCgp
OwogICAgICAgICB2b2lkIGNsb3NlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKaW5kZXggNDlhY2Y2M2Q4MmM1
ZWQ2Yjc1MzNmMTAyMzkyM2VkZmZhZjFhOTE2MC4uY2Y1YzNlNzljYTE0M2UxOGUzMmU3OWYxOTFj
NDc5Yjg4YTc5NmQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbApAQCAtMjUsMTMgKzI1LDcgQEAKICAgICBK
U0N1c3RvbUhlYWRlciwKICAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBKU0N1c3RvbVB1
c2hFdmVudEhhbmRsZXJTY29wZSwKLSAgICBPYmpDUG9seW1vcnBoaWMsCi1dIGludGVyZmFjZSBO
b2RlCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNU
SVZFX0MKLSAgICA6IE9iamVjdCwgRXZlbnRUYXJnZXQKLSNlbHNlCi0gICAgOiBFdmVudFRhcmdl
dAotI2VuZGlmCitdIGludGVyZmFjZSBOb2RlIDogRXZlbnRUYXJnZXQKICB7CiAgICAgLy8gTm9k
ZVR5cGUKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCAgICAgIEVMRU1FTlRfTk9ERSAgICAgICAg
ICAgICAgICAgICA9IDE7CkBAIC03NiwxOSArNzAsMTMgQEAKICAgICAvLyBJbnRyb2R1Y2VkIGlu
IERPTSBMZXZlbCAyOgogCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxB
TkdVQUdFX0pBVkFTQ1JJUFQKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBJbXBs
ZW1lbnRlZEFzPWlzU3VwcG9ydGVkRm9yQmluZGluZ3NdIGJvb2xlYW4gaXNTdXBwb3J0ZWQob3B0
aW9uYWwgRE9NU3RyaW5nIGZlYXR1cmUsIG9wdGlvbmFsIERPTVN0cmluZyB2ZXJzaW9uKTsKKyAg
ICBbSW1wbGVtZW50ZWRBcz1pc1N1cHBvcnRlZEZvckJpbmRpbmdzXSBib29sZWFuIGlzU3VwcG9y
dGVkKG9wdGlvbmFsIERPTVN0cmluZyBmZWF0dXJlLCBvcHRpb25hbCBET01TdHJpbmcgdmVyc2lv
bik7CiAjZW5kaWYKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/ICAgICAgICBu
YW1lc3BhY2VVUkk7CiAgICAgW1NldHRlclJhaXNlc0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0
cmluZz8gcHJlZml4OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/ICAgICAgICBs
b2NhbE5hbWU7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKQotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBOYW1lZE5vZGVNYXAgICAgIGF0dHJpYnV0ZXM7Ci0gICAgYm9vbGVhbiAg
ICAgICAgICAgIGhhc0F0dHJpYnV0ZXMoKTsKLSNlbmRpZgotCi0KICAgICAvLyBJbnRyb2R1Y2Vk
IGluIERPTSBMZXZlbCAzOgogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gICAg
ICAgYmFzZVVSSTsKQEAgLTEyMCwxMiArMTA4LDUgQEAKIAogICAgIC8vIElFIGV4dGVuc2lvbnMK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudCAgICAgICAgICBwYXJlbnRFbGVtZW50Owot
Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZF
X0MKLSAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNpb25zCi0gICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gICAgICAgICAgaXNDb250ZW50RWRpdGFibGU7Ci0KLSAgICB2b2lkIGluc3BlY3Qo
KTsKLSNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVGaWx0
ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVGaWx0ZXIuaWRsCmluZGV4IGZjNzAzOTdk
MjEwMmZhYjBhMjVkMTg1OTcyNTgwMmY5ZWM2NmRlNTQuLmYxYTNlZGU5MzY5ZTIzY2I0Y2JjNzY0
Y2Q5NTcyODJhNWM1NDFlOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlRmls
dGVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUZpbHRlci5pZGwKQEAgLTQzLDEw
ICs0Myw2IEBACiAgICAgY29uc3QgdW5zaWduZWQgbG9uZyAgICAgICBTSE9XX0RPQ1VNRU5UX0ZS
QUdNRU5UICAgICAgICAgPSAweDAwMDAwNDAwOwogICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgICAg
ICAgU0hPV19OT1RBVElPTiAgICAgICAgICAgICAgICAgID0gMHgwMDAwMDgwMDsKIAotI2lmIGRl
ZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAg
c2hvcnQgYWNjZXB0Tm9kZShvcHRpb25hbCBOb2RlIG4pOwotI2Vsc2UKICAgICBbQ3VzdG9tXSB1
bnNpZ25lZCBzaG9ydCBhY2NlcHROb2RlKG9wdGlvbmFsIE5vZGUgbm9kZSk7Ci0jZW5kaWYKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9PdmVyZmxvd0V2ZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9PdmVyZmxvd0V2ZW50LmlkbAppbmRleCBmNTMwYmY1OTYyZTdiOWIw
MTE4OWYyYjNkMzc5ZDY1OWRkYzljOGI5Li4wZGQ3OWMxYjE2MTg2NmVhNzg0MTAzYmM2Y2YzODAy
OGQxNDA3NWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaWRsCkBAIC0zMywxMSAr
MzMsNSBAQAogICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIHNob3J0IG9yaWVudDsKICAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29u
c3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGhvcml6b250YWxPdmVyZmxvdzsK
ICAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIHZlcnRpY2FsT3ZlcmZsb3c7Ci0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElW
RV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIHZvaWQgaW5pdE92ZXJmbG93RXZlbnQo
b3B0aW9uYWwgdW5zaWduZWQgc2hvcnQgb3JpZW50LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3B0aW9uYWwgYm9vbGVhbiBob3Jpem9udGFsT3ZlcmZsb3csCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIHZlcnRpY2FsT3ZlcmZsb3cpOwotI2VuZGlmCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuaAppbmRleCA3ODVhZGQ4ZTM1OTk3M2NlOGYyMGJmNzJj
NjBlZWE0ZWU0ZjE0M2E0Li4zMWJhYmEyZDBkOTJjZGJhNDk2MmQxZGU4ZDdkMGQxNGNhYjcxZGJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmgKQEAgLTg3LDggKzg3LDYgQEAgcHVibGljOgogICAg
IHVuc2lnbmVkIGRlbHRhTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVsdGFNb2RlOyB9CiAKICAg
ICBib29sIHdlYmtpdERpcmVjdGlvbkludmVydGVkRnJvbURldmljZSgpIGNvbnN0IHsgcmV0dXJu
IG1fd2hlZWxFdmVudC5kaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UoKTsgfQotICAgIC8vIE5l
ZWRlZCBmb3IgT2JqZWN0aXZlLUMgbGVnYWN5IHN1cHBvcnQKLSAgICBib29sIGlzSG9yaXpvbnRh
bCgpIGNvbnN0IHsgcmV0dXJuIG1fd2hlZWxEZWx0YS54KCk7IH0KIAogICAgIEV2ZW50SW50ZXJm
YWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2
ZW50LmlkbAppbmRleCAzZDM0MzljMjY4ZDE5NGVhMmNlZTQ0NTBjOTZhMGU0NjM0YWVmOTY1Li42
ZTE4ZjkwOWVhMmE3MzQyYWIxZGYyN2I0ZjhlNjg5YzkzNjRkMjAzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1do
ZWVsRXZlbnQuaWRsCkBAIC00MiwxMCArNDIsNiBAQAogICAgIC8vIFdlYktpdCBFeHRlbnNpb24K
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3ZWJraXREaXJlY3Rpb25JbnZlcnRlZEZy
b21EZXZpY2U7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFH
RV9PQkpFQ1RJVkVfQwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzSG9yaXpvbnRh
bDsKLSNlbmRpZiAvKiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAqLwotCiAjaWYgIWRl
ZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICB2
b2lkIGluaXRXaGVlbEV2ZW50KG9wdGlvbmFsIGxvbmcgd2hlZWxEZWx0YVgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICBvcHRpb25hbCBsb25nIHdoZWVsRGVsdGFZLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcAppbmRleCBkYWIwNTAwZmFkODhjNjU0YTViOTFjYmU1
ZDNkOWE3NDYyNzk4YjFiLi5mY2YzYWEwZWVhYzAzOTU0NDczZjliY2I0MGVjNTJiNDlhOGFiNzE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcApAQCAtNTksNCAr
NTksMTIgQEAgRWxlbWVudCogSFRNTEFsbENvbGxlY3Rpb246Om5hbWVkSXRlbVdpdGhJbmRleChj
b25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIHVuc2lnbmUKICAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IAorUmVmUHRyPE5vZGVMaXN0PiBIVE1MQWxsQ29sbGVjdGlvbjo6dGFncyhjb25zdCBTdHJpbmcm
IG5hbWUpCit7CisgICAgaWYgKG5hbWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgcmV0dXJuIG93bmVyTm9kZSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKG5hbWUpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbGxDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xs
ZWN0aW9uLmgKaW5kZXggYjYwMTFiNDk2MmRlMGM3NzczY2IzMWJlOTE2NmQzZTk4YjkwNGRjMC4u
MDg5YjcyYWNlYjEwZDJhYmRjMDI3YzdhY2RkY2Y2ZDYxMjM4ZmJlYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaApAQCAtMzUsNiArMzUsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxIVE1MQWxsQ29sbGVjdGlvbj4gY3JlYXRlKERvY3VtZW50JiwgQ29sbGVjdGlv
blR5cGUpOwogCiAgICAgRWxlbWVudCogbmFtZWRJdGVtV2l0aEluZGV4KGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSwgdW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAgIFJlZlB0cjxOb2RlTGlzdD4g
dGFncyhjb25zdCBTdHJpbmcmKTsKIAogICAgIC8vIEZvciBDYWNoZWRIVE1MQ29sbGVjdGlvbi4K
ICAgICBib29sIGVsZW1lbnRNYXRjaGVzKEVsZW1lbnQmKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCmluZGV4IGRlM2FhYjAw
ODQ0NmZkOTE4NTRiZGVlYzAyYmNjMDcwMGM5ZmI0OTIuLjMxMWE2ZDNjOWJhNmIxNDZmZTJkNmRi
NjE1NDllOTQ1NzMyN2MyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1l
bnQuaWRsCkBAIC0zNSwyNSArMzUsMTIgQEAgaW50ZXJmYWNlIEhUTUxBbmNob3JFbGVtZW50IDog
SFRNTEVsZW1lbnQgewogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhcmdldDsK
ICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwogCi0jaWYgZGVmaW5lZChM
QU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICBbUmVmbGVj
dF0gYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0jZW5kaWYKLQotI2lmIGRlZmluZWQo
TEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB0ZXh0OwotI2Vsc2UKICAgICBbU2V0dGVyUmFpc2VzRXhj
ZXB0aW9uXSAgYXR0cmlidXRlIERPTVN0cmluZyB0ZXh0OwotI2VuZGlmCiAKICNpZiBkZWZpbmVk
KExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICBbTm90RW51
bWVyYWJsZV0gRE9NU3RyaW5nIHRvU3RyaW5nKCk7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoTEFO
R1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gT2JqZWN0
aXZlLUMgZXh0ZW5zaW9uOgotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVMaW5r
VVJMOwotI2VuZGlmCi0KICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFF
bGVtZW50LmlkbAppbmRleCAzNjljOTAzZmNkYTQ4NzAwODU3OTE4ZTFiZjBkOGM0NGI1NGM0Mjgw
Li5iYmM2M2U5MjljODJkODRkOTYzZWJhM2ViZDJkNDZhZjNkOGU5OTc2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsCkBAIC0zMSwxNSArMzEsNiBAQCBpbnRlcmZhY2Ug
SFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHNoYXBlOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhcmdl
dDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVD
VElWRV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWNjZXNzS2V5OwotI2Vu
ZGlmCi0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpF
Q1RJVkVfQwotICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgVVJMIGFic29sdXRlTGlua1VSTDsKLSNlbmRpZgotCiAgICAgW1B1dEZvcndhcmRzPXZh
bHVlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHJlbExpc3Q7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmNwcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjJjMWFmZjU4ZTllZTM5MWFhN2NkYTZhOTQzYTVlMTg3Yzg3YzJiZS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzgg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUu
b3JnKQotICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUu
b3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA5LCAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJIVE1MQmFzZUZvbnRFbGVtZW50LmgiCi0KLSNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwot
Ci1IVE1MQmFzZUZvbnRFbGVtZW50OjpIVE1MQmFzZUZvbnRFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKLSAgICA6IEhUTUxFbGVtZW50KHRh
Z05hbWUsIGRvY3VtZW50KQotewotICAgIEFTU0VSVChoYXNUYWdOYW1lKGJhc2Vmb250VGFnKSk7
Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0ZmI2NmUwNzE1MWMxMTVlMGQwYzRmOTFlNTU2YWEw
ZGZmZjM3MTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmgKKysrIC9kZXYvbnVsbApA
QCAtMSwzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtu
b2xsQGtkZS5vcmcpCi0gKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZp
c3RvQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIw
MDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
Ci0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBIVE1M
QmFzZUZvbnRFbGVtZW50X2gKLSNkZWZpbmUgSFRNTEJhc2VGb250RWxlbWVudF9oCi0KLSNpbmNs
dWRlICJIVE1MRWxlbWVudC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIE9ubHkgdXNl
ZCBieSBPYmpDIGJpbmRpbmdzLgotY2xhc3MgSFRNTEJhc2VGb250RWxlbWVudCBmaW5hbCA6IHB1
YmxpYyBIVE1MRWxlbWVudCB7Ci1wcml2YXRlOgotICAgIEhUTUxCYXNlRm9udEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7Ci19OwotCi19IC8vIG5hbWVzcGFjZQotCi0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaWRsCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YzZkYTdmZTZkM2U4NTBhZTkzMjMyZTBhYTljMDgw
ODE1Y2UwMDc4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5pZGwKKysrIC9kZXYvbnVs
bApAQCAtMSwzMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA5LCAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JK
RUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0KLVsKLSAgICBOb0ludGVyZmFjZU9i
amVjdAotXSBpbnRlcmZhY2UgSFRNTEJhc2VGb250RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSAg
ICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBjb2xvcjsKLSAgICBbUmVmbGVjdF0gYXR0
cmlidXRlIERPTVN0cmluZyBmYWNlOwotICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHNpemU7IC8vIHRoaXMgY2hhbmdlZCB0byBhIGxvbmcsIGJ1dCBvdXIgZXhpc3RpbmcgQVBJIGlz
IGEgc3RyaW5nCi19OwotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEJ1dHRvbkVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxl
bWVudC5pZGwKaW5kZXggNzk2MmRlNjc4YWQyMmFjMWU1NmJkNTUxYTJiNzJmYmIzN2EzNzBkMC4u
YjM5MWQ2ZWFlN2RiN2Q3OWJjYzUyNDQ4NGMxYzM3Yjg0MmYyMzE4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwKQEAgLTQxLDExICs0MSw1IEBAIGludGVyZmFj
ZSBIVE1MQnV0dG9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBOb2RlTGlzdCBsYWJlbHM7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9D
KSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGFjY2Vzc0tleTsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVf
QykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAgICB2b2lkIGNsaWNrKCk7Ci0jZW5kaWYKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsCmluZGV4IDA4ZmMxMmEy
YzA0ZTA4Y2NlYTE2NWRmZjExMzhiZDM4NDMxYjFjYWMuLmJlYmEzOGRmMjI4OTkxYjY5NWRlYjAy
ODRiNTMyZTcwODkwZjBlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENh
bnZhc0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1l
bnQuaWRsCkBAIC0yOSw3ICsyOSw3IEBACiAgICAgUmVwb3J0RXh0cmFNZW1vcnlDb3N0LAogICAg
IFJlcG9ydEV4dGVybmFsTWVtb3J5Q29zdCwKIF0gaW50ZXJmYWNlIEhUTUxDYW52YXNFbGVtZW50
IDogSFRNTEVsZW1lbnQgewotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExB
TkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VB
R0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09C
SkVDVAogICAgIGF0dHJpYnV0ZSBsb25nIHdpZHRoOwogICAgIGF0dHJpYnV0ZSBsb25nIGhlaWdo
dDsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCmluZGV4IDZhMmYx
NWY2ZDA5MGRlNTk2OGZjOWM1YzllMmI3OWU5ZWVhY2Y0ZjYuLjkyOWY0ZTZmYTY3NmVlMDFjZDc4
YWQ5YWRhMTg3NDQ1ZjBkNDZhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENvbGxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24u
Y3BwCkBAIC0yMjgsMTIgKzIyOCw0IEBAIFZlY3RvcjxSZWY8RWxlbWVudD4+IEhUTUxDb2xsZWN0
aW9uOjpuYW1lZEl0ZW1zKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3QKICAgICByZXR1
cm4gZWxlbWVudHM7CiB9CiAKLVJlZlB0cjxOb2RlTGlzdD4gSFRNTENvbGxlY3Rpb246OnRhZ3Mo
Y29uc3QgU3RyaW5nJiBuYW1lKQotewotICAgIGlmIChuYW1lLmlzTnVsbCgpKQotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLQotICAgIHJldHVybiBvd25lck5vZGUoKS5nZXRFbGVtZW50c0J5VGFn
TmFtZShuYW1lKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQ29sbGVjdGlvbi5oCmluZGV4IGQxMmUzZDQ1ZWIyYThjZDZjZTI3Mjc4NzViZDIzZTkzNjkx
ZTAwNTEuLjU5NWI2NWQwNzYwZWUzYTU1Y2ZmZTc5YTY3NGM4NGRkOGYzYzVmODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmgKQEAgLTcwLDcgKzcwLDYgQEAgcHVibGljOgogICAg
IEVsZW1lbnQqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlID0gMDsgLy8gVGln
aHRlbiByZXR1cm4gdHlwZSBmcm9tIE5vZGVMaXN0OjppdGVtKCkuCiAgICAgdmlydHVhbCBFbGVt
ZW50KiBuYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKSBjb25zdCA9IDA7CiAgICAg
Y29uc3QgVmVjdG9yPEF0b21pY1N0cmluZz4mIHN1cHBvcnRlZFByb3BlcnR5TmFtZXMoKTsKLSAg
ICBSZWZQdHI8Tm9kZUxpc3Q+IHRhZ3MoY29uc3QgU3RyaW5nJik7CiAKICAgICAvLyBOb24tRE9N
IEFQSQogICAgIFZlY3RvcjxSZWY8RWxlbWVudD4+IG5hbWVkSXRlbXMoY29uc3QgQXRvbWljU3Ry
aW5nJiBuYW1lKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENv
bGxlY3Rpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGwKaW5k
ZXggNmZiM2FmOTc3MGJmOGZkODhjMTI3ZGFjYzBjN2JmMzkwN2I1NDJhMS4uNDVhYmEyMGE5ZTRj
ODVmMTNkN2RiY2U1YTU1ZWJiNjg1Y2M1ZTliOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQ29sbGVjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29s
bGVjdGlvbi5pZGwKQEAgLTI2LDE2ICsyNiwxMiBAQAogXSBpbnRlcmZhY2UgSFRNTENvbGxlY3Rp
b24gewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKIAotI2lm
IGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8
IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmlu
ZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgIGdldHRlciBOb2Rl
IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgZ2V0dGVyIE5vZGUgbmFtZWRJdGVtKERP
TVN0cmluZyBuYW1lKTsKICNlbHNlCiAgICAgZ2V0dGVyIEVsZW1lbnQ/IGl0ZW0odW5zaWduZWQg
bG9uZyBpbmRleCk7CiAgICAgZ2V0dGVyIEVsZW1lbnQ/IG5hbWVkSXRlbShET01TdHJpbmcgbmFt
ZSk7CiAjZW5kaWYKLQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdV
QUdFX09CSkVDVElWRV9DCi0gICAgTm9kZUxpc3QgdGFncyhvcHRpb25hbCBET01TdHJpbmcgbmFt
ZSk7Ci0jZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKaW5kZXggNmM2
Nzc2NDAxYmQzZTU5MmVkYzAzZjYyZWI2MjdhZTM5ZmI1ODYyYi4uY2M4MGFhNmFkZmI4ODQ0ZDI5
Mjc3NWU3NjkyYWJhMzQ2NGUwY2ViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwK
QEAgLTYwLDEyICs2MCw2IEBACiAgICAgdm9pZCBmb2N1cygpOwogICAgIHZvaWQgYmx1cigpOwog
I2VuZGlmCi0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9P
QkpFQ1RJVkVfQwotICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlkOwotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBjaGlsZHJlbjsKLSAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHRpdGxlRGlzcGxheVN0cmluZzsKLSNlbmRpZgogfTsKIAogSFRN
TEVsZW1lbnQgaW1wbGVtZW50cyBHbG9iYWxFdmVudEhhbmRsZXJzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwKaW5kZXggMmY1ODcwMTU4NmFhODE3NDdjZDA3
ZDM3MTlhYmNiNGI3NDUwMzI4YS4uODJjMTQwMjE1YWQ3ZjEwNDczMTkyMWVjOTUwNDg2MDRiMTMz
YzBmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsCkBA
IC0yNCw3ICsyNCw3IEBAIGludGVyZmFjZSBIVE1MRmllbGRTZXRFbGVtZW50IDogSFRNTEVsZW1l
bnQgewogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwogCi0jaWYgZGVm
aW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVm
aW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChM
QU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgW0ltcGxlbWVudGVkQXM9
ZWxlbWVudHNGb3JOYXRpdmVCaW5kaW5nc10gcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0
aW9uIGVsZW1lbnRzOwogI2Vsc2UKICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1Db250
cm9sc0NvbGxlY3Rpb24gZWxlbWVudHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5pZGwKaW5kZXggNDNjZTRiNTZmZjY4NWRlYjIyZTIzNTY0NmVmMDJkYWRmNTRmZmVjYy4uMjhl
ZTZmMGNmODk2ZTRmYWNmOWEzZDE5ZGRmNWM0NzE1MGE0OWU4MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmlkbApAQCAtMzQsNyArMzQsNyBAQAogICAgIFtSZWZsZWN0XSBh
dHRyaWJ1dGUgYm9vbGVhbiBub1ZhbGlkYXRlOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHRhcmdldDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExB
TkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VB
R0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09C
SkVDVAogICAgIFtJbXBsZW1lbnRlZEFzPWVsZW1lbnRzRm9yTmF0aXZlQmluZGluZ3NdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBlbGVtZW50czsKICNlbHNlCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uIGVsZW1lbnRzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEh5cGVybGlua0VsZW1lbnRVdGlscy5pZGwKaW5kZXgg
NzE4ZjYxN2UwNGNmM2U2MmI0NzIyMjA0ODZiYzcyM2E1NDg2NTk0MS4uM2JkYzkzM2RlMzZjNzYz
ZTBiNWUzZjMwNmY4ZjZiZjcxNGZiZTBmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxIeXBlcmxpbmtFbGVtZW50VXRpbHMuaWRsCkBAIC0yOSwxNSArMjksNiBAQAogICAgIFtS
ZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG9yaWdpbjsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZF
X0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBwcm90b2NvbDsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhvc3Q7Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBob3N0bmFtZTsKLSAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHBvcnQ7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBwYXRobmFtZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlYXJjaDsKLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhhc2g7Ci0jZWxzZQogICAgIGF0dHJpYnV0
ZSBET01TdHJpbmcgcHJvdG9jb2w7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsK
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBhc3N3b3JkOwpAQCAtNDcsNSArMzgsNCBAQAogICAg
IGF0dHJpYnV0ZSBET01TdHJpbmcgcGF0aG5hbWU7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBz
ZWFyY2g7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBoYXNoOwotI2VuZGlmCiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbAppbmRleCBkOWQwMmZhMjlmN2MzOWI4
N2I4MDMwNjZlNWZkMDc4NjMwYzE2MTBjLi43ZDg5NTRiZTRhM2M4M2I4ZGZkYjk1ZjdlODMwYjc1
N2VmYmZmZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbApA
QCAtMjcsNyArMjcsNyBAQCBpbnRlcmZhY2UgSFRNTElGcmFtZUVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CiAgICAgW1JlZmxlY3QsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG1hcmdpbldpZHRoOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5h
bWU7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpF
Q1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QK
KyNpZiBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBzYW5kYm94OwogI2Vsc2UKICAgICBbUHV0Rm9y
d2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3Qgc2FuZGJveDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCmluZGV4IDE3OTc1NTQ0ZDIzNGY1
NjcwYTliYTZmMDYxNGVhMjJmZTRkZjA5NzMuLmRhNTAzNjYxZDZjMmExNWE1YWQyMDQzNzRkZWQ3
M2YxZTE0NmZmNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbApA
QCAtNDEsMTYgKzQxLDEwIEBACiAKICAgICAvLyBFeHRlbnNpb25zCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gY29tcGxldGU7Ci0gICAgW1JlZmxlY3QsVVJMXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGxvd3NyYzsKKyAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxv
d3NyYzsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBuYXR1cmFsSGVpZ2h0OwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBsb25nIG5hdHVyYWxXaWR0aDsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgbG9uZyB4OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHk7Ci0KLSNpZiBkZWZpbmVk
KExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIE9i
amVjdGl2ZS1DIGV4dGVuc2lvbjoKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFs
dERpc3BsYXlTdHJpbmc7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUltYWdl
VVJMOwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmlk
bAppbmRleCA0MTY3ZWRkYTk0MzNiNTY5M2IzOTAzM2Y2ZDRhMzM3NTAyMGQyMmZkLi40MWIxNDM1
YWQ1MGMzZmU5ZWVkMzdlMjIwNDAyODRkYTQwMGI3MTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5pZGwKQEAgLTUyLDExICs1Miw3IEBACiAgICAgW1JlZmxlY3RdIGF0
dHJpYnV0ZSBET01TdHJpbmcgcGxhY2Vob2xkZXI7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBi
b29sZWFuIHJlYWRPbmx5OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiByZXF1aXJl
ZDsKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJ
VkVfQwotICAgIFtPYmpDSW1wbGVtZW50ZWRBc1Vuc2lnbmVkTG9uZ10gYXR0cmlidXRlIERPTVN0
cmluZyBzaXplOyAvLyBET00gbGV2ZWwgMiBjaGFuZ2VkIHRoaXMgdG8gYSBsb25nLCBidXQgT2Jq
QyBBUEkgaXMgYSBzdHJpbmcKLSNlbHNlCiAgICAgW1NldHRlclJhaXNlc0V4Y2VwdGlvbl0gYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsgLy8gQ2hhbmdlZCBzdHJpbmcgLT4gbG9uZyAtPiB1
bnNpZ25lZCBsb25nCi0jZW5kaWYKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHNyYzsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBzdGVwOwogICAgIGF0
dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsgLy8gcmVhZG9ubHkgZHJvcHBlZCBhcyBwYXJ0IG9mIERP
TSBsZXZlbCAyCkBAIC05MywzNSArODksMTcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgZW5kLAogICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgRE9NU3Ry
aW5nIHNlbGVjdGlvbk1vZGUpOwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykg
JiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICBbQ3VzdG9tXSB2b2lkIHNldFNlbGVjdGlvblJh
bmdlKGxvbmcgc3RhcnQsIGxvbmcgZW5kKTsKLSNlbHNlCiAgICAgW0N1c3RvbV0gdm9pZCBzZXRT
ZWxlY3Rpb25SYW5nZShsb25nIHN0YXJ0LCBsb25nIGVuZCwgb3B0aW9uYWwgRE9NU3RyaW5nIGRp
cmVjdGlvbik7Ci0jZW5kaWYKIAogICAgIC8vIE5vbi1zdGFuZGFyZCBhdHRyaWJ1dGVzCiAgICAg
W1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWxpZ247CiAgICAgW1JlZmxlY3RdIGF0dHJp
YnV0ZSBET01TdHJpbmcgdXNlTWFwOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBp
bmNyZW1lbnRhbDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdV
QUdFX09CSkVDVElWRV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWNjZXNz
S2V5OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5H
VUFHRV9PQkpFQ1RJVkVfQwotICAgIHZvaWQgY2xpY2soKTsKLSNlbmRpZgotCiAjaWYgIWRlZmlu
ZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICB2b2lk
IHNldFZhbHVlRm9yVXNlcihET01TdHJpbmcgdmFsdWUpOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVk
KExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIE9i
amVjdGl2ZS1DIGV4dGVuc2lvbjoKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFs
dERpc3BsYXlTdHJpbmc7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUltYWdl
VVJMOwotI2VuZGlmCi0KICAgICBbQ29uZGl0aW9uYWw9SU9TX0FVVE9DT1JSRUNUX0FORF9BVVRP
Q0FQSVRBTElaRV0gYXR0cmlidXRlIGJvb2xlYW4gYXV0b2NvcnJlY3Q7CiAKICAgICBbQ29uZGl0
aW9uYWw9SU9TX0FVVE9DT1JSRUNUX0FORF9BVVRPQ0FQSVRBTElaRSwgVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgYXV0b2NhcGl0YWxpemU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmlkbAppbmRleCA5MmU1ZjRiYTc2MWQ0NDFmM2ExZTc1
ZDcxNTEwYWU2ODRkODBkMDE5Li5mYTM3MzYwYjc3NWY3M2M2Zjc4Njc3ODUwNzVjZGU2NDQ3M2Zm
ZTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5pZGwKQEAgLTIyLDgg
KzIyLDUgQEAgaW50ZXJmYWNlIEhUTUxMYWJlbEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOwogICAgIFtSZWZsZWN0PWZv
cl0gYXR0cmlidXRlIERPTVN0cmluZyBodG1sRm9yOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBI
VE1MRWxlbWVudCBjb250cm9sOwotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYm
IExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcg
YWNjZXNzS2V5OwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxMZWdlbmRFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVs
ZW1lbnQuaWRsCmluZGV4IDc0OTc0NWU0YmRmYzU3MjdlYjVmMDUxN2JhM2U4NmM3YjVjYzVmYTgu
LmU4ZTg4NzE5YTJmZTFjYzhmZGI1OTg0MDJmMjBkM2JlOGMwZjViMWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuaWRsCkBAIC0yMSw4ICsyMSw1IEBACiBpbnRlcmZh
Y2UgSFRNTExlZ2VuZEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGFsaWduOwotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdF
X09CSkVDVElWRV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWNjZXNzS2V5
OwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5r
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwKaW5k
ZXggMzg4MjE3OTFlMTg1NThmMWYwZTRhOGM1MmNlNjBmY2U0ZmU2YmU0OC4uMzdiY2Y4YzE4MGJl
YWVmYjQwY2VmOTllODYyMTljMGY3NTdhOTRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmlkbApAQCAtMzAsOSArMzAsNyBAQAogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIG1lZGlhOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlbDsK
ICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyByZXY7Ci0jaWYgKGRlZmluZWQoTEFO
R1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgKGRlZmluZWQoTEFO
R1VBR0VfR09CSkVDVCkgfHwgTEFOR1VBR0VfR09CSkVDVCkKICAgICBbUHV0Rm9yd2FyZHM9dmFs
dWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3Qgc2l6ZXM7Ci0jZW5kaWYKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB0YXJnZXQ7CiAgICAgW1JlZmxlY3RdIGF0dHJp
YnV0ZSBET01TdHJpbmcgdHlwZTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBh
czsKQEAgLTQxLDExICszOSw2IEBACiAgICAgLy8gRE9NIExldmVsIDIgU3R5bGUKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgU3R5bGVTaGVldCBzaGVldDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0Vf
T0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gT2JqZWN0aXZlLUMg
ZXh0ZW5zaW9uOgotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVMaW5rVVJMOwot
I2VuZGlmCi0KICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01U
b2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaWRsCmluZGV4IDYxNjM2MmIyYWM2NWVlZjJiY2FjYzAyMTViNmEwOTQ4YjBmY2UwZTAuLmVm
ZTJkNjhjOTYwNTExYjI3YzQ0Y2FkNTcyYzkyYWViMzY3NDZjOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtNzUsMTEgKzc1LDcgQEAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBlbmRlZDsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xl
YW4gYXV0b3BsYXk7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGxvb3A7Ci0jaWYg
IWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpIHx8ICFMQU5HVUFHRV9PQkpFQ1RJVkVfQwot
ICAgIFByb21pc2UgcGxheSgpOwotI2Vsc2UKICAgICB2b2lkIHBsYXkoKTsKLSNlbmRpZgogICAg
IHZvaWQgcGF1c2UoKTsKICAgICB2b2lkIGZhc3RTZWVrKHVucmVzdHJpY3RlZCBkb3VibGUgdGlt
ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwKaW5kZXggYWYx
NTQ0N2E4ZTQyMjM0NjE1N2RkMTg5Y2IwZGUyNGU5Njc0NTc0MC4uMWYwZDJmN2ZiN2Y5NWZiMWM4
ODJmMjMyM2YwOGMwY2YyNTFmZWE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0
RWxlbWVudC5pZGwKQEAgLTUwLDEwICs1MCw1IEBACiAgICAgW0NoZWNrU2VjdXJpdHlGb3JOb2Rl
XSByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQgY29udGVudERvY3VtZW50OwogCiAgICAgW0No
ZWNrU2VjdXJpdHlGb3JOb2RlLCBSYWlzZXNFeGNlcHRpb25dIFNWR0RvY3VtZW50IGdldFNWR0Rv
Y3VtZW50KCk7Ci0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFH
RV9PQkpFQ1RJVkVfQwotICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlSW1hZ2VVUkw7Ci0jZW5kaWYKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbAppbmRleCBlZGM4ZDRkZTZk
MzFlYTE4NjVhMTNiOGIxNDZmZDYzMDMyMmI1OGIwLi4xMzE0ZTY2ZGM4MGUzMDJiNTdmNGJlMjli
NWI4MDNlNWE2MjkwNjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0Nv
bGxlY3Rpb24uaWRsCkBAIC0yNiw3ICsyNiw3IEBACiAgICAgYXR0cmlidXRlIGxvbmcgc2VsZWN0
ZWRJbmRleDsKICAgICBbQ3VzdG9tU2V0dGVyLCBTZXR0ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNU
SVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVD
VCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYg
TEFOR1VBR0VfR09CSkVDVAogICAgIGdldHRlciBOb2RlIG5hbWVkSXRlbShET01TdHJpbmcgbmFt
ZSk7CiAjZWxzZQogICAgIGdldHRlciBIVE1MT3B0aW9uRWxlbWVudD8gaXRlbSh1bnNpZ25lZCBs
b25nIGluZGV4KTsKQEAgLTQ3LDkgKzQ3LDUgQEAKICAgICAvLyBGSVhNRTogVGhpcyBvdmVybG9h
ZCBpcyBub3QgaW4gdGhlIHNwZWNpZmljYXRpb24gYW5kIGhhcyBiZWVuIGRyb3BwZWQgaW4gQmxp
bmsuCiAgICAgdm9pZCByZW1vdmUoSFRNTE9wdGlvbkVsZW1lbnQgb3B0aW9uKTsKICNlbmRpZgot
Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZF
X0MKLSAgICBOb2RlIGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7Ci0jZW5kaWYKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwKaW5kZXggYzkwNGM1MzNiMjQ4
NmI3OWUxNmQ2MDY4ZjRjYTYxOTU4YTMxMzBmOC4uNWFmNGZmZTc1OGIxYzI0NGExNTY3NWFmYTY0
MDkyOTY1YTY1ODA1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5p
ZGwKQEAgLTMwLDcgKzMwLDcgQEAKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiByZXF1aXJlZDsKIAotI2lmIGRl
ZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRl
ZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQo
TEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgIGF0dHJpYnV0ZSBsb25n
IHNpemU7CiAjZWxzZQogICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7CkBAIC0zOSwx
MyArMzksOSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKIAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MT3B0aW9uc0NvbGxlY3Rpb24gb3B0aW9uczsKLSNpZiBk
ZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxlbmd0aDsKLSNlbHNlCiAgICAgW1NldHRlclJhaXNl
c0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwotI2VuZGlmCiAKLSNp
ZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8
fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZp
bmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICBnZXR0ZXIgTm9k
ZSBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIE5vZGUgbmFtZWRJdGVtKERPTVN0cmlu
ZyBuYW1lKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJs
ZUNlbGxFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1l
bnQuaWRsCmluZGV4IDYzYzA1NjEyZjE2YjZhMTY0MWIwYTljMmExMTcyZjcxNDQ3MjM1ZGUuLjRj
OTY2OTk4MTFhZDM2Zjg3NmY4MGMwN2ZlNDVmYTQ2MjliOWRlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaWRsCkBAIC0yNiw3ICsyNiw3IEBAIGludGVy
ZmFjZSBIVE1MVGFibGVDZWxsRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICBbUmVmbGVjdD1j
aGFyXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoOwogICAgIFtSZWZsZWN0PWNoYXJvZmZdIGF0dHJp
YnV0ZSBET01TdHJpbmcgY2hPZmY7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9D
KSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYm
IExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdV
QUdFX0dPQkpFQ1QKICAgICBbSW1wbGVtZW50ZWRBcz1jb2xTcGFuRm9yQmluZGluZ3NdIGF0dHJp
YnV0ZSBsb25nIGNvbFNwYW47CiAgICAgW0ltcGxlbWVudGVkQXM9cm93U3BhbkZvckJpbmRpbmdz
XSBhdHRyaWJ1dGUgbG9uZyByb3dTcGFuOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUZXh0QXJlYUVsZW1lbnQuaWRsCmluZGV4IGU1M2U0ZDFiYzI4ZTg3ODY1OGNmNjMwZjhmYWFl
NzAxZTNkYTgyYWIuLmIwYzhjYzE1NWJmZjZhNWYwMzgzMzYxZTAzOTM4MTg2NmU5NGU0ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbApAQCAtMjksNyAr
MjksNyBAQCBpbnRlcmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAg
ICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBwbGFjZWhvbGRlcjsKICAgICBbUmVmbGVj
dF0gYXR0cmlidXRlIGJvb2xlYW4gcmVhZE9ubHk7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBi
b29sZWFuIHJlcXVpcmVkOwotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExB
TkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VB
R0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09C
SkVDVAogICAgIGF0dHJpYnV0ZSBsb25nIHJvd3M7CiAgICAgYXR0cmlidXRlIGxvbmcgY29sczsK
ICNlbHNlCkBAIC02MiwyMSArNjIsMTMgQEAgaW50ZXJmYWNlIEhUTUxUZXh0QXJlYUVsZW1lbnQg
OiBIVE1MRWxlbWVudCB7CiAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGVu
ZCwKICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVN0cmluZyBzZWxlY3Rpb25N
b2RlKTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09C
SkVDVElWRV9DCi0gICAgdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShsb25nIHN0YXJ0LCBsb25nIGVu
ZCk7Ci0jZWxzZQogICAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2Uob3B0aW9uYWwgbG9uZyBzdGFy
dCA9IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBsb25nIGVuZCA9IDAs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBET01TdHJpbmcgZGlyZWN0aW9u
KTsKLSNlbmRpZgogCiAgICAgW0NvbmRpdGlvbmFsPUlPU19BVVRPQ09SUkVDVF9BTkRfQVVUT0NB
UElUQUxJWkVdIGF0dHJpYnV0ZSBib29sZWFuIGF1dG9jb3JyZWN0OwogCiAgICAgW0NvbmRpdGlv
bmFsPUlPU19BVVRPQ09SUkVDVF9BTkRfQVVUT0NBUElUQUxJWkUsIFRyZWF0TnVsbEFzPUVtcHR5
U3RyaW5nXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGF1dG9jYXBpdGFsaXplOwogCi0jaWYgZGVmaW5l
ZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICBbUmVm
bGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0jZW5kaWYKLQogICAgIGF0dHJp
YnV0ZSBET01TdHJpbmcgYXV0b2NvbXBsZXRlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNw
cAppbmRleCBmNDIzODRkOTQ2MmI5NjgwNmQ3YmY0N2RmOTRkZWIxNzhmZTIwZTIxLi4xNWI5Nzdj
ZDAxMDVjMzI2ZjE4Yjk2ODYwZGM3M2QzODRlOWZkYjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCkBAIC04ODAsMTQgKzg4MCw2IEBAIFN0b3JhZ2UqIERPTVdpbmRvdzo6bG9jYWxTdG9y
YWdlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25zdAogICAgIHJldHVybiBtX2xvY2FsU3RvcmFnZS5n
ZXQoKTsKIH0KIAotdm9pZCBET01XaW5kb3c6OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFs
aXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBNZXNzYWdlUG9ydCogcG9ydCwgY29uc3QgU3RyaW5n
JiB0YXJnZXRPcmlnaW4sIERPTVdpbmRvdyYgc291cmNlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsK
LSAgICBNZXNzYWdlUG9ydEFycmF5IHBvcnRzOwotICAgIGlmIChwb3J0KQotICAgICAgICBwb3J0
cy5hcHBlbmQocG9ydCk7Ci0gICAgcG9zdE1lc3NhZ2UobWVzc2FnZSwgJnBvcnRzLCB0YXJnZXRP
cmlnaW4sIHNvdXJjZSwgZWMpOwotfQotCiB2b2lkIERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoUGFz
c1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UsIGNvbnN0IE1lc3NhZ2VQb3J0
QXJyYXkqIHBvcnRzLCBjb25zdCBTdHJpbmcmIHRhcmdldE9yaWdpbiwgRE9NV2luZG93JiBzb3Vy
Y2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJ
bkZyYW1lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCBmODg4OWU3MmNiMWZmMjQwNDYw
YTZhNTQ1N2MxNTE5Nzc5ZjdmNGRhLi5hNmI0YjJlMTRkM2NiMzIyYTBiODczMjY1NDY5OGU1ZDIy
ZWUyMjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTI0NCw4ICsyNDQsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFN0cmluZyBjcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVz
c2FnZShjb25zdCBET01XaW5kb3cmIGFjdGl2ZVdpbmRvdyk7CiAKICAgICAgICAgdm9pZCBwb3N0
TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSwgY29uc3Qg
TWVzc2FnZVBvcnRBcnJheSosIGNvbnN0IFN0cmluZyYgdGFyZ2V0T3JpZ2luLCBET01XaW5kb3cm
IHNvdXJjZSwgRXhjZXB0aW9uQ29kZSYpOwotICAgICAgICAvLyBOZWVkZWQgZm9yIE9iamVjdGl2
ZS1DIGJpbmRpbmdzIChzZWUgYnVnIDI4Nzc0KS4KLSAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShQ
YXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSwgTWVzc2FnZVBvcnQqLCBj
b25zdCBTdHJpbmcmIHRhcmdldE9yaWdpbiwgRE9NV2luZG93JiBzb3VyY2UsIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZVRpbWVyRmlyZWQoUG9zdE1lc3NhZ2VUaW1l
ciYpOwogICAgICAgICB2b2lkIGRpc3BhdGNoTWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNl
Y3VyaXR5T3JpZ2luKiBpbnRlbmRlZFRhcmdldE9yaWdpbiwgRXZlbnQmLCBQYXNzUmVmUHRyPElu
c3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMjkyMmJiNjY1Nzk2
N2JiMGUyZTVkNGY1NjE4NjA4OGViMmYxMmE4Yi4uZTIyNTNiZTdkZWM0MmU4ZmJlYzI1N2FmMDQx
YWIzNzQ1MmQ1ZDU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTYzLDE0ICs2Myw2IEBAIEV2ZW50VGFyZ2V0
SW50ZXJmYWNlIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpldmVudFRhcmdldEludGVyZmFj
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlRXZlbnRUYXJn
ZXRJbnRlcmZhY2VUeXBlOwogfQogCi12b2lkIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpw
b3N0TWVzc2FnZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIE1lc3Nh
Z2VQb3J0KiBwb3J0LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBNZXNzYWdlUG9ydEFycmF5
IHBvcnRzOwotICAgIGlmIChwb3J0KQotICAgICAgICBwb3J0cy5hcHBlbmQocG9ydCk7Ci0gICAg
cG9zdE1lc3NhZ2UoV1RGTW92ZShtZXNzYWdlKSwgJnBvcnRzLCBlYyk7Ci19Ci0KIHZvaWQgRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+JiYgbWVzc2FnZSwgY29uc3QgTWVzc2FnZVBvcnRBcnJheSogcG9ydHMsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewogICAgIC8vIERpc2VudGFuZ2xlIHRoZSBwb3J0IGluIHByZXBhcmF0
aW9uIGZvciBzZW5kaW5nIGl0IHRvIHRoZSByZW1vdGUgY29udGV4dC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA2ZjRk
Nzc0ODdlODVhMzkwOTBjMTc2YzMyYWI3YTU4ZWE3OTBhNzI3Li40Y2M1ZjdlNjA2YTU2ODk2ODZi
NjRjNTc2M2RhNjU4MjdlYWU0NzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC01NCw4ICs1NCw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRl
cmZhY2UoKSBjb25zdCBvdmVycmlkZTsKIAogICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFJlZlB0
cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIGNvbnN0IE1lc3NhZ2VQb3J0QXJyYXkqLCBFeGNl
cHRpb25Db2RlJik7Ci0gICAgICAgIC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3Mg
KHNlZSBidWcgMjg3NzQpLgotICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxp
emVkU2NyaXB0VmFsdWU+JiYsIE1lc3NhZ2VQb3J0KiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAg
ICAgIERlZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmNwcAppbmRleCA5ZDYyYmJlZWQ5ZWIzYjhmODUyZGE4MmNkMjEzZjFlYmRhMDBkODJkLi4z
MDZkMjQ3YzVmNGJmZWE4YzBkOWM0YmYxMGRmNzQwNzM2ZDRhZDNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXIuY3BwCkBAIC0xMDcsMTQgKzEwNyw2IEBAIFdvcmtlcjo6fldvcmtlcigpCiAgICAg
bV9jb250ZXh0UHJveHktPndvcmtlck9iamVjdERlc3Ryb3llZCgpOwogfQogCi12b2lkIFdvcmtl
cjo6cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBN
ZXNzYWdlUG9ydCogcG9ydCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgTWVzc2FnZVBvcnRB
cnJheSBwb3J0czsKLSAgICBpZiAocG9ydCkKLSAgICAgICAgcG9ydHMuYXBwZW5kKHBvcnQpOwot
ICAgIHBvc3RNZXNzYWdlKFdURk1vdmUobWVzc2FnZSksICZwb3J0cywgZWMpOwotfQotCiB2b2lk
IFdvcmtlcjo6cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNz
YWdlLCBjb25zdCBNZXNzYWdlUG9ydEFycmF5KiBwb3J0cywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CiAgICAgLy8gRGlzZW50YW5nbGUgdGhlIHBvcnQgaW4gcHJlcGFyYXRpb24gZm9yIHNlbmRpbmcg
aXQgdG8gdGhlIHJlbW90ZSBjb250ZXh0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNzgy
OTY5M2QxYjRhZjY2MWQxNTI4ZmVmNzY1MzZhODM5ZDY2YzA2Yy4uZDFiMjQ0NTgyZGIzZGJjNjI2
NzY2MjE1Y2U0ZGNlOWVkODZkNjdkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC01Niw4
ICs1Niw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRXZlbnRUYXJnZXRJbnRlcmZh
Y2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBXb3JrZXJF
dmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KIAogICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFJl
ZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgY29uc3QgTWVzc2FnZVBvcnRB
cnJheSosIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICAgICAgLy8gTmVlZGVkIGZvciBPYmplY3RpdmUt
QyBiaW5kaW5ncyAoc2VlIGJ1ZyAyODc3NCkuCi0gICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBNZXNzYWdlUG9ydCosIEV4Y2Vw
dGlvbkNvZGUmKTsKIAogICAgICAgICB2b2lkIHRlcm1pbmF0ZSgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285374</attachid>
            <date>2016-08-04 16:00:37 -0700</date>
            <delta_ts>2016-08-04 16:28:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160568-20160804155912.patch</filename>
            <type>text/plain</type>
            <size>68192</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFmOTk5ZDA4Y2NkYTI4
YzNhNTBmYjRmZDIwNmE2MDYwMjkzNDAxMi4uZWYxNWQ5OGEzZmZmY2U3Y2Q1YTA3MTU0YzE4MTM1
YTllYTYyOGVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDg3IEBACiAyMDE2LTA4LTA0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVtb3ZlIG1vcmUg
dW51c2VkIGJpbmRpbmdzIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MDU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3Mvb2JqYy9ET01Eb2N1bWVudC5tbToKKyAgICAgICAgKC1bRE9NRG9jdW1l
bnQgZXhlY0NvbW1hbmQ6dXNlckludGVyZmFjZTpdKToKKyAgICAgICAgKC1bRE9NRG9jdW1lbnQg
ZXhlY0NvbW1hbmQ6XSk6CisgICAgICAgICgtW0RPTURvY3VtZW50IGdldE1hdGNoZWRDU1NSdWxl
czpwc2V1ZG9FbGVtZW50Ol0pOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSFRNTEJhc2VG
b250RWxlbWVudC5tbToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUxDb2xsZWN0aW9u
Lm1tOgorICAgICAgICAoLVtET01IVE1MQ29sbGVjdGlvbiB0YWdzOl0pOgorICAgICAgICAqIGJp
bmRpbmdzL29iamMvRE9NV2hlZWxFdmVudC5tbToKKyAgICAgICAgKC1bRE9NV2hlZWxFdmVudCBp
c0hvcml6b250YWxdKToKKyAgICAgICAgKiBjc3MvUkdCQ29sb3IuaWRsOgorICAgICAgICAqIGRv
bS9BdHRyLmlkbDoKKyAgICAgICAgKiBkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAg
ICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9FdmVudEV4Y2VwdGlvbi5oOiBSZW1v
dmVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRFeGNlcHRpb246OkV2ZW50RXhjZXB0aW9uKTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vRXZlbnRFeGNlcHRpb24uaWRsOiBSZW1vdmVkLgorICAg
ICAgICAqIGRvbS9LZXlib2FyZEV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VFdmVudDo6bWVzc2FnZVBvcnQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZUV2ZW50Ojppbml0TWVzc2FnZUV2ZW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50Lmg6CisgICAgICAgICogZG9tL01l
c3NhZ2VQb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2Fn
ZSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0Lmg6CisgICAgICAgICogZG9t
L05vZGUuaWRsOgorICAgICAgICAqIGRvbS9Ob2RlRmlsdGVyLmlkbDoKKyAgICAgICAgKiBkb20v
T3ZlcmZsb3dFdmVudC5pZGw6CisgICAgICAgICogZG9tL1doZWVsRXZlbnQuaDoKKyAgICAgICAg
KiBkb20vV2hlZWxFdmVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQWxsQ29sbGVjdGlvbjo6dGFncyk6CisgICAgICAg
ICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5oOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEJhc2VGb250RWxlbWVudDo6SFRNTEJhc2VGb250RWxlbWVudCk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICog
aHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL0hU
TUxCdXR0b25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDb2xsZWN0aW9uOjp0YWdzKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxDb2xs
ZWN0aW9uLmg6CisgICAgICAgICogaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICog
aHRtbC9IVE1MRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50
LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzLmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJRnJh
bWVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTGFi
ZWxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVDZWxsRWxlbWVu
dC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBvc3RN
ZXNzYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAq
IHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RNZXNzYWdlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpwb3N0TWVzc2Fn
ZSk6IERlbGV0ZWQuCisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKworMjAxNi0wOC0wNCAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIEFub3RoZXIg
YnVpbGQgZml4IGF0dGVtcHQuCiAKICAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERP
TURlcHJlY2F0ZWQuY3BwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBmY2E0Njc2ZTM2ZDFhNWYx
ZTk4NzRmMDAzZjRiODhjNDc0ZTdhZWM2Li5iZGJmMTIxNDIwMTM5YTNjYjQ2ZjMxNjQwNzk2NGNh
NTkzMThiNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTY1MCw3ICsxNjUwLDYgQEAgc2V0
KFdlYkNvcmVfU09VUkNFUwogICAgIGh0bWwvSFRNTEF1ZGlvRWxlbWVudC5jcHAKICAgICBodG1s
L0hUTUxCUkVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCi0gICAgaHRt
bC9IVE1MQmFzZUZvbnRFbGVtZW50LmNwcAogICAgIGh0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAog
ICAgIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MQ2FudmFzRWxlbWVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDhjMzdkYjg4M2RmMzU2YTMx
ZTgwMWNmZGM4NGMxMzk0MWM3ZWU3NzguLmM1OTAyMzg2ZTM1MmIxNmZjMDNhNmEzNWVhOTYwNWQ4
Zjg4ZjllMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzYxLDcgKzM2MSw2
IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTEF1ZGlvRWxl
bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MQlJFbGVtZW50LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRt
bC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hUTUxCb2R5
RWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwg
XAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQwM2Zh
NzQwM2U3MGM3Mjc5NTk5NGU4Mjg1ZWUxN2Y4ZjA0MTFiZjkuLjVmYzFjMjk4YTUzOTc4ZjhiNmNm
YThiNTgzNTM2OWM3ZTczOWU0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ0NTEsOCArNDQ1MSw2IEBACiAJCUE4REYzRkNG
MDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOERGM0ZDNzA5N0ZBMEZC
MDA1Mjk4MUIgLyogSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uY3BwICovOyB9OwogCQlBOERG
M0ZEMDA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4REYzRkM4MDk3RkEwRkIwMDUyOTgxQiAv
KiBIVE1MQ29sbGVjdGlvbi5oICovOyB9OwogCQlBOERGM0ZEMTA5N0ZBMEZDMDA1Mjk4MUIgLyog
SFRNTENvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQThERjNGQzkwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxDb2xsZWN0aW9uLmNwcCAq
LzsgfTsKLQkJQThERjNGRDIwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4REYzRkNB
MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmggKi87IH07Ci0JCUE4REYz
RkQzMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4REYzRkNCMDk3RkEwRkIwMDUy
OTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCAqLzsgfTsKIAkJQThERjNGRDQwOTdGQTBG
QzAwNTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThERjNGQ0MwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxO
YW1lQ29sbGVjdGlvbi5oICovOyB9OwogCQlBOERGM0ZENTA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRN
TE5hbWVDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4REYzRkNEMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24u
Y3BwICovOyB9OwogCQlBOERGNEFFODA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVyVGFibGVDb2wu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThERjRB
REUwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRhYmxlQ29sLmNwcCAqLzsgfTsKQEAgLTU0NTUs
NyArNTQ1Myw2IEBACiAJCUJDNjBEN0MxMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNl
cHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
NjBEN0JGMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNlcHRpb24uaCAqLzsgfTsKIAkJ
QkM2MEQ4RjIwRDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2MEQ4RjAwRDJBMTFFMDAwQjk5
MThGIC8qIEV4Y2VwdGlvbkJhc2UuY3BwICovOyB9OwogCQlCQzYwRDhGMzBEMkExMUUwMDBCOTkx
OEYgLyogRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM2MEQ4RjEwRDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQzYwRDkw
QzBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNjBEOTA5MEQyQTE3Q0UwMEI5OTE4RiAvKiBF
dmVudEV4Y2VwdGlvbi5oICovOyB9OwogCQlCQzYwREE1QjBEMkEzMUY3MDBCOTkxOEYgLyogWFBh
dGhFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDNjBEQTU5MEQyQTMxRjcwMEI5OTE4RiAvKiBYUGF0aEV4Y2VwdGlvbi5oICovOyB9Owog
CQlCQzYwREI0OTBEMkEzRDFFMDBCOTkxOEYgLyogSlNYUGF0aEV4Y2VwdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzYwREI0NzBEMkEzRDFF
MDBCOTkxOEYgLyogSlNYUGF0aEV4Y2VwdGlvbi5jcHAgKi87IH07CiAJCUJDNjBEQjRBMEQyQTNE
MUUwMEI5OTE4RiAvKiBKU1hQYXRoRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzYwREI0ODBEMkEzRDFFMDBCOTkxOEYgLyogSlNYUGF0
aEV4Y2VwdGlvbi5oICovOyB9OwpAQCAtODE0Myw3ICs4MTQwLDYgQEAKIAkJMUFEQTRBMUIxRDIy
RjJDMDAwNUE5QTE1IC8qIFBheW1lbnRNZXJjaGFudFNlc3Npb25Db2NvYS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBheW1lbnRNZXJjaGFudFNlc3Npb25Db2Nv
YS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFMDBENTcxODJEQUM4RDAwMDg3
REQ3IC8qIEtleWVkQ29kaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtl
eWVkQ29kaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRTJBOUYwMEExQ0RB
NTcwMEI0MkIyNSAvKiBIVE1MQXJlYUVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBIVE1MQXJlYUVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQUUy
QTlGMTBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJhc2VGb250RWxlbWVudC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEhUTUxCYXNlRm9udEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQUUyQTlGMjBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJvZHlFbGVtZW50
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEJvZHlFbGVtZW50LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFMkE5RjMwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxC
UkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MQlJFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFMkE5RjQwQTFDREE1NzAwQjQyQjI1IC8q
IEhUTUxGaWVsZFNldEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MRmll
bGRTZXRFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMDY3LDgg
KzEyMDYzLDYgQEAKIAkJQThERjNGQzcwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxGb3JtQ29udHJv
bHNDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBI
VE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4REYzRkM4MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQ29sbGVjdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTENvbGxlY3Rpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQThERjNGQzkwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxDb2xsZWN0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MQ29sbGVj
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE4REYzRkNBMDk3RkEwRkIw
MDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBIVE1MQmFzZUZvbnRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUE4REYzRkNCMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MQmFzZUZvbnRFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThERjNGQ0MwOTdGQTBGQjAw
NTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSFRNTE5hbWVDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4REYzRkNEMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxOYW1lQ29sbGVjdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4REY0QURFMDk4MEM0MkMwMDUyOTgx
QiAvKiBSZW5kZXJUYWJsZUNvbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVuZGVyVGFibGVDb2wuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMyNDAsOCArMTMyMzQsNiBAQAogCQlCQzYwRDdCRjBEMjlBNDYzMDBCOTkxOEYgLyogSlNET01D
b3JlRXhjZXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQ29y
ZUV4Y2VwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzYwRDhGMDBEMkEx
MUUwMDBCOTkxOEYgLyogRXhjZXB0aW9uQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkM2MEQ4RjEwRDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhjZXB0aW9uQmFzZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlCQzYwRDkwOTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRFeGNlcHRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkM2MEQ5MEEwRDJBMTdDRTAwQjk5MThGIC8q
IEV2ZW50RXhjZXB0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFdmVudEV4Y2VwdGlv
bi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNjBEQTU5MEQyQTMxRjcwMEI5
OTE4RiAvKiBYUGF0aEV4Y2VwdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBYUGF0aEV4Y2VwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzYwREE1
QTBEMkEzMUY3MDBCOTkxOEYgLyogWFBhdGhFeGNlcHRpb24uaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFhQYXRoRXhjZXB0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkM2MERCNDcwRDJBM0QxRTAwQjk5MThGIC8qIEpTWFBhdGhFeGNlcHRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNYUGF0aEV4Y2VwdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODc4OSw5ICsxODc4MSw2IEBACiAJCQkJQTg3MURD
MUUwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVudC5jcHAgKi8sCiAJCQkJQTg3MURD
MTMwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVudC5oICovLAogCQkJCUE4MEU3QUFG
MEExOUQxRjEwMDdGQjhDNSAvKiBIVE1MQmFzZUVsZW1lbnQuaWRsICovLAotCQkJCUE4REYzRkNC
MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCAqLywKLQkJCQlBOERG
M0ZDQTA5N0ZBMEZCMDA1Mjk4MUIgLyogSFRNTEJhc2VGb250RWxlbWVudC5oICovLAotCQkJCTFB
RTJBOUYxMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmlkbCAqLywKIAkJ
CQk5QjI0REU4QzE1MTk0Qjk1MDBDNTlDMjcgLyogSFRNTEJESUVsZW1lbnQuaCAqLywKIAkJCQlB
ODcxREUxRDBBMTUyQUM4MDBCMTJBNjggLyogSFRNTEJvZHlFbGVtZW50LmNwcCAqLywKIAkJCQlB
ODcxREUyMDBBMTUyQUM4MDBCMTJBNjggLyogSFRNTEJvZHlFbGVtZW50LmggKi8sCkBAIC0yNDAy
MCw4ICsyNDAwOSw2IEBACiAJCQkJNDEzOEQzMzMxMjQ0MDU0ODAwMzIzRDMzIC8qIEV2ZW50Q29u
dGV4dC5oICovLAogCQkJCTQxOEEwNkNGMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNo
ZXIuY3BwICovLAogCQkJCTQxOEEwNkNFMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNo
ZXIuaCAqLywKLQkJCQlCQzYwRDkwOTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24u
aCAqLywKLQkJCQlCQzYwRDkwQTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24uaWRs
ICovLAogCQkJCTkzNUZCQzQ0MDlCQTAwQjkwMEUyMzBCMSAvKiBFdmVudExpc3RlbmVyLmggKi8s
CiAJCQkJODVBRkE3NDEwQUFGMjk4NDAwRTg0MzA1IC8qIEV2ZW50TGlzdGVuZXIuaWRsICovLAog
CQkJCUFENDQ5NUYxMTQxRkMwODkwMDU0MUVERiAvKiBFdmVudExpc3RlbmVyTWFwLmNwcCAqLywK
QEAgLTI1NTI5LDcgKzI1NTE2LDYgQEAKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyog
RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBF
dmVudENvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxOEEwNkQwMTMzQzA0RDUwMENEMzc5
QyAvKiBFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDNjBEOTBDMEQyQTE3
Q0UwMEI5OTE4RiAvKiBFdmVudEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlB
NTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTcwQjcyQTYxNDUwMDhFQjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTcwQjcyOEExNDRGRkFDNjAwRjAwQTM3IC8qIEV2ZW50SW50ZXJmYWNlcy5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNTczNyw3ICsyNTcyMyw2IEBACiAJCQkJN0M1RjI4RkMxQTgyN0Q4NDAw
QzBGMzFGIC8qIEhUTUxBdHRhY2htZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0
NjEzQTIwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxBdWRpb0VsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4NzFEQzFGMEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUE4REYzRkQyMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjI0REU4RTE1MTk0Qjk1MDBDNTlDMjcgLyog
SFRNTEJESUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFERTJDMEExNTJBQzgwMEIx
MkE2OCAvKiBIVE1MQm9keUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGN0FBMEEx
NTY5NzgwMDBBNDIzNCAvKiBIVE1MQlJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI5NDc4
LDcgKzI5NDYzLDYgQEAKIAkJCQk3QzVGMjhGQjFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0dGFj
aG1lbnRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxM0ExMENENjMzMTAwMEZB
REE3NSAvKiBIVE1MQXVkaW9FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQzJB
MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJQThERjNGRDMwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTg3MURFMjkwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxCb2R5RWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOENGRjdBODBBMTU2OTc4MDAwQTQyMzQgLyog
SFRNTEJSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODEzNjlEMzA5NzM3NEY2MDBE
NzQ0NjMgLyogSFRNTEJ1dHRvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTURvY3VtZW50Lm1tIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Eb2N1bWVudC5tbQppbmRleCA3ZjY2MDQ4OWRiZGNmZjM3
Y2FiZjE1OGY2Yjg5ZGZkY2FiMTRjMzRmLi42YzY0MWUyNDFkMzZiODVlMDQ1ZGU3ZWRjZTU4ZGU4
YWMxM2NmMTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTURv
Y3VtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRG9jdW1lbnQu
bW0KQEAgLTY3MSwxNCArNjcxLDEyIEBACiAKIC0gKEJPT0wpZXhlY0NvbW1hbmQ6KE5TU3RyaW5n
ICopY29tbWFuZCB1c2VySW50ZXJmYWNlOihCT09MKXVzZXJJbnRlcmZhY2UKIHsKLSAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgcmV0dXJuIElNUEwtPmV4ZWND
b21tYW5kKGNvbW1hbmQsIHVzZXJJbnRlcmZhY2UpOworICAgIHJldHVybiBbc2VsZiBleGVjQ29t
bWFuZDpjb21tYW5kIHVzZXJJbnRlcmZhY2U6dXNlckludGVyZmFjZSB2YWx1ZTpudWxscHRyXTsK
IH0KIAogLSAoQk9PTClleGVjQ29tbWFuZDooTlNTdHJpbmcgKiljb21tYW5kCiB7Ci0gICAgV2Vi
Q29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIHJldHVybiBJTVBMLT5leGVj
Q29tbWFuZChjb21tYW5kKTsKKyAgICByZXR1cm4gW3NlbGYgZXhlY0NvbW1hbmQ6Y29tbWFuZCB1
c2VySW50ZXJmYWNlOk5PIHZhbHVlOm51bGxwdHJdOwogfQogCiAtIChCT09MKXF1ZXJ5Q29tbWFu
ZEVuYWJsZWQ6KE5TU3RyaW5nICopY29tbWFuZApAQCAtNzQ4LDExICs3NDYsNyBAQAogCiAtIChE
T01DU1NSdWxlTGlzdCAqKWdldE1hdGNoZWRDU1NSdWxlczooRE9NRWxlbWVudCAqKWVsZW1lbnQg
cHNldWRvRWxlbWVudDooTlNTdHJpbmcgKilwc2V1ZG9FbGVtZW50CiB7Ci0gICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIFdlYkNvcmU6OkRPTVdpbmRvdyogZHYg
PSBJTVBMLT5kZWZhdWx0VmlldygpOwotICAgIGlmICghZHYpCi0gICAgICAgIHJldHVybiBuaWw7
Ci0gICAgcmV0dXJuIGtpdChXVEY6OmdldFB0cihkdi0+Z2V0TWF0Y2hlZENTU1J1bGVzKGNvcmUo
ZWxlbWVudCksIHBzZXVkb0VsZW1lbnQpKSk7CisgICAgcmV0dXJuIFtzZWxmIGdldE1hdGNoZWRD
U1NSdWxlczplbGVtZW50IHBzZXVkb0VsZW1lbnQ6cHNldWRvRWxlbWVudCBhdXRob3JPbmx5OllF
U107CiB9CiAKIC0gKERPTUNTU1J1bGVMaXN0ICopZ2V0TWF0Y2hlZENTU1J1bGVzOihET01FbGVt
ZW50ICopZWxlbWVudCBwc2V1ZG9FbGVtZW50OihOU1N0cmluZyAqKXBzZXVkb0VsZW1lbnQgYXV0
aG9yT25seTooQk9PTClhdXRob3JPbmx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUhUTUxCYXNlRm9udEVsZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUhUTUxCYXNlRm9udEVsZW1lbnQubW0KaW5kZXggYWUxNjlkNDk2N2MyN2Y3
YjA2NWVmNTQ2MWZjMjY3NGU4OGE3ZDk4Zi4uNmM0YzVlYmVmMzAyNTFmZTRmNDY2NzUxM2E3Mzgw
YjZhMzE4MTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01I
VE1MQmFzZUZvbnRFbGVtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMv
RE9NSFRNTEJhc2VGb250RWxlbWVudC5tbQpAQCAtMjgsMTUgKzI4LDE1IEBACiAKICNpbXBvcnQg
IkRPTU5vZGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiRXhjZXB0aW9uSGFuZGxlcnMuaCIKLSNpbXBv
cnQgIkhUTUxCYXNlRm9udEVsZW1lbnQuaCIKICNpbXBvcnQgIkhUTUxOYW1lcy5oIgorI2ltcG9y
dCAiSFRNTFVua25vd25FbGVtZW50LmgiCiAjaW1wb3J0ICJKU01haW5UaHJlYWRFeGVjU3RhdGUu
aCIKICNpbXBvcnQgIlRocmVhZENoZWNrLmgiCiAjaW1wb3J0ICJVUkwuaCIKICNpbXBvcnQgIldl
YlNjcmlwdE9iamVjdFByaXZhdGUuaCIKICNpbXBvcnQgPHd0Zi9HZXRQdHIuaD4KIAotI2RlZmlu
ZSBJTVBMIHN0YXRpY19jYXN0PFdlYkNvcmU6OkhUTUxCYXNlRm9udEVsZW1lbnQqPihyZWludGVy
cHJldF9jYXN0PFdlYkNvcmU6Ok5vZGUqPihfaW50ZXJuYWwpKQorI2RlZmluZSBJTVBMIHN0YXRp
Y19jYXN0PFdlYkNvcmU6OkhUTUxVbmtub3duRWxlbWVudCo+KHJlaW50ZXJwcmV0X2Nhc3Q8V2Vi
Q29yZTo6Tm9kZSo+KF9pbnRlcm5hbCkpCiAKIEBpbXBsZW1lbnRhdGlvbiBET01IVE1MQmFzZUZv
bnRFbGVtZW50CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
SFRNTENvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxD
b2xsZWN0aW9uLm1tCmluZGV4IDk2MzQ2NzA3MTlhZDI3OWI1ZjhmM2E0YzQ0MWNiMmU0NWZjMTJk
MjQuLjEwMWRkNWMyZDg3N2U0MzFjYjE1Yzg2MmIwZjM2NzNmZDc0MGViNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTENvbGxlY3Rpb24ubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQ29sbGVjdGlvbi5tbQpAQCAtNzUs
OCArNzUsMTEgQEAKIAogLSAoRE9NTm9kZUxpc3QgKil0YWdzOihOU1N0cmluZyAqKW5hbWUKIHsK
KyAgICBpZiAoIW5hbWUpCisgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIHJldHVybiBraXQoV1RGOjpnZXRQdHIo
SU1QTC0+dGFncyhuYW1lKSkpOworICAgIHJldHVybiBraXQoc3RhdGljX2Nhc3Q8V2ViQ29yZTo6
Tm9kZUxpc3QqPihXVEY6OmdldFB0cihJTVBMLT5vd25lck5vZGUoKS5nZXRFbGVtZW50c0J5VGFn
TmFtZShuYW1lKSkpKTsKIH0KIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01XaGVlbEV2ZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01XaGVlbEV2ZW50Lm1tCmluZGV4IDQ2Njc2ZWY3YWU1ZTE1ZjZjNjE1YTg2N2JiNTNiZWQy
N2QzY2ZiZDcuLjI3NzFkZWE5MjljYjNiMmZlNTQwZGM1NGFkZDYxYzgyOGNkNmI0ZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NV2hlZWxFdmVudC5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVdoZWVsRXZlbnQubW0KQEAgLTkxLDgg
KzkxLDcgQEAKIAogLSAoQk9PTClpc0hvcml6b250YWwKIHsKLSAgICBXZWJDb3JlOjpKU01haW5U
aHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgcmV0dXJuIElNUEwtPmlzSG9yaXpvbnRhbCgpOwor
ICAgIHJldHVybiAhIXNlbGYud2hlZWxEZWx0YVg7CiB9CiAKIC0gKHZvaWQpaW5pdFdoZWVsRXZl
bnQ6KGludClpbldoZWVsRGVsdGFYIHdoZWVsRGVsdGFZOihpbnQpaW5XaGVlbERlbHRhWSB2aWV3
OihET01BYnN0cmFjdFZpZXcgKil2aWV3IHNjcmVlblg6KGludClzY3JlZW5YIHNjcmVlblk6KGlu
dClzY3JlZW5ZIGNsaWVudFg6KGludCljbGllbnRYIGNsaWVudFk6KGludCljbGllbnRZIGN0cmxL
ZXk6KEJPT0wpY3RybEtleSBhbHRLZXk6KEJPT0wpYWx0S2V5IHNoaWZ0S2V5OihCT09MKXNoaWZ0
S2V5IG1ldGFLZXk6KEJPT0wpbWV0YUtleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1JHQkNvbG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SR0JDb2xvci5pZGwKaW5kZXggMTY3
NDRmNDI1Y2ZjYjE4ODQyZTAwZWI5ZjIwZjYyMDRmZDMzNmI5Yi4uYjkzZGNiMTA4MzQ0ODQ4N2Yy
OTRhMmY4NzFiMjc2NDkxMmQ5NmYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1JH
QkNvbG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUkdCQ29sb3IuaWRsCkBAIC0zMCw4
ICszMCw1IEBACiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwgIUxBTkdVQUdF
X0pBVkFTQ1JJUFQKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUHJpbWl0aXZlVmFsdWUgIGFs
cGhhOwogI2VuZGlmCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VB
R0VfT0JKRUNUSVZFX0MKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgQ29sb3IgICAgICAgICAgICAg
IGNvbG9yOwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5pZGwKaW5kZXggMTkwMWEzNzczODA5Zjkz
MGQ4NThlNjI4ZDk4YmZmYjZjZjgyMmZlMy4uN2EzOWRmZTI2YzcwZmI5MjcyZGQ0MmU4NmE3OTVh
YWUzYWZmZTM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmlkbApAQCAtMzksMTAgKzM5LDUgQEAKICAgICAvLyBE
T00gTGV2ZWwgMwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNJZDsKLQotI2lm
IGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0g
ICAgLy8gVGhpcyBleHRlbnNpb24gaXMgbm8gbG9uZ2VyIG5lZWRlZCwgYnV0IGl0IGhhcyB0byBy
ZW1haW4gYXZhaWxhYmxlIGluIE9iamVjdGl2ZSBDLCBhcyBpdCdzIHB1YmxpYyBBUEkuCi0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlRGVjbGFyYXRpb24gc3R5bGU7Ci0jZW5kaWYKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCmluZGV4IDljMmE5MGUz
MjZhMGJiYTUzOGExMWMzYmUxYThjZWRiZWYxYmIwMmQuLjg1ZDgxNDUyMjg2YjI1MWFiZTUyNTAw
ZDk5YjU0YjMwOGIwNjc2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBs
ZW1lbnRhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9u
LmlkbApAQCAtMzQsNyArMzQsNyBAQAogICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMs
IFJhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRU
eXBlKERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCBET01TdHJpbmcgcHVibGljSWQsIERPTVN0cmlu
ZyBzeXN0ZW1JZCk7CiAKICAgICBbTmV3T2JqZWN0LCBPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRl
cnMsIFJhaXNlc0V4Y2VwdGlvbl0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAm
JiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExB
TkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdF
X0dPQkpFQ1QKICAgICAgICAgRG9jdW1lbnQKICNlbHNlCiAgICAgICAgIFhNTERvY3VtZW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCmluZGV4IDVlNjYyNGYwNjc0YzYzMTNiZGZhY2IyYzFjNjdjYzRhYzIx
ZjNkZTEuLjU3OGVlMGY2NWU5M2Q2NTZjYTlmMjI4ZTA1OTQyYTg4ZTQ1NGVkNTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCkBAIC05OCw3ICs5OCw2IEBAIGNsYXNzIERvY3VtZW50TWFya2VyQ29udHJv
bGxlcjsKIGNsYXNzIERvY3VtZW50UGFyc2VyOwogY2xhc3MgRG9jdW1lbnRTaGFyZWRPYmplY3RQ
b29sOwogY2xhc3MgRG9jdW1lbnRUeXBlOwotY2xhc3MgRW50aXR5UmVmZXJlbmNlOwogY2xhc3Mg
RXh0ZW5zaW9uU3R5bGVTaGVldHM7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBGbG9hdFF1YWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmlkbAppbmRleCA4ZDlmNzI4ZDU0NTViZDcyNGJiZDg1MDdjMTQ5
MDdhMTljM2UzZmM2Li40MGUwMmNhZjU5OWM5YWQ2OTkzMzQ3N2FiNDMwNTllMGQyOGU0ZDNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTEzMSwxMiArMTMxLDYgQEAKICAgICAvLyBGSVhN
RTogVGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBsYXN0IHBhcmFtZXRlciBzaG91bGQgYmUgdGhl
IGVtcHR5IHN0cmluZy4KICAgICBib29sZWFuIGV4ZWNDb21tYW5kKERPTVN0cmluZyBjb21tYW5k
LCBvcHRpb25hbCBib29sZWFuIHVzZXJJbnRlcmZhY2UgPSBmYWxzZSwgb3B0aW9uYWwgRE9NU3Ry
aW5nPyB2YWx1ZSA9IG51bGwpOwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykg
JiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBGSVhNRTogcmVtb3ZlIHRoZSB0aGVzZSB0
d28gdmVyc2lvbnMgb25jZSBvcHRpb25hbCBpcyBpbXBsZW1lbnRlZCBmb3IgT2JqZWN0aXZlLUMu
Ci0gICAgYm9vbGVhbiBleGVjQ29tbWFuZChET01TdHJpbmcgY29tbWFuZCwgYm9vbGVhbiB1c2Vy
SW50ZXJmYWNlKTsKLSAgICBib29sZWFuIGV4ZWNDb21tYW5kKERPTVN0cmluZyBjb21tYW5kKTsK
LSNlbmRpZgotCiAgICAgYm9vbGVhbiBxdWVyeUNvbW1hbmRFbmFibGVkKERPTVN0cmluZyBjb21t
YW5kKTsKICAgICBib29sZWFuIHF1ZXJ5Q29tbWFuZEluZGV0ZXJtKERPTVN0cmluZyBjb21tYW5k
KTsKICAgICBib29sZWFuIHF1ZXJ5Q29tbWFuZFN0YXRlKERPTVN0cmluZyBjb21tYW5kKTsKQEAg
LTE3Niw3ICsxNzAsNyBAQAogCiAgICAgLy8gSUUgZXh0ZW5zaW9ucwogCi0jaWYgZGVmaW5lZChM
QU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChM
QU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5HVUFH
RV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBj
aGFyc2V0OwogI2Vsc2UKICAgICBbSW1wbGVtZW50ZWRBcz1jaGFyYWN0ZXJTZXRXaXRoVVRGOEZh
bGxiYWNrXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoYXJzZXQ7CkBAIC0yMDEsMjAg
KzE5NSw2IEBACiAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbiBjcmVhdGVDU1NTdHlsZURlY2xhcmF0
aW9uKCk7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExB
TkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gRE9NIExldmVsIDIgU3R5bGUgSW50ZXJmYWNlCi0g
ICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgT2JqQ1VzZURlZmF1bHRWaWV3XSBDU1NT
dHlsZURlY2xhcmF0aW9uIGdldENvbXB1dGVkU3R5bGUoRWxlbWVudCBlbGVtZW50LCBET01TdHJp
bmcgcHNldWRvRWxlbWVudCk7Ci0KLSAgICAvLyBXZWJLaXQgZXh0ZW5zaW9uCi0gICAgLy8gRklY
TUU6IHJlbW92ZSB0aGUgZmlyc3QgdmVyc2lvbiBvbmNlIG9wdGlvbmFsIGlzIGltcGxlbWVudGVk
IGZvciBPYmplY3RpdmUtQy4KLSAgICBbT2JqQ1VzZURlZmF1bHRWaWV3XSBDU1NSdWxlTGlzdCBn
ZXRNYXRjaGVkQ1NTUnVsZXMoRWxlbWVudD8gZWxlbWVudCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBET01TdHJpbmcgcHNldWRvRWxlbWVudCk7Ci0gICAg
W09iakNVc2VEZWZhdWx0Vmlld10gQ1NTUnVsZUxpc3QgZ2V0TWF0Y2hlZENTU1J1bGVzKEVsZW1l
bnQ/IGVsZW1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRE9NU3RyaW5nIHBzZXVkb0VsZW1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBhdXRob3JPbmx5KTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSNlbmRpZgotCiAgICAgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCBnZXRDU1NDYW52YXNDb250ZXh0KERPTVN0cmluZyBjb250ZXh0
SWQsIERPTVN0cmluZyBuYW1lLCBsb25nIHdpZHRoLCBsb25nIGhlaWdodCk7CiAKICAgICAvLyBI
VE1MIDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbAppbmRleCA5YmNhMzk2YjU1MTM5MWJhZTY3NjJkN2Vi
ZjQxZWUwNzk2Y2Y1MjdhLi5jMzg4ZDM3MDlmZWQ0MDM1NmRkNzViZjQzZWUwYWU2NWUwYmVhMjZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCkBAIC04Nyw3ICs4Nyw3IEBACiAKICAgICBbSW1wbGVt
ZW50ZWRBcz1iaW5kaW5nc09mZnNldFBhcmVudF0gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQg
b2Zmc2V0UGFyZW50OwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFO
R1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFH
RV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JK
RUNUCiAgICAgdm9pZCBmb2N1cygpOwogICAgIHZvaWQgYmx1cigpOwogI2VuZGlmCkBAIC0xMjUs
MTEgKzEyNSw2IEBACiAgICAgQ2xpZW50UmVjdCBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICNl
bmRpZgogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JK
RUNUSVZFX0MKLSAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNpb25zCi0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBpbm5lclRleHQ7Ci0jZW5kaWYKLQogI2lmIGRlZmluZWQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAmJiBFTkFCTEVfRlVMTFNDUkVFTl9BUEkKICAgICAvLyBNb3ppbGxh
IHZlcnNpb24KICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBBTExPV19LRVlCT0FSRF9JTlBVVCA9
IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiYWYwOTY0NjBhOTY2ZjM0N2RkOTIwZjkwMGEyOGM2OTljMWE1OTdmLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudEV4Y2VwdGlvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBJbmMu
ICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZy
b20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEV2
ZW50RXhjZXB0aW9uX2gKLSNkZWZpbmUgRXZlbnRFeGNlcHRpb25faAotCi0jaW5jbHVkZSAiRXhj
ZXB0aW9uQmFzZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEV2ZW50RXhjZXB0
aW9uIDogcHVibGljIEV4Y2VwdGlvbkJhc2UgewotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBFdmVu
dEV4Y2VwdGlvbihjb25zdCBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQot
ICAgICAgICA6IEV4Y2VwdGlvbkJhc2UoZGVzY3JpcHRpb24pCi0gICAgewotICAgIH0KLX07Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEV2ZW50RXhjZXB0aW9uX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA0NmYyZTFlYmQ2ZGI5ZTBlOTI3OWRiMDQ5OTE0ZDE3OGQ2NGY5MDg3Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudEV4Y2VwdGlvbi5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDA3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
Ci0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZiBkZWZpbmVkKExBTkdV
QUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotCi0vLyBJbnRyb2R1Y2Vk
IGluIERPTSBMZXZlbCAyOgotWwotICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotICAgIERvTm90Q2hl
Y2tDb25zdGFudHMsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKLV0gZXhjZXB0aW9u
IEV2ZW50RXhjZXB0aW9uIHsKLQotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9y
dCAgIGNvZGU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAgbmFtZTsK
LSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgICAgICBtZXNzYWdlOwotCi0gICAg
Ly8gRXZlbnRFeGNlcHRpb25Db2RlCi0gICAgY29uc3QgdW5zaWduZWQgc2hvcnQgVU5TUEVDSUZJ
RURfRVZFTlRfVFlQRV9FUlIgPSAwOwotICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IERJU1BBVENI
X1JFUVVFU1RfRVJSID0gMTsKLX07Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZl
bnQuaWRsCmluZGV4IDc3ZGMwNjFhZTgyMzUwZjg2N2E2ODk1YjBkY2FiZGY4MTQxYmZmY2UuLmQ5
NGQwOTY3NGQyYTdiMTg4ZWRjYTVlNmY5NTA1NDlmOWZiN2QwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
S2V5Ym9hcmRFdmVudC5pZGwKQEAgLTg2LDMyICs4Niw1IEBACiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCBib29sZWFuIHNoaWZ0S2V5ID0gZmFsc2UsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIG1ldGFLZXkgPSBmYWxzZSk7CiAjZW5kaWYK
LQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElW
RV9DCi0gICAgLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCi0gICAgdm9pZCBpbml0S2V5
Ym9hcmRFdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb3B0aW9uYWwgRE9NV2luZG93PyB2aWV3LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3B0aW9uYWwgRE9NU3RyaW5nIGtleUlkZW50aWZpZXIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGtleUxvY2F0aW9uLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjdHJsS2V5LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBhbHRLZXksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCBib29sZWFuIHNoaWZ0S2V5LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb3B0aW9uYWwgYm9vbGVhbiBtZXRhS2V5LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3B0aW9uYWwgYm9vbGVhbiBhbHRHcmFwaEtleSk7Ci0KLSAgICB2b2lkIGluaXRLZXlib2Fy
ZEV2ZW50KG9wdGlvbmFsIERPTVN0cmluZyB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5CdWJibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRpb25hbCBib29sZWFuIGNhbmNlbGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRpb25hbCBET01XaW5kb3c/IHZpZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBv
cHRpb25hbCBET01TdHJpbmcga2V5SWRlbnRpZmllciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcga2V5TG9jYXRpb24sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGN0cmxLZXksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCBib29sZWFuIGFsdEtleSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsIGJvb2xlYW4gc2hpZnRLZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRpb25hbCBib29sZWFuIG1ldGFLZXkpOwotI2VuZGlmCi0KIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VFdmVudC5jcHAKaW5kZXggNTFiN2ZjNTViYmYyYTFjNzJmODVhNjA2ZTI5Mzg4MmRk
OGQ3NzVlMC4uYTNmZThkZGZjMzc3MjVlODhjNmI3M2U4ODFhZTg3NmNmYTg4OTlmZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL01lc3NhZ2VFdmVudC5jcHAKQEAgLTE5MiwyNCArMTkyLDYgQEAgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlKiBNZXNzYWdlRXZlbnQ6OmRhdGEoKSBjb25zdAogICAgIHJldHVybiBtX2Rh
dGFBc1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5nZXQoKTsKIH0KIAotTWVzc2FnZVBvcnQqIE1lc3Nh
Z2VFdmVudDo6bWVzc2FnZVBvcnQoKQotewotICAgIGlmICghbV9wb3J0cykKLSAgICAgICAgcmV0
dXJuIDA7Ci0gICAgQVNTRVJUKG1fcG9ydHMtPnNpemUoKSA9PSAxKTsKLSAgICByZXR1cm4gKCpt
X3BvcnRzKVswXS5nZXQoKTsKLX0KLQotdm9pZCBNZXNzYWdlRXZlbnQ6OmluaXRNZXNzYWdlRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxh
YmxlLCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gZGF0YSwgY29uc3QgU3RyaW5n
JiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbGFzdEV2ZW50SWQsIERPTVdpbmRvdyogc291cmNlLCBN
ZXNzYWdlUG9ydCogcG9ydCkKLXsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8TWVzc2FnZVBvcnRBcnJh
eT4gcG9ydHM7Ci0gICAgaWYgKHBvcnQpIHsKLSAgICAgICAgcG9ydHMgPSBzdGQ6Om1ha2VfdW5p
cXVlPE1lc3NhZ2VQb3J0QXJyYXk+KCk7Ci0gICAgICAgIHBvcnRzLT5hcHBlbmQocG9ydCk7Ci0g
ICAgfQotICAgIGluaXRNZXNzYWdlRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCBk
YXRhLCBvcmlnaW4sIGxhc3RFdmVudElkLCBzb3VyY2UsIFdURk1vdmUocG9ydHMpKTsKLX0KLQog
RXZlbnRJbnRlcmZhY2UgTWVzc2FnZUV2ZW50OjpldmVudEludGVyZmFjZSgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIE1lc3NhZ2VFdmVudEludGVyZmFjZVR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2
ZW50LmgKaW5kZXggMGNjZWFmNDg4YTdjYjNlMTNiYjg4M2QyYTUyYjk3ZjA5YTg3ZjAzMS4uYmZj
NjgwMjVhNGI0ZWQyZTljMmE4NTc5ZGViNTVhMmQ3NjRkNTE2YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNz
YWdlRXZlbnQuaApAQCAtNjYsMTAgKzY2LDYgQEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBSZW1v
dmUgdGhpcyB3aGVuIHdlIGhhdmUgY3VzdG9tIE9iakMgYmluZGluZyBzdXBwb3J0LgogICAgIFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZSogZGF0YSgpIGNvbnN0OwogCi0gICAgLy8gTmVlZGVkIGZvciBP
YmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1ZyAyODc3NCkuCi0gICAgTWVzc2FnZVBvcnQqIG1l
c3NhZ2VQb3J0KCk7Ci0gICAgdm9pZCBpbml0TWVzc2FnZUV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+IGRhdGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJp
bmcmIGxhc3RFdmVudElkLCBET01XaW5kb3cqIHNvdXJjZSwgTWVzc2FnZVBvcnQqKTsKLQogICAg
IEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBl
bnVtIERhdGFUeXBlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9y
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCmluZGV4IGExZjcwZmRm
ZjQyMzBjNjA1YmRiMTNhZWY5ODZiZWZjOWFiZDI2OWYuLjc5YTgwZWQzNDA5OGNmNzhkZGQ5NjRj
MmFjYzdjYjZkY2U3NDQ2NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcApAQCAtNTMs
MTQgKzUzLDYgQEAgTWVzc2FnZVBvcnQ6On5NZXNzYWdlUG9ydCgpCiAgICAgICAgIG1fc2NyaXB0
RXhlY3V0aW9uQ29udGV4dC0+ZGVzdHJveWVkTWVzc2FnZVBvcnQoKnRoaXMpOwogfQogCi12b2lk
IE1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYm
IG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiBwb3J0LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBN
ZXNzYWdlUG9ydEFycmF5IHBvcnRzOwotICAgIGlmIChwb3J0KQotICAgICAgICBwb3J0cy5hcHBl
bmQocG9ydCk7Ci0gICAgcG9zdE1lc3NhZ2UoV1RGTW92ZShtZXNzYWdlKSwgJnBvcnRzLCBlYyk7
Ci19Ci0KIHZvaWQgTWVzc2FnZVBvcnQ6OnBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+JiYgbWVzc2FnZSwgY29uc3QgTWVzc2FnZVBvcnRBcnJheSogcG9ydHMsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewogICAgIGlmICghaXNFbnRhbmdsZWQoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3Nh
Z2VQb3J0LmgKaW5kZXggNjMxOGFhNDEwYWJlZDIwNWM3MzgzM2ExZTZmZjA1ZWQ5Mzc2M2Q0OC4u
NzY3NzAxOGUxMWM5YmJiZjg5NTMyYjRlZjZjNWMzMDg1YzQwZjljNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0LmgKQEAgLTUxLDggKzUxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2aXJ0dWFsIH5NZXNzYWdlUG9ydCgpOwogCiAgICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBjb25zdCBNZXNzYWdlUG9ydEFy
cmF5KiwgRXhjZXB0aW9uQ29kZSYpOwotICAgICAgICAvLyBOZWVkZWQgZm9yIE9iamVjdGl2ZS1D
IGJpbmRpbmdzIChzZWUgYnVnIDI4Nzc0KS4KLSAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiwgRXhjZXB0
aW9uQ29kZSYpOwogCiAgICAgICAgIHZvaWQgc3RhcnQoKTsKICAgICAgICAgdm9pZCBjbG9zZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuaWRsCmluZGV4IDQ5YWNmNjNkODJjNWVkNmI3NTMzZjEwMjM5MjNlZGZmYWYx
YTkxNjAuLmNmNWMzZTc5Y2ExNDNlMThlMzJlNzlmMTkxYzQ3OWI4OGE3OTZkN2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5pZGwKQEAgLTI1LDEzICsyNSw3IEBACiAgICAgSlNDdXN0b21IZWFkZXIsCiAgICAgSlND
dXN0b21NYXJrRnVuY3Rpb24sCiAgICAgSlNDdXN0b21QdXNoRXZlbnRIYW5kbGVyU2NvcGUsCi0g
ICAgT2JqQ1BvbHltb3JwaGljLAotXSBpbnRlcmZhY2UgTm9kZQotI2lmIGRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgOiBPYmplY3QsIEV2
ZW50VGFyZ2V0Ci0jZWxzZQotICAgIDogRXZlbnRUYXJnZXQKLSNlbmRpZgorXSBpbnRlcmZhY2Ug
Tm9kZSA6IEV2ZW50VGFyZ2V0CiAgewogICAgIC8vIE5vZGVUeXBlCiAgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgICAgICBFTEVNRU5UX05PREUgICAgICAgICAgICAgICAgICAgPSAxOwpAQCAtNzYs
MTkgKzcwLDEzIEBACiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKIAogI2lmICFk
ZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpIHx8ICFMQU5HVUFHRV9KQVZBU0NSSVBUCi0gICAg
W09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgSW1wbGVtZW50ZWRBcz1pc1N1cHBvcnRlZEZv
ckJpbmRpbmdzXSBib29sZWFuIGlzU3VwcG9ydGVkKG9wdGlvbmFsIERPTVN0cmluZyBmZWF0dXJl
LCBvcHRpb25hbCBET01TdHJpbmcgdmVyc2lvbik7CisgICAgW0ltcGxlbWVudGVkQXM9aXNTdXBw
b3J0ZWRGb3JCaW5kaW5nc10gYm9vbGVhbiBpc1N1cHBvcnRlZChvcHRpb25hbCBET01TdHJpbmcg
ZmVhdHVyZSwgb3B0aW9uYWwgRE9NU3RyaW5nIHZlcnNpb24pOwogI2VuZGlmCiAKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyAgICAgICAgbmFtZXNwYWNlVVJJOwogICAgIFtTZXR0
ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmc/IHByZWZpeDsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyAgICAgICAgbG9jYWxOYW1lOwogCi0jaWYgZGVmaW5l
ZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgTmFtZWROb2Rl
TWFwICAgICBhdHRyaWJ1dGVzOwotICAgIGJvb2xlYW4gICAgICAgICAgICBoYXNBdHRyaWJ1dGVz
KCk7Ci0jZW5kaWYKLQotCiAgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMzoKIAogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/ICAgICAgIGJhc2VVUkk7CkBAIC0xMjAsMTIg
KzEwOCw1IEBACiAKICAgICAvLyBJRSBleHRlbnNpb25zCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IEVsZW1lbnQgICAgICAgICAgcGFyZW50RWxlbWVudDsKLQotI2lmIGRlZmluZWQoTEFOR1VBR0Vf
T0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gT2JqZWN0aXZlLUMg
ZXh0ZW5zaW9ucwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgIGlzQ29u
dGVudEVkaXRhYmxlOwotCi0gICAgdm9pZCBpbnNwZWN0KCk7Ci0jZW5kaWYKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlRmlsdGVyLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlRmlsdGVyLmlkbAppbmRleCBmYzcwMzk3ZDIxMDJmYWIwYTI1ZDE4NTk3MjU4MDJm
OWVjNjZkZTU0Li5mMWEzZWRlOTM2OWUyM2NiNGNiYzc2NGNkOTU3MjgyYTVjNTQxZThhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUZpbHRlci5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGVGaWx0ZXIuaWRsCkBAIC00MywxMCArNDMsNiBAQAogICAgIGNvbnN0IHVu
c2lnbmVkIGxvbmcgICAgICAgU0hPV19ET0NVTUVOVF9GUkFHTUVOVCAgICAgICAgID0gMHgwMDAw
MDQwMDsKICAgICBjb25zdCB1bnNpZ25lZCBsb25nICAgICAgIFNIT1dfTk9UQVRJT04gICAgICAg
ICAgICAgICAgICA9IDB4MDAwMDA4MDA7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElW
RV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIHNob3J0IGFjY2VwdE5vZGUob3B0aW9u
YWwgTm9kZSBuKTsKLSNlbHNlCiAgICAgW0N1c3RvbV0gdW5zaWduZWQgc2hvcnQgYWNjZXB0Tm9k
ZShvcHRpb25hbCBOb2RlIG5vZGUpOwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZs
b3dFdmVudC5pZGwKaW5kZXggZjUzMGJmNTk2MmU3YjliMDExODlmMmIzZDM3OWQ2NTlkZGM5Yzhi
OS4uMGRkNzljMWIxNjE4NjZlYTc4NDEwM2JjNmNmMzgwMjhkMTQwNzVlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9PdmVyZmxvd0V2ZW50LmlkbApAQCAtMzMsMTEgKzMzLDUgQEAKICAgICBbSW5pdGlhbGl6
ZWRCeUV2ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBv
cmllbnQ7CiAgICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBob3Jpem9udGFsT3ZlcmZsb3c7CiAgICAgW0luaXRpYWxpemVkQnlFdmVu
dENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB2ZXJ0aWNhbE92ZXJmbG93
OwotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNU
SVZFX0MKLSAgICB2b2lkIGluaXRPdmVyZmxvd0V2ZW50KG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0
IG9yaWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gaG9y
aXpvbnRhbE92ZXJmbG93LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9v
bGVhbiB2ZXJ0aWNhbE92ZXJmbG93KTsKLSNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50
LmgKaW5kZXggNzg1YWRkOGUzNTk5NzNjZThmMjBiZjcyYzYwZWVhNGVlNGYxNDNhNC4uMzFiYWJh
MmQwZDkyY2RiYTQ5NjJkMWRlOGQ3ZDBkMTRjYWI3MWRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1doZWVsRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVu
dC5oCkBAIC04Nyw4ICs4Nyw2IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBkZWx0YU1vZGUoKSBj
b25zdCB7IHJldHVybiBtX2RlbHRhTW9kZTsgfQogCiAgICAgYm9vbCB3ZWJraXREaXJlY3Rpb25J
bnZlcnRlZEZyb21EZXZpY2UoKSBjb25zdCB7IHJldHVybiBtX3doZWVsRXZlbnQuZGlyZWN0aW9u
SW52ZXJ0ZWRGcm9tRGV2aWNlKCk7IH0KLSAgICAvLyBOZWVkZWQgZm9yIE9iamVjdGl2ZS1DIGxl
Z2FjeSBzdXBwb3J0Ci0gICAgYm9vbCBpc0hvcml6b250YWwoKSBjb25zdCB7IHJldHVybiBtX3do
ZWVsRGVsdGEueCgpOyB9CiAKICAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNv
bnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5pZGwKaW5kZXggM2QzNDM5YzI2
OGQxOTRlYTJjZWU0NDUwYzk2YTBlNDYzNGFlZjk2NS4uNmUxOGY5MDllYTJhNzM0MmFiMWRmMjdi
NGY4ZTY4OWM5MzY0ZDIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZl
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmlkbApAQCAtNDIsMTAg
KzQyLDYgQEAKICAgICAvLyBXZWJLaXQgRXh0ZW5zaW9uCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gd2Via2l0RGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlOwogCi0jaWYgZGVmaW5l
ZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0hvcml6b250YWw7Ci0jZW5kaWYgLyogZGVmaW5lZChM
QU5HVUFHRV9PQkpFQ1RJVkVfQykgKi8KLQogI2lmICFkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJ
UFQpIHx8ICFMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgdm9pZCBpbml0V2hlZWxFdmVudChvcHRp
b25hbCBsb25nIHdoZWVsRGVsdGFYLAogICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
bG9uZyB3aGVlbERlbHRhWSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFs
bENvbGxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5j
cHAKaW5kZXggZGFiMDUwMGZhZDg4YzY1NGE1YjkxY2JlNWQzZDlhNzQ2Mjc5OGIxYi4uZmNmM2Fh
MGVlYWMwMzk1NDQ3M2Y5YmNiNDBlYzUyYjQ5YThhYjcxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQWxsQ29sbGVjdGlvbi5jcHAKQEAgLTU5LDQgKzU5LDEyIEBAIEVsZW1lbnQqIEhUTUxB
bGxDb2xsZWN0aW9uOjpuYW1lZEl0ZW1XaXRoSW5kZXgoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
LCB1bnNpZ25lCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK1JlZlB0cjxOb2RlTGlzdD4gSFRN
TEFsbENvbGxlY3Rpb246OnRhZ3MoY29uc3QgU3RyaW5nJiBuYW1lKQoreworICAgIGlmIChuYW1l
LmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBvd25lck5v
ZGUoKS5nZXRFbGVtZW50c0J5VGFnTmFtZShuYW1lKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5oCmluZGV4IGI2MDExYjQ5
NjJkZTBjNzc3M2NiMzFiZTkxNjZkM2U5OGI5MDRkYzAuLjA4OWI3MmFjZWIxMGQyYWJkYzAyN2M3
YWNkZGNmNmQ2MTIzOGZiZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFs
bENvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9u
LmgKQEAgLTM1LDYgKzM1LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8SFRNTEFsbENvbGxl
Y3Rpb24+IGNyZWF0ZShEb2N1bWVudCYsIENvbGxlY3Rpb25UeXBlKTsKIAogICAgIEVsZW1lbnQq
IG5hbWVkSXRlbVdpdGhJbmRleChjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIHVuc2lnbmVkIGlu
ZGV4KSBjb25zdDsKKyAgICBSZWZQdHI8Tm9kZUxpc3Q+IHRhZ3MoY29uc3QgU3RyaW5nJik7CiAK
ICAgICAvLyBGb3IgQ2FjaGVkSFRNTENvbGxlY3Rpb24uCiAgICAgYm9vbCBlbGVtZW50TWF0Y2hl
cyhFbGVtZW50JikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmlkbAppbmRleCBkZTNhYWIwMDg0NDZmZDkxODU0YmRlZWMwMmJjYzA3
MDBjOWZiNDkyLi4zMTFhNmQzYzliYTZiMTQ2ZmUyZDZkYjYxNTQ5ZTk0NTczMjdjMjU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbApAQCAtMzUsMjUgKzM1LDEy
IEBAIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICBbUmVm
bGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB0YXJnZXQ7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0
ZSBET01TdHJpbmcgdHlwZTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYm
IExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcg
YWNjZXNzS2V5OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAm
JiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
dGV4dDsKLSNlbHNlCiAgICAgW1NldHRlclJhaXNlc0V4Y2VwdGlvbl0gIGF0dHJpYnV0ZSBET01T
dHJpbmcgdGV4dDsKLSNlbmRpZgogCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSAm
JiBMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgW05vdEVudW1lcmFibGVdIERPTVN0cmluZyB0b1N0
cmluZygpOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBM
QU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlua1VSTDsKLSNlbmRpZgotCiAgICAgW1B1
dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHJlbExpc3Q7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwKaW5kZXggMzY5Yzkw
M2ZjZGE0ODcwMDg1NzkxOGUxYmYwZDhjNDRiNTRjNDI4MC4uYmJjNjNlOTI5YzgyZDg0ZDk2M2Vi
YTNlYmQyZDQ2YWYzZDhlOTk3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXJlYUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50
LmlkbApAQCAtMzEsMTUgKzMxLDYgQEAgaW50ZXJmYWNlIEhUTUxBcmVhRWxlbWVudCA6IEhUTUxF
bGVtZW50IHsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBzaGFwZTsKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB0YXJnZXQ7CiAKLSNpZiBkZWZpbmVkKExBTkdV
QUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIFtSZWZsZWN0XSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tleTsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChMQU5H
VUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBPYmplY3Rp
dmUtQyBleHRlbnNpb246Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtV
Ukw7Ci0jZW5kaWYKLQogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRl
IERPTVRva2VuTGlzdCByZWxMaXN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJh
c2VGb250RWxlbWVudC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyYzFhZmY1
OGU5ZWUzOTFhYTdjZGE2YTk0M2E1ZTE4N2M4N2MyYmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRF
bGVtZW50LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAqICAgICAgICAgICAoQykg
MTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykg
MjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSFRNTEJhc2VGb250
RWxlbWVudC5oIgotCi0jaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQotSFRNTEJhc2VGb250RWxlbWVudDo6
SFRNTEJhc2VGb250RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCYgZG9jdW1lbnQpCi0gICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKLXsKLSAg
ICBBU1NFUlQoaGFzVGFnTmFtZShiYXNlZm9udFRhZykpOwotfQotCi19CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBjNGZiNjZlMDcxNTFjMTE1ZTBkMGM0ZjkxZTU1NmFhMGRmZmYzNzE2Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEJhc2VGb250RWxlbWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQotICogICAgICAg
ICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQotICogQ29weXJp
Z2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgSFRNTEJhc2VGb250RWxlbWVudF9oCi0jZGVm
aW5lIEhUTUxCYXNlRm9udEVsZW1lbnRfaAotCi0jaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBPbmx5IHVzZWQgYnkgT2JqQyBiaW5kaW5ncy4KLWNs
YXNzIEhUTUxCYXNlRm9udEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1lbnQgewotcHJp
dmF0ZToKLSAgICBIVE1MQmFzZUZvbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwotfTsKLQotfSAvLyBuYW1lc3BhY2UKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOWM2ZGE3ZmU2ZDNlODUwYWU5MzIzMmUwYWE5YzA4MDgxNWNlMDA3OC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxCYXNlRm9udEVsZW1lbnQuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotICovCi0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9P
QkpFQ1RJVkVfQwotCi1bCi0gICAgTm9JbnRlcmZhY2VPYmplY3QKLV0gaW50ZXJmYWNlIEhUTUxC
YXNlRm9udEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgY29sb3I7Ci0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgZmFjZTsK
LSAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBzaXplOyAvLyB0aGlzIGNoYW5nZWQg
dG8gYSBsb25nLCBidXQgb3VyIGV4aXN0aW5nIEFQSSBpcyBhIHN0cmluZwotfTsKLQotI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsCmluZGV4IDc5NjJkZTY3
OGFkMjJhYzFlNTZiZDU1MWEyYjcyZmJiMzdhMzcwZDAuLmIzOTFkNmVhZTdkYjdkNzliY2M1MjQ0
ODRjMWMzN2I4NDJmMjMxOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1
dHRvbkVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1l
bnQuaWRsCkBAIC00MSwxMSArNDEsNSBAQCBpbnRlcmZhY2UgSFRNTEJ1dHRvbkVsZW1lbnQgOiBI
VE1MRWxlbWVudCB7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZUxpc3QgbGFiZWxzOwog
Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZF
X0MKLSAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0jZW5kaWYK
LQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElW
RV9DCiAgICAgdm9pZCBjbGljaygpOwotI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxDYW52YXNFbGVtZW50LmlkbAppbmRleCAwOGZjMTJhMmMwNGUwOGNjZWExNjVkZmYxMTM4YmQz
ODQzMWIxY2FjLi5iZWJhMzhkZjIyODk5MWI2OTVkZWIwMjg0YjUzMmU3MDg5MGYwZTE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbApAQCAtMjksNyArMjksNyBA
QAogICAgIFJlcG9ydEV4dHJhTWVtb3J5Q29zdCwKICAgICBSZXBvcnRFeHRlcm5hbE1lbW9yeUNv
c3QsCiBdIGludGVyZmFjZSBIVE1MQ2FudmFzRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKLSNpZiBk
ZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBk
ZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVk
KExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICBhdHRyaWJ1dGUgbG9u
ZyB3aWR0aDsKICAgICBhdHRyaWJ1dGUgbG9uZyBoZWlnaHQ7CiAjZWxzZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxDb2xsZWN0aW9uLmNwcAppbmRleCA2YTJmMTVmNmQwOTBkZTU5NjhmYzljNWM5ZTJi
NzllOWVlYWNmNGY2Li45MjlmNGU2ZmE2NzZlZTAxY2Q3OGFkOWFkYTE4NzQ0NWYwZDQ2YTVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcApAQCAtMjI4LDEyICsyMjgsNCBA
QCBWZWN0b3I8UmVmPEVsZW1lbnQ+PiBIVE1MQ29sbGVjdGlvbjo6bmFtZWRJdGVtcyhjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWUpIGNvbnN0CiAgICAgcmV0dXJuIGVsZW1lbnRzOwogfQogCi1SZWZQ
dHI8Tm9kZUxpc3Q+IEhUTUxDb2xsZWN0aW9uOjp0YWdzKGNvbnN0IFN0cmluZyYgbmFtZSkKLXsK
LSAgICBpZiAobmFtZS5pc051bGwoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBy
ZXR1cm4gb3duZXJOb2RlKCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUobmFtZSk7Ci19Ci0KIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENv
bGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaAppbmRleCBk
MTJlM2Q0NWViMmE4Y2Q2Y2UyNzI3ODc1YmQyM2U5MzY5MWUwMDUxLi41OTViNjVkMDc2MGVlM2E1
NWNmZmU3OWE2NzRjODRkZDhmM2M1Zjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlv
bi5oCkBAIC03MCw3ICs3MCw2IEBAIHB1YmxpYzoKICAgICBFbGVtZW50KiBpdGVtKHVuc2lnbmVk
IGluZGV4KSBjb25zdCBvdmVycmlkZSA9IDA7IC8vIFRpZ2h0ZW4gcmV0dXJuIHR5cGUgZnJvbSBO
b2RlTGlzdDo6aXRlbSgpLgogICAgIHZpcnR1YWwgRWxlbWVudCogbmFtZWRJdGVtKGNvbnN0IEF0
b21pY1N0cmluZyYgbmFtZSkgY29uc3QgPSAwOwogICAgIGNvbnN0IFZlY3RvcjxBdG9taWNTdHJp
bmc+JiBzdXBwb3J0ZWRQcm9wZXJ0eU5hbWVzKCk7Ci0gICAgUmVmUHRyPE5vZGVMaXN0PiB0YWdz
KGNvbnN0IFN0cmluZyYpOwogCiAgICAgLy8gTm9uLURPTSBBUEkKICAgICBWZWN0b3I8UmVmPEVs
ZW1lbnQ+PiBuYW1lZEl0ZW1zKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaWRsCmluZGV4IDZmYjNhZjk3NzBiZjhmZDg4YzEy
N2RhY2MwYzdiZjM5MDdiNTQyYTEuLjQ1YWJhMjBhOWU0Yzg1ZjEzZDdkYmNlNWE1NWViYjY4NWNj
NWU5YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaWRsCkBAIC0yNiwxNiAr
MjYsMTIgQEAKIF0gaW50ZXJmYWNlIEhUTUxDb2xsZWN0aW9uIHsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVD
VElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpF
Q1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYm
IExBTkdVQUdFX0dPQkpFQ1QKICAgICBnZXR0ZXIgTm9kZSBpdGVtKHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwogICAgIGdldHRlciBOb2RlIG5hbWVkSXRlbShET01TdHJpbmcgbmFtZSk7CiAjZWxzZQog
ICAgIGdldHRlciBFbGVtZW50PyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIGdldHRl
ciBFbGVtZW50PyBuYW1lZEl0ZW0oRE9NU3RyaW5nIG5hbWUpOwogI2VuZGlmCi0KLSNpZiBkZWZp
bmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIE5v
ZGVMaXN0IHRhZ3Mob3B0aW9uYWwgRE9NU3RyaW5nIG5hbWUpOwotI2VuZGlmCiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCmluZGV4IDZjNjc3NjQwMWJkM2U1OTJlZGMwM2Y2MmVi
NjI3YWUzOWZiNTg2MmIuLmNjODBhYTZhZGZiODg0NGQyOTI3NzVlNzY5MmFiYTM0NjRlMGNlYjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCkBAIC02MCwxMiArNjAsNiBAQAogICAg
IHZvaWQgZm9jdXMoKTsKICAgICB2b2lkIGJsdXIoKTsKICNlbmRpZgotCi0jaWYgZGVmaW5lZChM
QU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICBbUmVmbGVj
dF0gYXR0cmlidXRlIERPTVN0cmluZyBpZDsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENv
bGxlY3Rpb24gY2hpbGRyZW47Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0aXRs
ZURpc3BsYXlTdHJpbmc7Ci0jZW5kaWYKIH07CiAKIEhUTUxFbGVtZW50IGltcGxlbWVudHMgR2xv
YmFsRXZlbnRIYW5kbGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZp
ZWxkU2V0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1l
bnQuaWRsCmluZGV4IDJmNTg3MDE1ODZhYTgxNzQ3Y2QwN2QzNzE5YWJjYjRiNzQ1MDMyOGEuLjgy
YzE0MDIxNWFkN2YxMDQ3MzE5MjFlYzk1MDQ4NjA0YjEzM2MwZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbApAQCAtMjQsNyArMjQsNyBAQCBpbnRlcmZh
Y2UgSFRNTEZpZWxkU2V0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZF
X0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkg
JiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFO
R1VBR0VfR09CSkVDVAogICAgIFtJbXBsZW1lbnRlZEFzPWVsZW1lbnRzRm9yTmF0aXZlQmluZGlu
Z3NdIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBlbGVtZW50czsKICNlbHNlCiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uIGVsZW1lbnRz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsCmluZGV4IDQzY2U0YjU2ZmY2
ODVkZWIyMmUyMzU2NDZlZjAyZGFkZjU0ZmZlY2MuLjI4ZWU2ZjBjZjg5NmU0ZmFjZjlhM2QxOWRk
ZjVjNDcxNTBhNDllODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1F
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwK
QEAgLTM0LDcgKzM0LDcgQEAKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gbm9WYWxp
ZGF0ZTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB0YXJnZXQ7CiAKLSNpZiBk
ZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBk
ZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVk
KExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICBbSW1wbGVtZW50ZWRB
cz1lbGVtZW50c0Zvck5hdGl2ZUJpbmRpbmdzXSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxl
Y3Rpb24gZWxlbWVudHM7CiAjZWxzZQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUNv
bnRyb2xzQ29sbGVjdGlvbiBlbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEh5cGVybGlua0VsZW1lbnRVdGlscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxIeXBlcmxpbmtFbGVtZW50VXRpbHMuaWRsCmluZGV4IDcxOGY2MTdlMDRjZjNlNjJiNDcyMjIw
NDg2YmM3MjNhNTQ4NjU5NDEuLjNiZGM5MzNkZTM2Yzc2M2UwYjVlM2YzMDZmOGY2YmY3MTRmYmUw
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEh5cGVybGlua0VsZW1lbnRV
dGlscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSHlwZXJsaW5rRWxlbWVudFV0
aWxzLmlkbApAQCAtMjksMTUgKzI5LDYgQEAKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGhyZWY7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBvcmlnaW47
CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJ
VkVfQwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcHJvdG9jb2w7Ci0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBob3N0OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgaG9zdG5hbWU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwb3J0
OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcGF0aG5hbWU7Ci0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBzZWFyY2g7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBoYXNoOwotI2Vsc2UKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHByb3RvY29sOwog
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlcm5hbWU7CiAgICAgYXR0cmlidXRlIERPTVN0cmlu
ZyBwYXNzd29yZDsKQEAgLTQ3LDUgKzM4LDQgQEAKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBh
dGhuYW1lOwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgc2VhcmNoOwogICAgIGF0dHJpYnV0ZSBE
T01TdHJpbmcgaGFzaDsKLSNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1l
RWxlbWVudC5pZGwKaW5kZXggZDlkMDJmYTI5ZjdjMzliODdiODAzMDY2ZTVmZDA3ODYzMGMxNjEw
Yy4uN2Q4OTU0YmU0YTNjODNiOGRmZGI5NWY3ZTgzMGI3NTdlZmJmZmQzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5pZGwKQEAgLTI3LDcgKzI3LDcgQEAgaW50ZXJm
YWNlIEhUTUxJRnJhbWVFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtSZWZsZWN0LCBUcmVh
dE51bGxBcz1FbXB0eVN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBtYXJnaW5XaWR0aDsKICAg
ICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogCi0jaWYgZGVmaW5lZChMQU5H
VUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5H
VUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9H
T0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01T
dHJpbmcgc2FuZGJveDsKICNlbHNlCiAgICAgW1B1dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBh
dHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHNhbmRib3g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmlkbAppbmRleCAxNzk3NTU0NGQyMzRmNTY3MGE5YmE2ZjA2MTRlYTIyZmU0ZGYw
OTczLi5kYTUwMzY2MWQ2YzJhMTVhNWFkMjA0Mzc0ZGVkNzNmMWUxNDZmZjY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwKQEAgLTQxLDE2ICs0MSwxMCBAQAogCiAg
ICAgLy8gRXh0ZW5zaW9ucwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBsZXRl
OwotICAgIFtSZWZsZWN0LFVSTF0gYXR0cmlidXRlIERPTVN0cmluZyBsb3dzcmM7CisgICAgW1Jl
ZmxlY3QsIFVSTF0gYXR0cmlidXRlIERPTVN0cmluZyBsb3dzcmM7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGxvbmcgbmF0dXJhbEhlaWdodDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBu
YXR1cmFsV2lkdGg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgeDsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgbG9uZyB5OwotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykg
JiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNpb246Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBhbHREaXNwbGF5U3RyaW5nOwotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVJbWFnZVVSTDsKLSNlbmRpZgogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKaW5kZXggNDE2N2VkZGE5NDMzYjU2
OTNiMzkwMzNmNmQ0YTMzNzUwMjBkMjJmZC4uNDFiMTQzNWFkNTBjM2ZlOWVlZDM3ZTIyMDQwMjg0
ZGE0MDBiNzE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCkBA
IC01MiwxMSArNTIsNyBAQAogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBsYWNl
aG9sZGVyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiByZWFkT25seTsKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gcmVxdWlyZWQ7Ci0jaWYgZGVmaW5lZChMQU5HVUFH
RV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICBbT2JqQ0ltcGxlbWVu
dGVkQXNVbnNpZ25lZExvbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgc2l6ZTsgLy8gRE9NIGxldmVs
IDIgY2hhbmdlZCB0aGlzIHRvIGEgbG9uZywgYnV0IE9iakMgQVBJIGlzIGEgc3RyaW5nCi0jZWxz
ZQogICAgIFtTZXR0ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNp
emU7IC8vIENoYW5nZWQgc3RyaW5nIC0+IGxvbmcgLT4gdW5zaWduZWQgbG9uZwotI2VuZGlmCiAg
ICAgW1JlZmxlY3QsIFVSTF0gYXR0cmlidXRlIERPTVN0cmluZyBzcmM7CiAgICAgW1JlZmxlY3Rd
IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RlcDsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7
IC8vIHJlYWRvbmx5IGRyb3BwZWQgYXMgcGFydCBvZiBET00gbGV2ZWwgMgpAQCAtOTMsMzUgKzg5
LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGVuZCwKICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVN0cmluZyBzZWxlY3Rpb25Nb2RlKTsKIAot
I2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9D
Ci0gICAgW0N1c3RvbV0gdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShsb25nIHN0YXJ0LCBsb25nIGVu
ZCk7Ci0jZWxzZQogICAgIFtDdXN0b21dIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UobG9uZyBzdGFy
dCwgbG9uZyBlbmQsIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24pOwotI2VuZGlmCiAKICAg
ICAvLyBOb24tc3RhbmRhcmQgYXR0cmlidXRlcwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGFsaWduOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZU1hcDsK
ICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gaW5jcmVtZW50YWw7CiAKLSNpZiBkZWZp
bmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIFtS
ZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tleTsKLSNlbmRpZgotCi0jaWYgZGVm
aW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICB2
b2lkIGNsaWNrKCk7Ci0jZW5kaWYKLQogI2lmICFkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQp
IHx8ICFMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgdm9pZCBzZXRWYWx1ZUZvclVzZXIoRE9NU3Ry
aW5nIHZhbHVlKTsKICNlbmRpZgogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykg
JiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNpb246Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBhbHREaXNwbGF5U3RyaW5nOwotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVJbWFnZVVSTDsKLSNlbmRpZgotCiAgICAgW0Nv
bmRpdGlvbmFsPUlPU19BVVRPQ09SUkVDVF9BTkRfQVVUT0NBUElUQUxJWkVdIGF0dHJpYnV0ZSBi
b29sZWFuIGF1dG9jb3JyZWN0OwogCiAgICAgW0NvbmRpdGlvbmFsPUlPU19BVVRPQ09SUkVDVF9B
TkRfQVVUT0NBUElUQUxJWkUsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGF1dG9jYXBpdGFsaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTGFiZWxFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVu
dC5pZGwKaW5kZXggOTJlNWY0YmE3NjFkNDQxZjNhMWU3NWQ3MTUxMGFlNjg0ZDgwZDAxOS4uZmEz
NzM2MGI3NzVmNzNjNmY3ODY3Nzg1MDc1Y2RlNjQ0NzNmZmUzZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMYWJlbEVsZW1lbnQuaWRsCkBAIC0yMiw4ICsyMiw1IEBAIGludGVyZmFjZSBIVE1M
TGFiZWxFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1M
Rm9ybUVsZW1lbnQgZm9ybTsKICAgICBbUmVmbGVjdD1mb3JdIGF0dHJpYnV0ZSBET01TdHJpbmcg
aHRtbEZvcjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEVsZW1lbnQgY29udHJvbDsKLSNp
ZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwot
ICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tleTsKLSNlbmRpZgogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbAppbmRleCA3NDk3NDVl
NGJkZmM1NzI3ZWI1ZjA1MTdiYTNlODZjN2I1Y2M1ZmE4Li5lOGU4ODcxOWEyZmUxY2M4ZmRiNTk4
NDAyZjIwZDNiZThjMGY1YjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxM
ZWdlbmRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVt
ZW50LmlkbApAQCAtMjEsOCArMjEsNSBAQAogaW50ZXJmYWNlIEhUTUxMZWdlbmRFbGVtZW50IDog
SFRNTEVsZW1lbnQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQgZm9y
bTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhbGlnbjsKLSNpZiBkZWZpbmVk
KExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tleTsKLSNlbmRpZgogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCmluZGV4IDM4ODIxNzkxZTE4NTU4ZjFmMGU0
YThjNTJjZTYwZmNlNGZlNmJlNDguLjM3YmNmOGMxODBiZWFlZmI0MGNlZjk5ZTg2MjE5YzBmNzU3
YTk0YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwKQEAgLTMwLDkg
KzMwLDcgQEAKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYTsKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyByZWw7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0
ZSBET01TdHJpbmcgcmV2OwotI2lmIChkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExB
TkdVQUdFX0pBVkFTQ1JJUFQpIHx8IChkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpIHx8IExBTkdV
QUdFX0dPQkpFQ1QpCiAgICAgW1B1dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUg
RE9NVG9rZW5MaXN0IHNpemVzOwotI2VuZGlmCiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01T
dHJpbmcgdGFyZ2V0OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAg
ICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYXM7CkBAIC00MSwxMSArMzksNiBAQAog
ICAgIC8vIERPTSBMZXZlbCAyIFN0eWxlCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFN0eWxlU2hl
ZXQgc2hlZXQ7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFH
RV9PQkpFQ1RJVkVfQwotICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlua1VSTDsKLSNlbmRpZgotCiAgICAgW1B1dEZvcndh
cmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHJlbExpc3Q7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCA2MTYzNjJiMmFj
NjVlZWYyYmNhY2MwMjE1YjZhMDk0OGIwZmNlMGUwLi4wMTFmOGVkOTkzMmM1NGM2NWIzYjAxMDU5
ZWJiZjVmZDY4YjU4NTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5p
ZGwKQEAgLTc1LDExICs3NSw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZW5k
ZWQ7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGF1dG9wbGF5OwogICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBsb29wOwotI2lmICFkZWZpbmVkKExBTkdVQUdFX09CSkVD
VElWRV9DKSB8fCAhTEFOR1VBR0VfT0JKRUNUSVZFX0MKICAgICBQcm9taXNlIHBsYXkoKTsKLSNl
bHNlCi0gICAgdm9pZCBwbGF5KCk7Ci0jZW5kaWYKICAgICB2b2lkIHBhdXNlKCk7CiAgICAgdm9p
ZCBmYXN0U2Vlayh1bnJlc3RyaWN0ZWQgZG91YmxlIHRpbWUpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCmluZGV4IGFmMTU0NDdhOGU0MjIzNDYxNTdkZDE4OWNi
MGRlMjRlOTY3NDU3NDAuLjFmMGQyZjdmYjdmOTVmYjFjODgyZjIzMjNmMDhjMGNmMjUxZmVhNTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsCkBAIC01MCwxMCAr
NTAsNSBAQAogICAgIFtDaGVja1NlY3VyaXR5Rm9yTm9kZV0gcmVhZG9ubHkgYXR0cmlidXRlIERv
Y3VtZW50IGNvbnRlbnREb2N1bWVudDsKIAogICAgIFtDaGVja1NlY3VyaXR5Rm9yTm9kZSwgUmFp
c2VzRXhjZXB0aW9uXSBTVkdEb2N1bWVudCBnZXRTVkdEb2N1bWVudCgpOwotCi0jaWYgZGVmaW5l
ZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBP
YmplY3RpdmUtQyBleHRlbnNpb246Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0
ZUltYWdlVVJMOwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25zQ29sbGVjdGlvbi5pZGwKaW5kZXggZWRjOGQ0ZGU2ZDMxZWExODY1YTEzYjhiMTQ2ZmQ2MzAz
MjJiNThiMC4uMTMxNGU2NmRjODBlMzAyYjU3ZjRiZTI5YjViODAzZTVhNjI5MDY2MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbApAQCAtMjYsNyAr
MjYsNyBAQAogICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGVkSW5kZXg7CiAgICAgW0N1c3RvbVNl
dHRlciwgU2V0dGVyUmFpc2VzRXhjZXB0aW9uXSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5n
dGg7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpF
Q1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QK
KyNpZiBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICBn
ZXR0ZXIgTm9kZSBuYW1lZEl0ZW0oRE9NU3RyaW5nIG5hbWUpOwogI2Vsc2UKICAgICBnZXR0ZXIg
SFRNTE9wdGlvbkVsZW1lbnQ/IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CkBAIC00Nyw5ICs0
Nyw1IEBACiAgICAgLy8gRklYTUU6IFRoaXMgb3ZlcmxvYWQgaXMgbm90IGluIHRoZSBzcGVjaWZp
Y2F0aW9uIGFuZCBoYXMgYmVlbiBkcm9wcGVkIGluIEJsaW5rLgogICAgIHZvaWQgcmVtb3ZlKEhU
TUxPcHRpb25FbGVtZW50IG9wdGlvbik7CiAjZW5kaWYKLQotI2lmIGRlZmluZWQoTEFOR1VBR0Vf
T0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgTm9kZSBpdGVtKHVuc2ln
bmVkIGxvbmcgaW5kZXgpOwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuaWRsCmluZGV4IGM5MDRjNTMzYjI0ODZiNzllMTZkNjA2OGY0Y2E2MTk1OGEz
MTMwZjguLjVhZjRmZmU3NThiMWMyNDRhMTU2NzVhZmE2NDA5Mjk2NWE2NTgwNWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCkBAIC0zMCw3ICszMCw3IEBACiAg
ICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKICAgICBbUmVmbGVjdF0gYXR0
cmlidXRlIGJvb2xlYW4gcmVxdWlyZWQ7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElW
RV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1Qp
ICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExB
TkdVQUdFX0dPQkpFQ1QKICAgICBhdHRyaWJ1dGUgbG9uZyBzaXplOwogI2Vsc2UKICAgICBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOwpAQCAtMzksMTMgKzM5LDkgQEAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRN
TE9wdGlvbnNDb2xsZWN0aW9uIG9wdGlvbnM7Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJ
VkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9u
ZyBsZW5ndGg7Ci0jZWxzZQogICAgIFtTZXR0ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIGxlbmd0aDsKLSNlbmRpZgogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpF
Q1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFHRV9HT0JK
RUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAm
JiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgZ2V0dGVyIE5vZGUgaXRlbSh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKICAgICBOb2RlIG5hbWVkSXRlbShET01TdHJpbmcgbmFtZSk7CiAjZWxzZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVDZWxsRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNlbGxFbGVtZW50LmlkbAppbmRleCA2M2MwNTYxMmYx
NmI2YTE2NDFiMGE5YzJhMTE3MmY3MTQ0NzIzNWRlLi40Yzk2Njk5ODExYWQzNmY4NzZmODBjMDdm
ZTQ1ZmE0NjI5YjlkZTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJs
ZUNlbGxFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNlbGxF
bGVtZW50LmlkbApAQCAtMjYsNyArMjYsNyBAQCBpbnRlcmZhY2UgSFRNTFRhYmxlQ2VsbEVsZW1l
bnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3Q9Y2hhcl0gYXR0cmlidXRlIERPTVN0cmlu
ZyBjaDsKICAgICBbUmVmbGVjdD1jaGFyb2ZmXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoT2ZmOwog
Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZF
X0MgfHwgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYg
ZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgW0ltcGxl
bWVudGVkQXM9Y29sU3BhbkZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgbG9uZyBjb2xTcGFuOwogICAg
IFtJbXBsZW1lbnRlZEFzPXJvd1NwYW5Gb3JCaW5kaW5nc10gYXR0cmlidXRlIGxvbmcgcm93U3Bh
bjsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbApp
bmRleCBlNTNlNGQxYmMyOGU4Nzg2NThjZjYzMGY4ZmFhZTcwMWUzZGE4MmFiLi5iMGM4Y2MxNTVi
ZmY2YTVmMDM4MzM2MWUwMzkzODE4NjZlOTRlNGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRBcmVhRWxlbWVudC5pZGwKQEAgLTI5LDcgKzI5LDcgQEAgaW50ZXJmYWNlIEhUTUxU
ZXh0QXJlYUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgcGxhY2Vob2xkZXI7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIHJl
YWRPbmx5OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiByZXF1aXJlZDsKLSNpZiBk
ZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBk
ZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVk
KExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICBhdHRyaWJ1dGUgbG9u
ZyByb3dzOwogICAgIGF0dHJpYnV0ZSBsb25nIGNvbHM7CiAjZWxzZQpAQCAtNjIsMjEgKzYyLDEz
IEBAIGludGVyZmFjZSBIVE1MVGV4dEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBlbmQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICBvcHRpb25hbCBET01TdHJpbmcgc2VsZWN0aW9uTW9kZSk7CiAKLSNpZiBkZWZpbmVkKExB
TkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIHZvaWQgc2V0
U2VsZWN0aW9uUmFuZ2UobG9uZyBzdGFydCwgbG9uZyBlbmQpOwotI2Vsc2UKICAgICB2b2lkIHNl
dFNlbGVjdGlvblJhbmdlKG9wdGlvbmFsIGxvbmcgc3RhcnQgPSAwLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3B0aW9uYWwgbG9uZyBlbmQgPSAwLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgb3B0aW9uYWwgRE9NU3RyaW5nIGRpcmVjdGlvbik7Ci0jZW5kaWYKIAogICAgIFtDb25k
aXRpb25hbD1JT1NfQVVUT0NPUlJFQ1RfQU5EX0FVVE9DQVBJVEFMSVpFXSBhdHRyaWJ1dGUgYm9v
bGVhbiBhdXRvY29ycmVjdDsKIAogICAgIFtDb25kaXRpb25hbD1JT1NfQVVUT0NPUlJFQ1RfQU5E
X0FVVE9DQVBJVEFMSVpFLCBUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gYXR0cmlidXRlIERPTVN0
cmluZyBhdXRvY2FwaXRhbGl6ZTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0Mp
ICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgYWNjZXNzS2V5OwotI2VuZGlmCi0KICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGF1dG9jb21w
bGV0ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggZjQyMzg0ZDk0NjJiOTY4
MDZkN2JmNDdkZjk0ZGViMTc4ZmUyMGUyMS4uMTViOTc3Y2QwMTA1YzMyNmYxOGI5Njg2MGRjNzNk
Mzg0ZTlmZGI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtODgwLDE0ICs4ODAs
NiBAQCBTdG9yYWdlKiBET01XaW5kb3c6OmxvY2FsU3RvcmFnZShFeGNlcHRpb25Db2RlJiBlYykg
Y29uc3QKICAgICByZXR1cm4gbV9sb2NhbFN0b3JhZ2UuZ2V0KCk7CiB9CiAKLXZvaWQgRE9NV2lu
ZG93Ojpwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2Fn
ZSwgTWVzc2FnZVBvcnQqIHBvcnQsIGNvbnN0IFN0cmluZyYgdGFyZ2V0T3JpZ2luLCBET01XaW5k
b3cmIHNvdXJjZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgTWVzc2FnZVBvcnRBcnJheSBw
b3J0czsKLSAgICBpZiAocG9ydCkKLSAgICAgICAgcG9ydHMuYXBwZW5kKHBvcnQpOwotICAgIHBv
c3RNZXNzYWdlKG1lc3NhZ2UsICZwb3J0cywgdGFyZ2V0T3JpZ2luLCBzb3VyY2UsIGVjKTsKLX0K
LQogdm9pZCBET01XaW5kb3c6OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiBtZXNzYWdlLCBjb25zdCBNZXNzYWdlUG9ydEFycmF5KiBwb3J0cywgY29uc3QgU3Ry
aW5nJiB0YXJnZXRPcmlnaW4sIERPTVdpbmRvdyYgc291cmNlLCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKICAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmgKaW5kZXggZjg4ODllNzJjYjFmZjI0MDQ2MGE2YTU0NTdjMTUxOTc3OWY3ZjRkYS4u
YTZiNGIyZTE0ZDNjYjMyMmEwYjg3MzI2NTQ2OThlNWQyMmVlMjI4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oCkBAIC0yNDQsOCArMjQ0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBTdHJpbmcgY3Jvc3NEb21haW5BY2Nlc3NFcnJvck1lc3NhZ2UoY29uc3QgRE9NV2luZG93JiBh
Y3RpdmVXaW5kb3cpOwogCiAgICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UsIGNvbnN0IE1lc3NhZ2VQb3J0QXJyYXkqLCBjb25z
dCBTdHJpbmcmIHRhcmdldE9yaWdpbiwgRE9NV2luZG93JiBzb3VyY2UsIEV4Y2VwdGlvbkNvZGUm
KTsKLSAgICAgICAgLy8gTmVlZGVkIGZvciBPYmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1ZyAy
ODc3NCkuCi0gICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+IG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiwgY29uc3QgU3RyaW5nJiB0YXJnZXRPcmln
aW4sIERPTVdpbmRvdyYgc291cmNlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZvaWQgcG9z
dE1lc3NhZ2VUaW1lckZpcmVkKFBvc3RNZXNzYWdlVGltZXImKTsKICAgICAgICAgdm9pZCBkaXNw
YXRjaE1lc3NhZ2VFdmVudFdpdGhPcmlnaW5DaGVjayhTZWN1cml0eU9yaWdpbiogaW50ZW5kZWRU
YXJnZXRPcmlnaW4sIEV2ZW50JiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OlNjcmlwdENhbGxTdGFj
az4pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCmluZGV4IDI5MjJiYjY2NTc5NjdiYjBlMmU1ZDRmNTYxODYwODhlYjJm
MTJhOGIuLmUyMjUzYmU3ZGVjNDJlOGZiZWMyNTdhZjA0MWFiMzc0NTJkNWQ1OWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCkBAIC02MywxNCArNjMsNiBAQCBFdmVudFRhcmdldEludGVyZmFjZSBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZTo6ZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdAogICAgIHJldHVybiBE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZUV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsKIH0KIAot
dm9pZCBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBNZXNzYWdlUG9ydCogcG9ydCwgRXhjZXB0aW9u
Q29kZSYgZWMpCi17Ci0gICAgTWVzc2FnZVBvcnRBcnJheSBwb3J0czsKLSAgICBpZiAocG9ydCkK
LSAgICAgICAgcG9ydHMuYXBwZW5kKHBvcnQpOwotICAgIHBvc3RNZXNzYWdlKFdURk1vdmUobWVz
c2FnZSksICZwb3J0cywgZWMpOwotfQotCiB2b2lkIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
Ojpwb3N0TWVzc2FnZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIGNv
bnN0IE1lc3NhZ2VQb3J0QXJyYXkqIHBvcnRzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICAv
LyBEaXNlbnRhbmdsZSB0aGUgcG9ydCBpbiBwcmVwYXJhdGlvbiBmb3Igc2VuZGluZyBpdCB0byB0
aGUgcmVtb3RlIGNvbnRleHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNmY0ZDc3NDg3ZTg1YTM5MDkwYzE3NmMzMmFi
N2E1OGVhNzkwYTcyNy4uNGNjNWY3ZTYwNmE1Njg5Njg2YjY0YzU3NjNkYTY1ODI3ZWFlNDc1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuaApAQCAtNTQsOCArNTQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEV2
ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiYmLCBjb25zdCBNZXNzYWdlUG9ydEFycmF5KiwgRXhjZXB0aW9uQ29kZSYpOwotICAgICAgICAv
LyBOZWVkZWQgZm9yIE9iamVjdGl2ZS1DIGJpbmRpbmdzIChzZWUgYnVnIDI4Nzc0KS4KLSAgICAg
ICAgdm9pZCBwb3N0TWVzc2FnZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBNZXNz
YWdlUG9ydCosIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgICAgICBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQmIHRocmVhZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggOWQ2MmJiZWVk
OWViM2I4Zjg1MmRhODJjZDIxM2YxZWJkYTAwZDgyZC4uMzA2ZDI0N2M1ZjRiZmVhOGMwZDljNGJm
MTBkZjc0MDczNmQ0YWQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMTA3LDE0
ICsxMDcsNiBAQCBXb3JrZXI6On5Xb3JrZXIoKQogICAgIG1fY29udGV4dFByb3h5LT53b3JrZXJP
YmplY3REZXN0cm95ZWQoKTsKIH0KIAotdm9pZCBXb3JrZXI6OnBvc3RNZXNzYWdlKFJlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgTWVzc2FnZVBvcnQqIHBvcnQsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQotewotICAgIE1lc3NhZ2VQb3J0QXJyYXkgcG9ydHM7Ci0gICAgaWYgKHBv
cnQpCi0gICAgICAgIHBvcnRzLmFwcGVuZChwb3J0KTsKLSAgICBwb3N0TWVzc2FnZShXVEZNb3Zl
KG1lc3NhZ2UpLCAmcG9ydHMsIGVjKTsKLX0KLQogdm9pZCBXb3JrZXI6OnBvc3RNZXNzYWdlKFJl
ZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgY29uc3QgTWVzc2FnZVBvcnRB
cnJheSogcG9ydHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIERpc2VudGFuZ2xlIHRo
ZSBwb3J0IGluIHByZXBhcmF0aW9uIGZvciBzZW5kaW5nIGl0IHRvIHRoZSByZW1vdGUgY29udGV4
dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCmluZGV4IDc4Mjk2OTNkMWI0YWY2NjFkMTUyOGZlZjc2
NTM2YTgzOWQ2NmMwNmMuLmQxYjI0NDU4MmRiM2RiYzYyNjc2NjIxNWNlNGRjZTllZDg2ZDY3ZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaApAQCAtNTYsOCArNTYsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNl
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gV29ya2VyRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBl
OyB9CiAKICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiYmIG1lc3NhZ2UsIGNvbnN0IE1lc3NhZ2VQb3J0QXJyYXkqLCBFeGNlcHRpb25Db2RlJik7
Ci0gICAgICAgIC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3MgKHNlZSBidWcgMjg3
NzQpLgotICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+JiYgbWVzc2FnZSwgTWVzc2FnZVBvcnQqLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICAgICAg
dm9pZCB0ZXJtaW5hdGUoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285376</attachid>
            <date>2016-08-04 16:28:26 -0700</date>
            <delta_ts>2016-08-04 16:31:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160568-20160804162701.patch</filename>
            <type>text/plain</type>
            <size>68778</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFmOTk5ZDA4Y2NkYTI4
YzNhNTBmYjRmZDIwNmE2MDYwMjkzNDAxMi4uZWYxNWQ5OGEzZmZmY2U3Y2Q1YTA3MTU0YzE4MTM1
YTllYTYyOGVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDg3IEBACiAyMDE2LTA4LTA0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVtb3ZlIG1vcmUg
dW51c2VkIGJpbmRpbmdzIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MDU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3Mvb2JqYy9ET01Eb2N1bWVudC5tbToKKyAgICAgICAgKC1bRE9NRG9jdW1l
bnQgZXhlY0NvbW1hbmQ6dXNlckludGVyZmFjZTpdKToKKyAgICAgICAgKC1bRE9NRG9jdW1lbnQg
ZXhlY0NvbW1hbmQ6XSk6CisgICAgICAgICgtW0RPTURvY3VtZW50IGdldE1hdGNoZWRDU1NSdWxl
czpwc2V1ZG9FbGVtZW50Ol0pOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSFRNTEJhc2VG
b250RWxlbWVudC5tbToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUxDb2xsZWN0aW9u
Lm1tOgorICAgICAgICAoLVtET01IVE1MQ29sbGVjdGlvbiB0YWdzOl0pOgorICAgICAgICAqIGJp
bmRpbmdzL29iamMvRE9NV2hlZWxFdmVudC5tbToKKyAgICAgICAgKC1bRE9NV2hlZWxFdmVudCBp
c0hvcml6b250YWxdKToKKyAgICAgICAgKiBjc3MvUkdCQ29sb3IuaWRsOgorICAgICAgICAqIGRv
bS9BdHRyLmlkbDoKKyAgICAgICAgKiBkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAg
ICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9FdmVudEV4Y2VwdGlvbi5oOiBSZW1v
dmVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRFeGNlcHRpb246OkV2ZW50RXhjZXB0aW9uKTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vRXZlbnRFeGNlcHRpb24uaWRsOiBSZW1vdmVkLgorICAg
ICAgICAqIGRvbS9LZXlib2FyZEV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VFdmVudDo6bWVzc2FnZVBvcnQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZUV2ZW50Ojppbml0TWVzc2FnZUV2ZW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50Lmg6CisgICAgICAgICogZG9tL01l
c3NhZ2VQb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2Fn
ZSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0Lmg6CisgICAgICAgICogZG9t
L05vZGUuaWRsOgorICAgICAgICAqIGRvbS9Ob2RlRmlsdGVyLmlkbDoKKyAgICAgICAgKiBkb20v
T3ZlcmZsb3dFdmVudC5pZGw6CisgICAgICAgICogZG9tL1doZWVsRXZlbnQuaDoKKyAgICAgICAg
KiBkb20vV2hlZWxFdmVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQWxsQ29sbGVjdGlvbjo6dGFncyk6CisgICAgICAg
ICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5oOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEJhc2VGb250RWxlbWVudDo6SFRNTEJhc2VGb250RWxlbWVudCk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICog
aHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL0hU
TUxCdXR0b25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDb2xsZWN0aW9uOjp0YWdzKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxDb2xs
ZWN0aW9uLmg6CisgICAgICAgICogaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICog
aHRtbC9IVE1MRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50
LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzLmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJRnJh
bWVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTGFi
ZWxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVDZWxsRWxlbWVu
dC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBvc3RN
ZXNzYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAq
IHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RNZXNzYWdlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpwb3N0TWVzc2Fn
ZSk6IERlbGV0ZWQuCisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKworMjAxNi0wOC0wNCAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIEFub3RoZXIg
YnVpbGQgZml4IGF0dGVtcHQuCiAKICAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERP
TURlcHJlY2F0ZWQuY3BwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBmY2E0Njc2ZTM2ZDFhNWYx
ZTk4NzRmMDAzZjRiODhjNDc0ZTdhZWM2Li5iZGJmMTIxNDIwMTM5YTNjYjQ2ZjMxNjQwNzk2NGNh
NTkzMThiNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTY1MCw3ICsxNjUwLDYgQEAgc2V0
KFdlYkNvcmVfU09VUkNFUwogICAgIGh0bWwvSFRNTEF1ZGlvRWxlbWVudC5jcHAKICAgICBodG1s
L0hUTUxCUkVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCi0gICAgaHRt
bC9IVE1MQmFzZUZvbnRFbGVtZW50LmNwcAogICAgIGh0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAog
ICAgIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MQ2FudmFzRWxlbWVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDhjMzdkYjg4M2RmMzU2YTMx
ZTgwMWNmZGM4NGMxMzk0MWM3ZWU3NzguLmM1OTAyMzg2ZTM1MmIxNmZjMDNhNmEzNWVhOTYwNWQ4
Zjg4ZjllMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzYxLDcgKzM2MSw2
IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTEF1ZGlvRWxl
bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MQlJFbGVtZW50LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRt
bC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hUTUxCb2R5
RWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwg
XAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQwM2Zh
NzQwM2U3MGM3Mjc5NTk5NGU4Mjg1ZWUxN2Y4ZjA0MTFiZjkuLjVmYzFjMjk4YTUzOTc4ZjhiNmNm
YThiNTgzNTM2OWM3ZTczOWU0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ0NTEsOCArNDQ1MSw2IEBACiAJCUE4REYzRkNG
MDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOERGM0ZDNzA5N0ZBMEZC
MDA1Mjk4MUIgLyogSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uY3BwICovOyB9OwogCQlBOERG
M0ZEMDA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4REYzRkM4MDk3RkEwRkIwMDUyOTgxQiAv
KiBIVE1MQ29sbGVjdGlvbi5oICovOyB9OwogCQlBOERGM0ZEMTA5N0ZBMEZDMDA1Mjk4MUIgLyog
SFRNTENvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQThERjNGQzkwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxDb2xsZWN0aW9uLmNwcCAq
LzsgfTsKLQkJQThERjNGRDIwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4REYzRkNB
MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmggKi87IH07Ci0JCUE4REYz
RkQzMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4REYzRkNCMDk3RkEwRkIwMDUy
OTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCAqLzsgfTsKIAkJQThERjNGRDQwOTdGQTBG
QzAwNTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThERjNGQ0MwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxO
YW1lQ29sbGVjdGlvbi5oICovOyB9OwogCQlBOERGM0ZENTA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRN
TE5hbWVDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4REYzRkNEMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24u
Y3BwICovOyB9OwogCQlBOERGNEFFODA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVyVGFibGVDb2wu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThERjRB
REUwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRhYmxlQ29sLmNwcCAqLzsgfTsKQEAgLTU0NTUs
NyArNTQ1Myw2IEBACiAJCUJDNjBEN0MxMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNl
cHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
NjBEN0JGMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNlcHRpb24uaCAqLzsgfTsKIAkJ
QkM2MEQ4RjIwRDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2MEQ4RjAwRDJBMTFFMDAwQjk5
MThGIC8qIEV4Y2VwdGlvbkJhc2UuY3BwICovOyB9OwogCQlCQzYwRDhGMzBEMkExMUUwMDBCOTkx
OEYgLyogRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM2MEQ4RjEwRDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQzYwRDkw
QzBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNjBEOTA5MEQyQTE3Q0UwMEI5OTE4RiAvKiBF
dmVudEV4Y2VwdGlvbi5oICovOyB9OwogCQlCQzYwREE1QjBEMkEzMUY3MDBCOTkxOEYgLyogWFBh
dGhFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDNjBEQTU5MEQyQTMxRjcwMEI5OTE4RiAvKiBYUGF0aEV4Y2VwdGlvbi5oICovOyB9Owog
CQlCQzYwREI0OTBEMkEzRDFFMDBCOTkxOEYgLyogSlNYUGF0aEV4Y2VwdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzYwREI0NzBEMkEzRDFF
MDBCOTkxOEYgLyogSlNYUGF0aEV4Y2VwdGlvbi5jcHAgKi87IH07CiAJCUJDNjBEQjRBMEQyQTNE
MUUwMEI5OTE4RiAvKiBKU1hQYXRoRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzYwREI0ODBEMkEzRDFFMDBCOTkxOEYgLyogSlNYUGF0
aEV4Y2VwdGlvbi5oICovOyB9OwpAQCAtODE0Myw3ICs4MTQwLDYgQEAKIAkJMUFEQTRBMUIxRDIy
RjJDMDAwNUE5QTE1IC8qIFBheW1lbnRNZXJjaGFudFNlc3Npb25Db2NvYS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBheW1lbnRNZXJjaGFudFNlc3Npb25Db2Nv
YS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFMDBENTcxODJEQUM4RDAwMDg3
REQ3IC8qIEtleWVkQ29kaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtl
eWVkQ29kaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRTJBOUYwMEExQ0RB
NTcwMEI0MkIyNSAvKiBIVE1MQXJlYUVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBIVE1MQXJlYUVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQUUy
QTlGMTBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJhc2VGb250RWxlbWVudC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEhUTUxCYXNlRm9udEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQUUyQTlGMjBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJvZHlFbGVtZW50
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEJvZHlFbGVtZW50LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFMkE5RjMwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxC
UkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MQlJFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFMkE5RjQwQTFDREE1NzAwQjQyQjI1IC8q
IEhUTUxGaWVsZFNldEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MRmll
bGRTZXRFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMDY3LDgg
KzEyMDYzLDYgQEAKIAkJQThERjNGQzcwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxGb3JtQ29udHJv
bHNDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBI
VE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4REYzRkM4MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQ29sbGVjdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTENvbGxlY3Rpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQThERjNGQzkwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxDb2xsZWN0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MQ29sbGVj
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE4REYzRkNBMDk3RkEwRkIw
MDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBIVE1MQmFzZUZvbnRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUE4REYzRkNCMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MQmFzZUZvbnRFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThERjNGQ0MwOTdGQTBGQjAw
NTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSFRNTE5hbWVDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4REYzRkNEMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxOYW1lQ29sbGVjdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4REY0QURFMDk4MEM0MkMwMDUyOTgx
QiAvKiBSZW5kZXJUYWJsZUNvbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVuZGVyVGFibGVDb2wuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMyNDAsOCArMTMyMzQsNiBAQAogCQlCQzYwRDdCRjBEMjlBNDYzMDBCOTkxOEYgLyogSlNET01D
b3JlRXhjZXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQ29y
ZUV4Y2VwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzYwRDhGMDBEMkEx
MUUwMDBCOTkxOEYgLyogRXhjZXB0aW9uQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkM2MEQ4RjEwRDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhjZXB0aW9uQmFzZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlCQzYwRDkwOTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRFeGNlcHRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkM2MEQ5MEEwRDJBMTdDRTAwQjk5MThGIC8q
IEV2ZW50RXhjZXB0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFdmVudEV4Y2VwdGlv
bi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNjBEQTU5MEQyQTMxRjcwMEI5
OTE4RiAvKiBYUGF0aEV4Y2VwdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBYUGF0aEV4Y2VwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzYwREE1
QTBEMkEzMUY3MDBCOTkxOEYgLyogWFBhdGhFeGNlcHRpb24uaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFhQYXRoRXhjZXB0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkM2MERCNDcwRDJBM0QxRTAwQjk5MThGIC8qIEpTWFBhdGhFeGNlcHRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNYUGF0aEV4Y2VwdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODc4OSw5ICsxODc4MSw2IEBACiAJCQkJQTg3MURD
MUUwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVudC5jcHAgKi8sCiAJCQkJQTg3MURD
MTMwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVudC5oICovLAogCQkJCUE4MEU3QUFG
MEExOUQxRjEwMDdGQjhDNSAvKiBIVE1MQmFzZUVsZW1lbnQuaWRsICovLAotCQkJCUE4REYzRkNC
MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCAqLywKLQkJCQlBOERG
M0ZDQTA5N0ZBMEZCMDA1Mjk4MUIgLyogSFRNTEJhc2VGb250RWxlbWVudC5oICovLAotCQkJCTFB
RTJBOUYxMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmlkbCAqLywKIAkJ
CQk5QjI0REU4QzE1MTk0Qjk1MDBDNTlDMjcgLyogSFRNTEJESUVsZW1lbnQuaCAqLywKIAkJCQlB
ODcxREUxRDBBMTUyQUM4MDBCMTJBNjggLyogSFRNTEJvZHlFbGVtZW50LmNwcCAqLywKIAkJCQlB
ODcxREUyMDBBMTUyQUM4MDBCMTJBNjggLyogSFRNTEJvZHlFbGVtZW50LmggKi8sCkBAIC0yNDAy
MCw4ICsyNDAwOSw2IEBACiAJCQkJNDEzOEQzMzMxMjQ0MDU0ODAwMzIzRDMzIC8qIEV2ZW50Q29u
dGV4dC5oICovLAogCQkJCTQxOEEwNkNGMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNo
ZXIuY3BwICovLAogCQkJCTQxOEEwNkNFMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNo
ZXIuaCAqLywKLQkJCQlCQzYwRDkwOTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24u
aCAqLywKLQkJCQlCQzYwRDkwQTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24uaWRs
ICovLAogCQkJCTkzNUZCQzQ0MDlCQTAwQjkwMEUyMzBCMSAvKiBFdmVudExpc3RlbmVyLmggKi8s
CiAJCQkJODVBRkE3NDEwQUFGMjk4NDAwRTg0MzA1IC8qIEV2ZW50TGlzdGVuZXIuaWRsICovLAog
CQkJCUFENDQ5NUYxMTQxRkMwODkwMDU0MUVERiAvKiBFdmVudExpc3RlbmVyTWFwLmNwcCAqLywK
QEAgLTI1NTI5LDcgKzI1NTE2LDYgQEAKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyog
RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBF
dmVudENvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxOEEwNkQwMTMzQzA0RDUwMENEMzc5
QyAvKiBFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDNjBEOTBDMEQyQTE3
Q0UwMEI5OTE4RiAvKiBFdmVudEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlB
NTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTcwQjcyQTYxNDUwMDhFQjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTcwQjcyOEExNDRGRkFDNjAwRjAwQTM3IC8qIEV2ZW50SW50ZXJmYWNlcy5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNTczNyw3ICsyNTcyMyw2IEBACiAJCQkJN0M1RjI4RkMxQTgyN0Q4NDAw
QzBGMzFGIC8qIEhUTUxBdHRhY2htZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0
NjEzQTIwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxBdWRpb0VsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4NzFEQzFGMEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUE4REYzRkQyMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjI0REU4RTE1MTk0Qjk1MDBDNTlDMjcgLyog
SFRNTEJESUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFERTJDMEExNTJBQzgwMEIx
MkE2OCAvKiBIVE1MQm9keUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGN0FBMEEx
NTY5NzgwMDBBNDIzNCAvKiBIVE1MQlJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI5NDc4
LDcgKzI5NDYzLDYgQEAKIAkJCQk3QzVGMjhGQjFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0dGFj
aG1lbnRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxM0ExMENENjMzMTAwMEZB
REE3NSAvKiBIVE1MQXVkaW9FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQzJB
MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJQThERjNGRDMwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTg3MURFMjkwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxCb2R5RWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOENGRjdBODBBMTU2OTc4MDAwQTQyMzQgLyog
SFRNTEJSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODEzNjlEMzA5NzM3NEY2MDBE
NzQ0NjMgLyogSFRNTEJ1dHRvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUhUTUxQcml2YXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NSFRNTFByaXZhdGUu
Y3BwCmluZGV4IGQwOWIzNGE4NTdhNDgzNWI2MGQ1ZWM3NTRjYWIwMjU1N2M4ZjAyYmUuLjNmNDky
OTZhMTBiNjFjMThmYjQyZDI0MjZlYTY2YzY1MjM3MTVkN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NSFRNTFByaXZhdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NSFRNTFByaXZhdGUuY3BwCkBA
IC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiSFRNTEF1ZGlvRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxCUkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MQmFzZUVsZW1lbnQuaCIKLSNpbmNsdWRl
ICJIVE1MQmFzZUZvbnRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTEJ1dHRvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVu
dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Eb2N1bWVu
dC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRG9jdW1lbnQubW0KaW5kZXgg
N2Y2NjA0ODlkYmRjZmYzN2NhYmYxNThmNmI4OWRmZGNhYjE0YzM0Zi4uNmM2NDFlMjQxZDM2Yjg1
ZTA0NWRlN2VkY2U1OGRlOGFjMTNjZjEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01Eb2N1bWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTURvY3VtZW50Lm1tCkBAIC02NzEsMTQgKzY3MSwxMiBAQAogCiAtIChCT09MKWV4ZWND
b21tYW5kOihOU1N0cmluZyAqKWNvbW1hbmQgdXNlckludGVyZmFjZTooQk9PTCl1c2VySW50ZXJm
YWNlCiB7Ci0gICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIHJl
dHVybiBJTVBMLT5leGVjQ29tbWFuZChjb21tYW5kLCB1c2VySW50ZXJmYWNlKTsKKyAgICByZXR1
cm4gW3NlbGYgZXhlY0NvbW1hbmQ6Y29tbWFuZCB1c2VySW50ZXJmYWNlOnVzZXJJbnRlcmZhY2Ug
dmFsdWU6bnVsbHB0cl07CiB9CiAKIC0gKEJPT0wpZXhlY0NvbW1hbmQ6KE5TU3RyaW5nICopY29t
bWFuZAogewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICBy
ZXR1cm4gSU1QTC0+ZXhlY0NvbW1hbmQoY29tbWFuZCk7CisgICAgcmV0dXJuIFtzZWxmIGV4ZWND
b21tYW5kOmNvbW1hbmQgdXNlckludGVyZmFjZTpOTyB2YWx1ZTpudWxscHRyXTsKIH0KIAogLSAo
Qk9PTClxdWVyeUNvbW1hbmRFbmFibGVkOihOU1N0cmluZyAqKWNvbW1hbmQKQEAgLTc0OCwxMSAr
NzQ2LDcgQEAKIAogLSAoRE9NQ1NTUnVsZUxpc3QgKilnZXRNYXRjaGVkQ1NTUnVsZXM6KERPTUVs
ZW1lbnQgKillbGVtZW50IHBzZXVkb0VsZW1lbnQ6KE5TU3RyaW5nICopcHNldWRvRWxlbWVudAog
ewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICBXZWJDb3Jl
OjpET01XaW5kb3cqIGR2ID0gSU1QTC0+ZGVmYXVsdFZpZXcoKTsKLSAgICBpZiAoIWR2KQotICAg
ICAgICByZXR1cm4gbmlsOwotICAgIHJldHVybiBraXQoV1RGOjpnZXRQdHIoZHYtPmdldE1hdGNo
ZWRDU1NSdWxlcyhjb3JlKGVsZW1lbnQpLCBwc2V1ZG9FbGVtZW50KSkpOworICAgIHJldHVybiBb
c2VsZiBnZXRNYXRjaGVkQ1NTUnVsZXM6ZWxlbWVudCBwc2V1ZG9FbGVtZW50OnBzZXVkb0VsZW1l
bnQgYXV0aG9yT25seTpZRVNdOwogfQogCiAtIChET01DU1NSdWxlTGlzdCAqKWdldE1hdGNoZWRD
U1NSdWxlczooRE9NRWxlbWVudCAqKWVsZW1lbnQgcHNldWRvRWxlbWVudDooTlNTdHJpbmcgKilw
c2V1ZG9FbGVtZW50IGF1dGhvck9ubHk6KEJPT0wpYXV0aG9yT25seQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQmFzZUZvbnRFbGVtZW50Lm1tIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQmFzZUZvbnRFbGVtZW50Lm1tCmluZGV4
IGFlMTY5ZDQ5NjdjMjdmN2IwNjVlZjU0NjFmYzI2NzRlODhhN2Q5OGYuLjZjNGM1ZWJlZjMwMjUx
ZmU0ZjQ2Njc1MTNhNzM4MGI2YTMxODE3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NSFRNTEJhc2VGb250RWxlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxCYXNlRm9udEVsZW1lbnQubW0KQEAgLTI4LDE1ICsyOCwx
NSBAQAogCiAjaW1wb3J0ICJET01Ob2RlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkV4Y2VwdGlvbkhh
bmRsZXJzLmgiCi0jaW1wb3J0ICJIVE1MQmFzZUZvbnRFbGVtZW50LmgiCiAjaW1wb3J0ICJIVE1M
TmFtZXMuaCIKKyNpbXBvcnQgIkhUTUxVbmtub3duRWxlbWVudC5oIgogI2ltcG9ydCAiSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgiCiAjaW1wb3J0ICJUaHJlYWRDaGVjay5oIgogI2ltcG9ydCAiVVJM
LmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRPYmplY3RQcml2YXRlLmgiCiAjaW1wb3J0IDx3dGYvR2V0
UHRyLmg+CiAKLSNkZWZpbmUgSU1QTCBzdGF0aWNfY2FzdDxXZWJDb3JlOjpIVE1MQmFzZUZvbnRF
bGVtZW50Kj4ocmVpbnRlcnByZXRfY2FzdDxXZWJDb3JlOjpOb2RlKj4oX2ludGVybmFsKSkKKyNk
ZWZpbmUgSU1QTCBzdGF0aWNfY2FzdDxXZWJDb3JlOjpIVE1MVW5rbm93bkVsZW1lbnQqPihyZWlu
dGVycHJldF9jYXN0PFdlYkNvcmU6Ok5vZGUqPihfaW50ZXJuYWwpKQogCiBAaW1wbGVtZW50YXRp
b24gRE9NSFRNTEJhc2VGb250RWxlbWVudAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9vYmpjL0RPTUhUTUxDb2xsZWN0aW9uLm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvb2JqYy9ET01IVE1MQ29sbGVjdGlvbi5tbQppbmRleCA5NjM0NjcwNzE5YWQyNzliNWY4ZjNh
NGM0NDFjYjJlNDVmYzEyZDI0Li4xMDFkZDVjMmQ4NzdlNDMxY2IxNWM4NjJiMGYzNjczZmQ3NDBl
YjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxDb2xs
ZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTENvbGxl
Y3Rpb24ubW0KQEAgLTc1LDggKzc1LDExIEBACiAKIC0gKERPTU5vZGVMaXN0ICopdGFnczooTlNT
dHJpbmcgKiluYW1lCiB7CisgICAgaWYgKCFuYW1lKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KwogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4g
a2l0KFdURjo6Z2V0UHRyKElNUEwtPnRhZ3MobmFtZSkpKTsKKyAgICByZXR1cm4ga2l0KHN0YXRp
Y19jYXN0PFdlYkNvcmU6Ok5vZGVMaXN0Kj4oV1RGOjpnZXRQdHIoSU1QTC0+b3duZXJOb2RlKCku
Z2V0RWxlbWVudHNCeVRhZ05hbWUobmFtZSkpKSk7CiB9CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NV2hlZWxFdmVudC5tbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NV2hlZWxFdmVudC5tbQppbmRleCA0NjY3NmVmN2FlNWUxNWY2
YzYxNWE4NjdiYjUzYmVkMjdkM2NmYmQ3Li4yNzcxZGVhOTI5Y2IzYjJmZTU0MGRjNTRhZGQ2MWM4
MjhjZDZiNGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVdo
ZWVsRXZlbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01XaGVlbEV2
ZW50Lm1tCkBAIC05MSw4ICs5MSw3IEBACiAKIC0gKEJPT0wpaXNIb3Jpem9udGFsCiB7Ci0gICAg
V2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIHJldHVybiBJTVBMLT5p
c0hvcml6b250YWwoKTsKKyAgICByZXR1cm4gISFzZWxmLndoZWVsRGVsdGFYOwogfQogCiAtICh2
b2lkKWluaXRXaGVlbEV2ZW50OihpbnQpaW5XaGVlbERlbHRhWCB3aGVlbERlbHRhWTooaW50KWlu
V2hlZWxEZWx0YVkgdmlldzooRE9NQWJzdHJhY3RWaWV3ICopdmlldyBzY3JlZW5YOihpbnQpc2Ny
ZWVuWCBzY3JlZW5ZOihpbnQpc2NyZWVuWSBjbGllbnRYOihpbnQpY2xpZW50WCBjbGllbnRZOihp
bnQpY2xpZW50WSBjdHJsS2V5OihCT09MKWN0cmxLZXkgYWx0S2V5OihCT09MKWFsdEtleSBzaGlm
dEtleTooQk9PTClzaGlmdEtleSBtZXRhS2V5OihCT09MKW1ldGFLZXkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9SR0JDb2xvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUkdCQ29s
b3IuaWRsCmluZGV4IDE2NzQ0ZjQyNWNmY2IxODg0MmUwMGViOWYyMGY2MjA0ZmQzMzZiOWIuLmI5
M2RjYjEwODM0NDg0ODdmMjk0YTJmODcxYjI3NjQ5MTJkOTZmMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9SR0JDb2xvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1JHQkNv
bG9yLmlkbApAQCAtMzAsOCArMzAsNSBAQAogI2lmICFkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJ
UFQpIHx8ICFMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1By
aW1pdGl2ZVZhbHVlICBhbHBoYTsKICNlbmRpZgotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNU
SVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIENv
bG9yICAgICAgICAgICAgICBjb2xvcjsKLSNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0F0dHIuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaWRsCmluZGV4
IDE5MDFhMzc3MzgwOWY5MzBkODU4ZTYyOGQ5OGJmZmI2Y2Y4MjJmZTMuLjdhMzlkZmUyNmM3MGZi
OTI3MmRkNDJlODZhNzk1YWFlM2FmZmUzNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9BdHRyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5pZGwKQEAgLTM5LDEwICsz
OSw1IEBACiAgICAgLy8gRE9NIExldmVsIDMKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuIGlzSWQ7Ci0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFH
RV9PQkpFQ1RJVkVfQwotICAgIC8vIFRoaXMgZXh0ZW5zaW9uIGlzIG5vIGxvbmdlciBuZWVkZWQs
IGJ1dCBpdCBoYXMgdG8gcmVtYWluIGF2YWlsYWJsZSBpbiBPYmplY3RpdmUgQywgYXMgaXQncyBw
dWJsaWMgQVBJLgotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZURlY2xhcmF0aW9uIHN0
eWxlOwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1w
bGVtZW50YXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlk
bAppbmRleCA5YzJhOTBlMzI2YTBiYmE1MzhhMTFjM2JlMWE4Y2VkYmVmMWJiMDJkLi44NWQ4MTQ1
MjI4NmIyNTFhYmU1MjUwMGQ5OWI1NGIzMDhiMDY3NjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01JbXBsZW1lbnRhdGlvbi5pZGwKQEAgLTM0LDcgKzM0LDcgQEAKICAgICBbT2JqQ0xlZ2FjeVVu
bmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRG9jdW1lbnRUeXBl
IGNyZWF0ZURvY3VtZW50VHlwZShET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgRE9NU3RyaW5nIHB1
YmxpY0lkLCBET01TdHJpbmcgc3lzdGVtSWQpOwogCiAgICAgW05ld09iamVjdCwgT2JqQ0xlZ2Fj
eVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dCi0jaWYgZGVmaW5lZChMQU5HVUFH
RV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFH
RV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JK
RUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgICAgIERvY3VtZW50CiAjZWxzZQogICAgICAg
ICBYTUxEb2N1bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA1ZTY2MjRmMDY3NGM2MzEzYmRm
YWNiMmMxYzY3Y2M0YWMyMWYzZGUxLi41NzhlZTBmNjVlOTNkNjU2Y2E5ZjIyOGUwNTk0MmE4OGU0
NTRlZDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtOTgsNyArOTgsNiBAQCBjbGFzcyBEb2N1
bWVudE1hcmtlckNvbnRyb2xsZXI7CiBjbGFzcyBEb2N1bWVudFBhcnNlcjsKIGNsYXNzIERvY3Vt
ZW50U2hhcmVkT2JqZWN0UG9vbDsKIGNsYXNzIERvY3VtZW50VHlwZTsKLWNsYXNzIEVudGl0eVJl
ZmVyZW5jZTsKIGNsYXNzIEV4dGVuc2lvblN0eWxlU2hlZXRzOwogY2xhc3MgRmxvYXRSZWN0Owog
Y2xhc3MgRmxvYXRRdWFkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggOGQ5ZjcyOGQ1NDU1
YmQ3MjRiYmQ4NTA3YzE0OTA3YTE5YzNlM2ZjNi4uNDBlMDJjYWY1OTljOWFkNjk5MzM0NzdhYjQz
MDU5ZTBkMjhlNGQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0xMzEsMTIgKzEzMSw2
IEBACiAgICAgLy8gRklYTUU6IFRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgbGFzdCBwYXJhbWV0
ZXIgc2hvdWxkIGJlIHRoZSBlbXB0eSBzdHJpbmcuCiAgICAgYm9vbGVhbiBleGVjQ29tbWFuZChE
T01TdHJpbmcgY29tbWFuZCwgb3B0aW9uYWwgYm9vbGVhbiB1c2VySW50ZXJmYWNlID0gZmFsc2Us
IG9wdGlvbmFsIERPTVN0cmluZz8gdmFsdWUgPSBudWxsKTsKIAotI2lmIGRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gRklYTUU6IHJl
bW92ZSB0aGUgdGhlc2UgdHdvIHZlcnNpb25zIG9uY2Ugb3B0aW9uYWwgaXMgaW1wbGVtZW50ZWQg
Zm9yIE9iamVjdGl2ZS1DLgotICAgIGJvb2xlYW4gZXhlY0NvbW1hbmQoRE9NU3RyaW5nIGNvbW1h
bmQsIGJvb2xlYW4gdXNlckludGVyZmFjZSk7Ci0gICAgYm9vbGVhbiBleGVjQ29tbWFuZChET01T
dHJpbmcgY29tbWFuZCk7Ci0jZW5kaWYKLQogICAgIGJvb2xlYW4gcXVlcnlDb21tYW5kRW5hYmxl
ZChET01TdHJpbmcgY29tbWFuZCk7CiAgICAgYm9vbGVhbiBxdWVyeUNvbW1hbmRJbmRldGVybShE
T01TdHJpbmcgY29tbWFuZCk7CiAgICAgYm9vbGVhbiBxdWVyeUNvbW1hbmRTdGF0ZShET01TdHJp
bmcgY29tbWFuZCk7CkBAIC0xNzYsNyArMTcwLDcgQEAKIAogICAgIC8vIElFIGV4dGVuc2lvbnMK
IAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElW
RV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lm
IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgIGF0dHJp
YnV0ZSBET01TdHJpbmcgY2hhcnNldDsKICNlbHNlCiAgICAgW0ltcGxlbWVudGVkQXM9Y2hhcmFj
dGVyU2V0V2l0aFVURjhGYWxsYmFja10gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjaGFy
c2V0OwpAQCAtMjAxLDIwICsxOTUsNiBAQAogICAgIENTU1N0eWxlRGVjbGFyYXRpb24gY3JlYXRl
Q1NTU3R5bGVEZWNsYXJhdGlvbigpOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09C
SkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIERPTSBMZXZlbCAyIFN0
eWxlIEludGVyZmFjZQotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE9iakNVc2VE
ZWZhdWx0Vmlld10gQ1NTU3R5bGVEZWNsYXJhdGlvbiBnZXRDb21wdXRlZFN0eWxlKEVsZW1lbnQg
ZWxlbWVudCwgRE9NU3RyaW5nIHBzZXVkb0VsZW1lbnQpOwotCi0gICAgLy8gV2ViS2l0IGV4dGVu
c2lvbgotICAgIC8vIEZJWE1FOiByZW1vdmUgdGhlIGZpcnN0IHZlcnNpb24gb25jZSBvcHRpb25h
bCBpcyBpbXBsZW1lbnRlZCBmb3IgT2JqZWN0aXZlLUMuCi0gICAgW09iakNVc2VEZWZhdWx0Vmll
d10gQ1NTUnVsZUxpc3QgZ2V0TWF0Y2hlZENTU1J1bGVzKEVsZW1lbnQ/IGVsZW1lbnQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE9NU3RyaW5nIHBzZXVk
b0VsZW1lbnQpOwotICAgIFtPYmpDVXNlRGVmYXVsdFZpZXddIENTU1J1bGVMaXN0IGdldE1hdGNo
ZWRDU1NSdWxlcyhFbGVtZW50PyBlbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIERPTVN0cmluZyBwc2V1ZG9FbGVtZW50LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gYXV0aG9y
T25seSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0j
ZW5kaWYKLQogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgZ2V0Q1NTQ2FudmFzQ29udGV4dChE
T01TdHJpbmcgY29udGV4dElkLCBET01TdHJpbmcgbmFtZSwgbG9uZyB3aWR0aCwgbG9uZyBoZWln
aHQpOwogCiAgICAgLy8gSFRNTCA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKaW5kZXggOWJjYTM5NmI1
NTEzOTFiYWU2NzYyZDdlYmY0MWVlMDc5NmNmNTI3YS4uYzM4OGQzNzA5ZmVkNDAzNTZkZDc1YmY0
M2VlMGFlNjVlMGJlYTI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbApAQCAtODcsNyArODcsNyBA
QAogCiAgICAgW0ltcGxlbWVudGVkQXM9YmluZGluZ3NPZmZzZXRQYXJlbnRdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBFbGVtZW50IG9mZnNldFBhcmVudDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JK
RUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09C
SkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkg
JiYgTEFOR1VBR0VfR09CSkVDVAogICAgIHZvaWQgZm9jdXMoKTsKICAgICB2b2lkIGJsdXIoKTsK
ICNlbmRpZgpAQCAtMTI1LDExICsxMjUsNiBAQAogICAgIENsaWVudFJlY3QgZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCk7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0Mp
ICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9ucwot
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW5uZXJUZXh0OwotI2VuZGlmCi0KICNp
ZiBkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJiYgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
CiAgICAgLy8gTW96aWxsYSB2ZXJzaW9uCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQUxMT1df
S0VZQk9BUkRfSU5QVVQgPSAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmFmMDk2NDYwYTk2NmYzNDdkZDkyMGY5MDBhMjhjNjk5
YzFhNTk3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5h
bWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
LSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBFdmVudEV4Y2VwdGlvbl9oCi0jZGVmaW5lIEV2ZW50RXhjZXB0aW9uX2gK
LQotI2luY2x1ZGUgIkV4Y2VwdGlvbkJhc2UuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBFdmVudEV4Y2VwdGlvbiA6IHB1YmxpYyBFeGNlcHRpb25CYXNlIHsKLXByaXZhdGU6Ci0g
ICAgZXhwbGljaXQgRXZlbnRFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9u
JiBkZXNjcmlwdGlvbikKLSAgICAgICAgOiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0aW9uKQotICAg
IHsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFdmVu
dEV4Y2VwdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRp
b24uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDZmMmUxZWJkNmRiOWUwZTkyNzlkYjA0OTkxNGQxNzhkNjRm
OTA4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaWRsCisrKyAvZGV2L251bGwKQEAgLTEsNDcg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAot
ICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAot
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MK
LQotLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKLVsKLSAgICBOb0ludGVyZmFjZU9iamVj
dCwKLSAgICBEb05vdENoZWNrQ29uc3RhbnRzLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCi1dIGV4Y2VwdGlvbiBFdmVudEV4Y2VwdGlvbiB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgICBjb2RlOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgICAgICAgIG5hbWU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAg
bWVzc2FnZTsKLQotICAgIC8vIEV2ZW50RXhjZXB0aW9uQ29kZQotICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFVOU1BFQ0lGSUVEX0VWRU5UX1RZUEVfRVJSID0gMDsKLSAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBESVNQQVRDSF9SRVFVRVNUX0VSUiA9IDE7Ci19OwotCi0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9LZXlib2FyZEV2ZW50LmlkbAppbmRleCA3N2RjMDYxYWU4MjM1MGY4NjdhNjg5NWIwZGNh
YmRmODE0MWJmZmNlLi5kOTRkMDk2NzRkMmE3YjE4OGVkY2E1ZTZmOTUwNTQ5ZjlmYjdkMGFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsCkBAIC04NiwzMiArODYsNSBAQAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBzaGlmdEtleSA9IGZhbHNl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBtZXRhS2V5ID0g
ZmFsc2UpOwogI2VuZGlmCi0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBM
QU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5Lgot
ICAgIHZvaWQgaW5pdEtleWJvYXJkRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbkJ1YmJsZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVdpbmRvdz8gdmlldywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVN0cmluZyBrZXlJZGVudGlmaWVyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBrZXlMb2NhdGlv
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY3RybEtleSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gYWx0S2V5LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBzaGlmdEtleSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gbWV0YUtleSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gYWx0R3JhcGhLZXkpOwotCi0gICAg
dm9pZCBpbml0S2V5Ym9hcmRFdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgRE9NV2luZG93PyB2aWV3LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uYWwgRE9NU3RyaW5nIGtleUlkZW50aWZpZXIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGtleUxvY2F0aW9uLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjdHJsS2V5LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBhbHRLZXksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIHNoaWZ0S2V5LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBtZXRhS2V5KTsKLSNlbmRpZgotCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCmluZGV4IDUxYjdmYzU1YmJmMmExYzcy
Zjg1YTYwNmUyOTM4ODJkZDhkNzc1ZTAuLmEzZmU4ZGRmYzM3NzI1ZTg4YzZiNzNlODgxYWU4NzZj
ZmE4ODk5ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCkBAIC0xOTIsMjQgKzE5
Miw2IEBAIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogTWVzc2FnZUV2ZW50OjpkYXRhKCkgY29uc3QK
ICAgICByZXR1cm4gbV9kYXRhQXNTZXJpYWxpemVkU2NyaXB0VmFsdWUuZ2V0KCk7CiB9CiAKLU1l
c3NhZ2VQb3J0KiBNZXNzYWdlRXZlbnQ6Om1lc3NhZ2VQb3J0KCkKLXsKLSAgICBpZiAoIW1fcG9y
dHMpCi0gICAgICAgIHJldHVybiAwOwotICAgIEFTU0VSVChtX3BvcnRzLT5zaXplKCkgPT0gMSk7
Ci0gICAgcmV0dXJuICgqbV9wb3J0cylbMF0uZ2V0KCk7Ci19Ci0KLXZvaWQgTWVzc2FnZUV2ZW50
Ojppbml0TWVzc2FnZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRh
dGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGxhc3RFdmVudElkLCBET01X
aW5kb3cqIHNvdXJjZSwgTWVzc2FnZVBvcnQqIHBvcnQpCi17Ci0gICAgc3RkOjp1bmlxdWVfcHRy
PE1lc3NhZ2VQb3J0QXJyYXk+IHBvcnRzOwotICAgIGlmIChwb3J0KSB7Ci0gICAgICAgIHBvcnRz
ID0gc3RkOjptYWtlX3VuaXF1ZTxNZXNzYWdlUG9ydEFycmF5PigpOwotICAgICAgICBwb3J0cy0+
YXBwZW5kKHBvcnQpOwotICAgIH0KLSAgICBpbml0TWVzc2FnZUV2ZW50KHR5cGUsIGNhbkJ1YmJs
ZSwgY2FuY2VsYWJsZSwgZGF0YSwgb3JpZ2luLCBsYXN0RXZlbnRJZCwgc291cmNlLCBXVEZNb3Zl
KHBvcnRzKSk7Ci19Ci0KIEV2ZW50SW50ZXJmYWNlIE1lc3NhZ2VFdmVudDo6ZXZlbnRJbnRlcmZh
Y2UoKSBjb25zdAogewogICAgIHJldHVybiBNZXNzYWdlRXZlbnRJbnRlcmZhY2VUeXBlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL01lc3NhZ2VFdmVudC5oCmluZGV4IDBjY2VhZjQ4OGE3Y2IzZTEzYmI4ODNkMmE1MmI5
N2YwOWE4N2YwMzEuLmJmYzY4MDI1YTRiNGVkMmU5YzJhODU3OWRlYjU1YTJkNzY0ZDUxNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmgKQEAgLTY2LDEwICs2Niw2IEBAIHB1YmxpYzoKICAg
ICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgd2hlbiB3ZSBoYXZlIGN1c3RvbSBPYmpDIGJpbmRpbmcg
c3VwcG9ydC4KICAgICBTZXJpYWxpemVkU2NyaXB0VmFsdWUqIGRhdGEoKSBjb25zdDsKIAotICAg
IC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3MgKHNlZSBidWcgMjg3NzQpLgotICAg
IE1lc3NhZ2VQb3J0KiBtZXNzYWdlUG9ydCgpOwotICAgIHZvaWQgaW5pdE1lc3NhZ2VFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBkYXRhLCBjb25zdCBTdHJpbmcmIG9y
aWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgRE9NV2luZG93KiBzb3VyY2UsIE1lc3Nh
Z2VQb3J0Kik7Ci0KICAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgZW51bSBEYXRhVHlwZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNw
cAppbmRleCBhMWY3MGZkZmY0MjMwYzYwNWJkYjEzYWVmOTg2YmVmYzlhYmQyNjlmLi43OWE4MGVk
MzQwOThjZjc4ZGRkOTY0YzJhY2M3Y2I2ZGNlNzQ0NjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydC5jcHAKQEAgLTUzLDE0ICs1Myw2IEBAIE1lc3NhZ2VQb3J0Ojp+TWVzc2FnZVBvcnQoKQog
ICAgICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmRlc3Ryb3llZE1lc3NhZ2VQb3J0KCp0
aGlzKTsKIH0KIAotdm9pZCBNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBNZXNzYWdlUG9ydCogcG9ydCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCi17Ci0gICAgTWVzc2FnZVBvcnRBcnJheSBwb3J0czsKLSAgICBpZiAocG9ydCkKLSAg
ICAgICAgcG9ydHMuYXBwZW5kKHBvcnQpOwotICAgIHBvc3RNZXNzYWdlKFdURk1vdmUobWVzc2Fn
ZSksICZwb3J0cywgZWMpOwotfQotCiB2b2lkIE1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZShSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIGNvbnN0IE1lc3NhZ2VQb3J0QXJy
YXkqIHBvcnRzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWlzRW50YW5nbGVkKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCmluZGV4IDYzMThhYTQxMGFiZWQyMDVjNzM4MzNhMWU2
ZmYwNWVkOTM3NjNkNDguLjc2NzcwMThlMTFjOWJiYmY4OTUzMmI0ZWY2YzVjMzA4NWM0MGY5YzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCkBAIC01MSw4ICs1MSw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB+TWVzc2FnZVBvcnQoKTsKIAogICAgICAgICB2b2lk
IHBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgY29u
c3QgTWVzc2FnZVBvcnRBcnJheSosIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICAgICAgLy8gTmVlZGVk
IGZvciBPYmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1ZyAyODc3NCkuCi0gICAgICAgIHZvaWQg
cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBNZXNz
YWdlUG9ydCosIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgICAgICB2b2lkIHN0YXJ0KCk7CiAgICAg
ICAgIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbAppbmRleCA0OWFjZjYzZDgyYzVlZDZiNzUz
M2YxMDIzOTIzZWRmZmFmMWE5MTYwLi5jZjVjM2U3OWNhMTQzZTE4ZTMyZTc5ZjE5MWM0NzliODhh
Nzk2ZDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCkBAIC0yNSwxMyArMjUsNyBAQAogICAgIEpTQ3VzdG9t
SGVhZGVyLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEpTQ3VzdG9tUHVzaEV2ZW50
SGFuZGxlclNjb3BlLAotICAgIE9iakNQb2x5bW9ycGhpYywKLV0gaW50ZXJmYWNlIE5vZGUKLSNp
ZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwot
ICAgIDogT2JqZWN0LCBFdmVudFRhcmdldAotI2Vsc2UKLSAgICA6IEV2ZW50VGFyZ2V0Ci0jZW5k
aWYKK10gaW50ZXJmYWNlIE5vZGUgOiBFdmVudFRhcmdldAogIHsKICAgICAvLyBOb2RlVHlwZQog
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICAgICAgRUxFTUVOVF9OT0RFICAgICAgICAgICAgICAg
ICAgID0gMTsKQEAgLTc2LDE5ICs3MCwxMyBAQAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExl
dmVsIDI6CiAKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0Vf
SkFWQVNDUklQVAotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIEltcGxlbWVudGVk
QXM9aXNTdXBwb3J0ZWRGb3JCaW5kaW5nc10gYm9vbGVhbiBpc1N1cHBvcnRlZChvcHRpb25hbCBE
T01TdHJpbmcgZmVhdHVyZSwgb3B0aW9uYWwgRE9NU3RyaW5nIHZlcnNpb24pOworICAgIFtJbXBs
ZW1lbnRlZEFzPWlzU3VwcG9ydGVkRm9yQmluZGluZ3NdIGJvb2xlYW4gaXNTdXBwb3J0ZWQob3B0
aW9uYWwgRE9NU3RyaW5nIGZlYXR1cmUsIG9wdGlvbmFsIERPTVN0cmluZyB2ZXJzaW9uKTsKICNl
bmRpZgogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gICAgICAgIG5hbWVzcGFj
ZVVSSTsKICAgICBbU2V0dGVyUmFpc2VzRXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBw
cmVmaXg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gICAgICAgIGxvY2FsTmFt
ZTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCi0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIE5hbWVkTm9kZU1hcCAgICAgYXR0cmlidXRlczsKLSAgICBib29sZWFuICAgICAgICAg
ICAgaGFzQXR0cmlidXRlcygpOwotI2VuZGlmCi0KLQogICAgIC8vIEludHJvZHVjZWQgaW4gRE9N
IExldmVsIDM6CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyAgICAgICBiYXNl
VVJJOwpAQCAtMTIwLDEyICsxMDgsNSBAQAogCiAgICAgLy8gSUUgZXh0ZW5zaW9ucwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50ICAgICAgICAgIHBhcmVudEVsZW1lbnQ7Ci0KLSNpZiBk
ZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAg
IC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbnMKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biAgICAgICAgICBpc0NvbnRlbnRFZGl0YWJsZTsKLQotICAgIHZvaWQgaW5zcGVjdCgpOwotI2Vu
ZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUZpbHRlci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUZpbHRlci5pZGwKaW5kZXggZmM3MDM5N2QyMTAyZmFi
MGEyNWQxODU5NzI1ODAyZjllYzY2ZGU1NC4uZjFhM2VkZTkzNjllMjNjYjRjYmM3NjRjZDk1NzI4
MmE1YzU0MWU4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVGaWx0ZXIuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlRmlsdGVyLmlkbApAQCAtNDMsMTAgKzQzLDYg
QEAKICAgICBjb25zdCB1bnNpZ25lZCBsb25nICAgICAgIFNIT1dfRE9DVU1FTlRfRlJBR01FTlQg
ICAgICAgICA9IDB4MDAwMDA0MDA7CiAgICAgY29uc3QgdW5zaWduZWQgbG9uZyAgICAgICBTSE9X
X05PVEFUSU9OICAgICAgICAgICAgICAgICAgPSAweDAwMDAwODAwOwogCi0jaWYgZGVmaW5lZChM
QU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICBzaG9ydCBh
Y2NlcHROb2RlKG9wdGlvbmFsIE5vZGUgbik7Ci0jZWxzZQogICAgIFtDdXN0b21dIHVuc2lnbmVk
IHNob3J0IGFjY2VwdE5vZGUob3B0aW9uYWwgTm9kZSBub2RlKTsKLSNlbmRpZgogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaWRsCmluZGV4IGY1MzBiZjU5NjJlN2I5YjAxMTg5ZjJi
M2QzNzlkNjU5ZGRjOWM4YjkuLjBkZDc5YzFiMTYxODY2ZWE3ODQxMDNiYzZjZjM4MDI4ZDE0MDc1
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9PdmVyZmxvd0V2ZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5pZGwKQEAgLTMzLDExICszMyw1IEBA
CiAgICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgb3JpZW50OwogICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rv
cl0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaG9yaXpvbnRhbE92ZXJmbG93OwogICAgIFtJ
bml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
dmVydGljYWxPdmVyZmxvdzsKLQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYm
IExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgdm9pZCBpbml0T3ZlcmZsb3dFdmVudChvcHRpb25h
bCB1bnNpZ25lZCBzaG9ydCBvcmllbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRp
b25hbCBib29sZWFuIGhvcml6b250YWxPdmVyZmxvdywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsIGJvb2xlYW4gdmVydGljYWxPdmVyZmxvdyk7Ci0jZW5kaWYKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vV2hlZWxFdmVudC5oCmluZGV4IDc4NWFkZDhlMzU5OTczY2U4ZjIwYmY3MmM2MGVlYTRl
ZTRmMTQzYTQuLjMxYmFiYTJkMGQ5MmNkYmE0OTYyZDFkZThkN2QwZDE0Y2FiNzFkYmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1doZWVsRXZlbnQuaApAQCAtODcsOCArODcsNiBAQCBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgZGVsdGFNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9kZWx0YU1vZGU7IH0KIAogICAgIGJvb2wg
d2Via2l0RGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKCkgY29uc3QgeyByZXR1cm4gbV93aGVl
bEV2ZW50LmRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSgpOyB9Ci0gICAgLy8gTmVlZGVkIGZv
ciBPYmplY3RpdmUtQyBsZWdhY3kgc3VwcG9ydAotICAgIGJvb2wgaXNIb3Jpem9udGFsKCkgY29u
c3QgeyByZXR1cm4gbV93aGVlbERlbHRhLngoKTsgfQogCiAgICAgRXZlbnRJbnRlcmZhY2UgZXZl
bnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1doZWVsRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuaWRs
CmluZGV4IDNkMzQzOWMyNjhkMTk0ZWEyY2VlNDQ1MGM5NmEwZTQ2MzRhZWY5NjUuLjZlMThmOTA5
ZWEyYTczNDJhYjFkZjI3YjRmOGU2ODljOTM2NGQyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9XaGVlbEV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVu
dC5pZGwKQEAgLTQyLDEwICs0Miw2IEBACiAgICAgLy8gV2ViS2l0IEV4dGVuc2lvbgogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdERpcmVjdGlvbkludmVydGVkRnJvbURldmlj
ZTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVD
VElWRV9DCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNIb3Jpem9udGFsOwotI2Vu
ZGlmIC8qIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICovCi0KICNpZiAhZGVmaW5lZChM
QU5HVUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0VfSkFWQVNDUklQVAogICAgIHZvaWQgaW5p
dFdoZWVsRXZlbnQob3B0aW9uYWwgbG9uZyB3aGVlbERlbHRhWCwKICAgICAgICAgICAgICAgICAg
ICAgICAgIG9wdGlvbmFsIGxvbmcgd2hlZWxEZWx0YVksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFsbENvbGxlY3Rpb24uY3BwCmluZGV4IGRhYjA1MDBmYWQ4OGM2NTRhNWI5MWNiZTVkM2Q5YTc0
NjI3OThiMWIuLmZjZjNhYTBlZWFjMDM5NTQ0NzNmOWJjYjQwZWM1MmI0OWE4YWI3MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwCkBAIC01OSw0ICs1OSwxMiBA
QCBFbGVtZW50KiBIVE1MQWxsQ29sbGVjdGlvbjo6bmFtZWRJdGVtV2l0aEluZGV4KGNvbnN0IEF0
b21pY1N0cmluZyYgbmFtZSwgdW5zaWduZQogICAgIHJldHVybiBudWxscHRyOwogfQogCitSZWZQ
dHI8Tm9kZUxpc3Q+IEhUTUxBbGxDb2xsZWN0aW9uOjp0YWdzKGNvbnN0IFN0cmluZyYgbmFtZSkK
K3sKKyAgICBpZiAobmFtZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICByZXR1cm4gb3duZXJOb2RlKCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUobmFtZSk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFsbENvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24u
aAppbmRleCBiNjAxMWI0OTYyZGUwYzc3NzNjYjMxYmU5MTY2ZDNlOThiOTA0ZGMwLi4wODliNzJh
Y2ViMTBkMmFiZGMwMjdjN2FjZGRjZjZkNjEyMzhmYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQWxsQ29sbGVjdGlvbi5oCkBAIC0zNSw2ICszNSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPEhUTUxBbGxDb2xsZWN0aW9uPiBjcmVhdGUoRG9jdW1lbnQmLCBDb2xsZWN0aW9uVHlwZSk7
CiAKICAgICBFbGVtZW50KiBuYW1lZEl0ZW1XaXRoSW5kZXgoY29uc3QgQXRvbWljU3RyaW5nJiBu
YW1lLCB1bnNpZ25lZCBpbmRleCkgY29uc3Q7CisgICAgUmVmUHRyPE5vZGVMaXN0PiB0YWdzKGNv
bnN0IFN0cmluZyYpOwogCiAgICAgLy8gRm9yIENhY2hlZEhUTUxDb2xsZWN0aW9uLgogICAgIGJv
b2wgZWxlbWVudE1hdGNoZXMoRWxlbWVudCYpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwKaW5kZXggZGUzYWFiMDA4NDQ2ZmQ5
MTg1NGJkZWVjMDJiY2MwNzAwYzlmYjQ5Mi4uMzExYTZkM2M5YmE2YjE0NmZlMmQ2ZGI2MTU0OWU5
NDU3MzI3YzI1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwK
QEAgLTM1LDI1ICszNSwxMiBAQCBpbnRlcmZhY2UgSFRNTEFuY2hvckVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OwogICAgIFtS
ZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdF
X09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIFtSZWZsZWN0XSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tleTsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChMQU5HVUFH
RV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHRleHQ7Ci0jZWxzZQogICAgIFtTZXR0ZXJSYWlzZXNFeGNlcHRpb25d
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRleHQ7Ci0jZW5kaWYKIAogI2lmIGRlZmluZWQoTEFOR1VB
R0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAogICAgIFtOb3RFbnVtZXJhYmxl
XSBET01TdHJpbmcgdG9TdHJpbmcoKTsKICNlbmRpZgogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9P
QkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBPYmplY3RpdmUtQyBl
eHRlbnNpb246Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtVUkw7Ci0j
ZW5kaWYKLQogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRv
a2VuTGlzdCByZWxMaXN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQXJlYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQu
aWRsCmluZGV4IDM2OWM5MDNmY2RhNDg3MDA4NTc5MThlMWJmMGQ4YzQ0YjU0YzQyODAuLmJiYzYz
ZTkyOWM4MmQ4NGQ5NjNlYmEzZWJkMmQ0NmFmM2Q4ZTk5NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBcmVhRWxlbWVudC5pZGwKQEAgLTMxLDE1ICszMSw2IEBAIGludGVyZmFjZSBIVE1MQXJl
YUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgc2hhcGU7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OwogCi0j
aWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MK
LSAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0jZW5kaWYKLQot
I2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9D
Ci0gICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9uOgotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBV
UkwgYWJzb2x1dGVMaW5rVVJMOwotI2VuZGlmCi0KICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiMmMxYWZmNThlOWVlMzkxYWE3Y2RhNmE5NDNhNWUxODdjODdjMmJlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEJhc2VGb250RWxlbWVudC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCi0g
KiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDksIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkhUTUxCYXNlRm9udEVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KLUhUTUxC
YXNlRm9udEVsZW1lbnQ6OkhUTUxCYXNlRm9udEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQpCi17Ci0gICAgQVNTRVJUKGhhc1RhZ05hbWUoYmFzZWZvbnRUYWcpKTsKLX0KLQot
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzRmYjY2ZTA3MTUxYzExNWUwZDBjNGY5MWU1NTZhYTBkZmZmMzcx
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDM4
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2Rl
Lm9yZykKLSAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2Rl
Lm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOSwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0g
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0g
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIEhUTUxCYXNlRm9u
dEVsZW1lbnRfaAotI2RlZmluZSBIVE1MQmFzZUZvbnRFbGVtZW50X2gKLQotI2luY2x1ZGUgIkhU
TUxFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gT25seSB1c2VkIGJ5IE9i
akMgYmluZGluZ3MuCi1jbGFzcyBIVE1MQmFzZUZvbnRFbGVtZW50IGZpbmFsIDogcHVibGljIEhU
TUxFbGVtZW50IHsKLXByaXZhdGU6Ci0gICAgSFRNTEJhc2VGb250RWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlCi0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5pZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDljNmRhN2ZlNmQzZTg1MGFlOTMyMzJlMGFhOWMwODA4MTVjZTAw
NzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbAorKysgL2Rldi9udWxsCkBAIC0x
LDMwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDksIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVf
QykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLQotWwotICAgIE5vSW50ZXJmYWNlT2JqZWN0Ci1d
IGludGVyZmFjZSBIVE1MQmFzZUZvbnRFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvbG9yOwotICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGZhY2U7Ci0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgc2l6ZTsg
Ly8gdGhpcyBjaGFuZ2VkIHRvIGEgbG9uZywgYnV0IG91ciBleGlzdGluZyBBUEkgaXMgYSBzdHJp
bmcKLX07Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0
dG9uRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50Lmlk
bAppbmRleCA3OTYyZGU2NzhhZDIyYWMxZTU2YmQ1NTFhMmI3MmZiYjM3YTM3MGQwLi5iMzkxZDZl
YWU3ZGI3ZDc5YmNjNTI0NDg0YzFjMzdiODQyZjIzMThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCdXR0b25FbGVtZW50LmlkbApAQCAtNDEsMTEgKzQxLDUgQEAgaW50ZXJmYWNlIEhUTUxC
dXR0b25FbGVtZW50IDogSFRNTEVsZW1lbnQgewogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5v
ZGVMaXN0IGxhYmVsczsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExB
TkdVQUdFX09CSkVDVElWRV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWNj
ZXNzS2V5OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBM
QU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgIHZvaWQgY2xpY2soKTsKLSNlbmRpZgogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwKaW5kZXggMDhmYzEyYTJjMDRlMDhj
Y2VhMTY1ZGZmMTEzOGJkMzg0MzFiMWNhYy4uYmViYTM4ZGYyMjg5OTFiNjk1ZGViMDI4NGI1MzJl
NzA4OTBmMGUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwK
QEAgLTI5LDcgKzI5LDcgQEAKICAgICBSZXBvcnRFeHRyYU1lbW9yeUNvc3QsCiAgICAgUmVwb3J0
RXh0ZXJuYWxNZW1vcnlDb3N0LAogXSBpbnRlcmZhY2UgSFRNTENhbnZhc0VsZW1lbnQgOiBIVE1M
RWxlbWVudCB7Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0Vf
T0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JK
RUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAg
ICAgYXR0cmlidXRlIGxvbmcgd2lkdGg7CiAgICAgYXR0cmlidXRlIGxvbmcgaGVpZ2h0OwogI2Vs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKaW5kZXggNmEyZjE1ZjZkMDkw
ZGU1OTY4ZmM5YzVjOWUyYjc5ZTllZWFjZjRmNi4uOTI5ZjRlNmZhNjc2ZWUwMWNkNzhhZDlhZGEx
ODc0NDVmMGQ0NmE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKQEAg
LTIyOCwxMiArMjI4LDQgQEAgVmVjdG9yPFJlZjxFbGVtZW50Pj4gSFRNTENvbGxlY3Rpb246Om5h
bWVkSXRlbXMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKSBjb25zdAogICAgIHJldHVybiBlbGVt
ZW50czsKIH0KIAotUmVmUHRyPE5vZGVMaXN0PiBIVE1MQ29sbGVjdGlvbjo6dGFncyhjb25zdCBT
dHJpbmcmIG5hbWUpCi17Ci0gICAgaWYgKG5hbWUuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBu
dWxscHRyOwotCi0gICAgcmV0dXJuIG93bmVyTm9kZSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKG5h
bWUpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xs
ZWN0aW9uLmgKaW5kZXggZDEyZTNkNDVlYjJhOGNkNmNlMjcyNzg3NWJkMjNlOTM2OTFlMDA1MS4u
NTk1YjY1ZDA3NjBlZTNhNTVjZmZlNzlhNjc0Yzg0ZGQ4ZjNjNWY4OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENvbGxlY3Rpb24uaApAQCAtNzAsNyArNzAsNiBAQCBwdWJsaWM6CiAgICAgRWxlbWVu
dCogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Qgb3ZlcnJpZGUgPSAwOyAvLyBUaWdodGVuIHJl
dHVybiB0eXBlIGZyb20gTm9kZUxpc3Q6Oml0ZW0oKS4KICAgICB2aXJ0dWFsIEVsZW1lbnQqIG5h
bWVkSXRlbShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpIGNvbnN0ID0gMDsKICAgICBjb25zdCBW
ZWN0b3I8QXRvbWljU3RyaW5nPiYgc3VwcG9ydGVkUHJvcGVydHlOYW1lcygpOwotICAgIFJlZlB0
cjxOb2RlTGlzdD4gdGFncyhjb25zdCBTdHJpbmcmKTsKIAogICAgIC8vIE5vbi1ET00gQVBJCiAg
ICAgVmVjdG9yPFJlZjxFbGVtZW50Pj4gbmFtZWRJdGVtcyhjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlv
bi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmlkbAppbmRleCA2ZmIz
YWY5NzcwYmY4ZmQ4OGMxMjdkYWNjMGM3YmYzOTA3YjU0MmExLi40NWFiYTIwYTllNGM4NWYxM2Q3
ZGJjZTVhNTVlYmI2ODVjYzVlOWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxDb2xsZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9u
LmlkbApAQCAtMjYsMTYgKzI2LDEyIEBACiBdIGludGVyZmFjZSBIVE1MQ29sbGVjdGlvbiB7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogCi0jaWYgZGVmaW5l
ZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5l
ZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5H
VUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgZ2V0dGVyIE5vZGUgaXRlbSh1
bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBnZXR0ZXIgTm9kZSBuYW1lZEl0ZW0oRE9NU3RyaW5n
IG5hbWUpOwogI2Vsc2UKICAgICBnZXR0ZXIgRWxlbWVudD8gaXRlbSh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKICAgICBnZXR0ZXIgRWxlbWVudD8gbmFtZWRJdGVtKERPTVN0cmluZyBuYW1lKTsKICNl
bmRpZgotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JK
RUNUSVZFX0MKLSAgICBOb2RlTGlzdCB0YWdzKG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKLSNl
bmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbAppbmRleCA2YzY3NzY0MDFi
ZDNlNTkyZWRjMDNmNjJlYjYyN2FlMzlmYjU4NjJiLi5jYzgwYWE2YWRmYjg4NDRkMjkyNzc1ZTc2
OTJhYmEzNDY0ZTBjZWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbApAQCAtNjAs
MTIgKzYwLDYgQEAKICAgICB2b2lkIGZvY3VzKCk7CiAgICAgdm9pZCBibHVyKCk7CiAjZW5kaWYK
LQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElW
RV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7Ci0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIGNoaWxkcmVuOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdGl0bGVEaXNwbGF5U3RyaW5nOwotI2VuZGlmCiB9OwogCiBIVE1MRWxlbWVu
dCBpbXBsZW1lbnRzIEdsb2JhbEV2ZW50SGFuZGxlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRmllbGRTZXRFbGVtZW50LmlkbAppbmRleCAyZjU4NzAxNTg2YWE4MTc0N2NkMDdkMzcxOWFi
Y2I0Yjc0NTAzMjhhLi44MmMxNDAyMTVhZDdmMTA0NzMxOTIxZWM5NTA0ODYwNGIxMzNjMGZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5pZGwKQEAgLTI0LDcg
KzI0LDcgQEAgaW50ZXJmYWNlIEhUTUxGaWVsZFNldEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKLSNpZiBkZWZpbmVkKExB
TkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExB
TkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVkKExBTkdVQUdF
X0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICBbSW1wbGVtZW50ZWRBcz1lbGVtZW50
c0Zvck5hdGl2ZUJpbmRpbmdzXSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gZWxl
bWVudHM7CiAjZWxzZQogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUNvbnRyb2xzQ29s
bGVjdGlvbiBlbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbApp
bmRleCA0M2NlNGI1NmZmNjg1ZGViMjJlMjM1NjQ2ZWYwMmRhZGY1NGZmZWNjLi4yOGVlNmYwY2Y4
OTZlNGZhY2Y5YTNkMTlkZGY1YzQ3MTUwYTQ5ZTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuaWRsCkBAIC0zNCw3ICszNCw3IEBACiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0
ZSBib29sZWFuIG5vVmFsaWRhdGU7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcg
dGFyZ2V0OwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0Vf
T0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JK
RUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAg
ICAgW0ltcGxlbWVudGVkQXM9ZWxlbWVudHNGb3JOYXRpdmVCaW5kaW5nc10gcmVhZG9ubHkgYXR0
cmlidXRlIEhUTUxDb2xsZWN0aW9uIGVsZW1lbnRzOwogI2Vsc2UKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24gZWxlbWVudHM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIeXBlcmxpbmtFbGVtZW50VXRpbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzLmlkbAppbmRleCA3MThmNjE3
ZTA0Y2YzZTYyYjQ3MjIyMDQ4NmJjNzIzYTU0ODY1OTQxLi4zYmRjOTMzZGUzNmM3NjNlMGI1ZTNm
MzA2ZjhmNmJmNzE0ZmJlMGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxI
eXBlcmxpbmtFbGVtZW50VXRpbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEh5
cGVybGlua0VsZW1lbnRVdGlscy5pZGwKQEAgLTI5LDE1ICsyOSw2IEBACiAgICAgW1JlZmxlY3Qs
IFVSTF0gYXR0cmlidXRlIERPTVN0cmluZyBocmVmOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcgb3JpZ2luOwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYg
TEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBy
b3RvY29sOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaG9zdDsKLSAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhvc3RuYW1lOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgcG9ydDsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBhdGhu
YW1lOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgc2VhcmNoOwotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaGFzaDsKLSNlbHNlCiAgICAgYXR0cmlidXRlIERPTVN0
cmluZyBwcm90b2NvbDsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVzZXJuYW1lOwogICAgIGF0
dHJpYnV0ZSBET01TdHJpbmcgcGFzc3dvcmQ7CkBAIC00Nyw1ICszOCw0IEBACiAgICAgYXR0cmli
dXRlIERPTVN0cmluZyBwYXRobmFtZTsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlYXJjaDsK
ICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhhc2g7Ci0jZW5kaWYKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCmluZGV4IGQ5ZDAyZmEyOWY3YzM5Yjg3YjgwMzA2
NmU1ZmQwNzg2MzBjMTYxMGMuLjdkODk1NGJlNGEzYzgzYjhkZmRiOTVmN2U4MzBiNzU3ZWZiZmZk
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsCkBAIC0yNyw3
ICsyNyw3IEBAIGludGVyZmFjZSBIVE1MSUZyYW1lRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAg
ICBbUmVmbGVjdCwgVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcg
bWFyZ2luV2lkdGg7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKIAot
I2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9D
IHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRl
ZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgIFtSZWZsZWN0
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNhbmRib3g7CiAjZWxzZQogICAgIFtQdXRGb3J3YXJkcz12
YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCBzYW5kYm94OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwKaW5kZXggMTc5NzU1NDRkMjM0ZjU2NzBhOWJh
NmYwNjE0ZWEyMmZlNGRmMDk3My4uZGE1MDM2NjFkNmMyYTE1YTVhZDIwNDM3NGRlZDczZjFlMTQ2
ZmY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsCkBAIC00MSwx
NiArNDEsMTAgQEAKIAogICAgIC8vIEV4dGVuc2lvbnMKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Ym9vbGVhbiBjb21wbGV0ZTsKLSAgICBbUmVmbGVjdCxVUkxdIGF0dHJpYnV0ZSBET01TdHJpbmcg
bG93c3JjOworICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgbG93c3JjOwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIG5hdHVyYWxIZWlnaHQ7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgbmF0dXJhbFdpZHRoOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25n
IHg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgeTsKLQotI2lmIGRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gT2JqZWN0aXZl
LUMgZXh0ZW5zaW9uOgotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYWx0RGlzcGxh
eVN0cmluZzsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlSW1hZ2VVUkw7Ci0j
ZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsCmluZGV4
IDQxNjdlZGRhOTQzM2I1NjkzYjM5MDMzZjZkNGEzMzc1MDIwZDIyZmQuLjQxYjE0MzVhZDUwYzNm
ZTllZWQzN2UyMjA0MDI4NGRhNDAwYjcxNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmlkbApAQCAtNTIsMTEgKzUyLDcgQEAKICAgICBbUmVmbGVjdF0gYXR0cmlidXRl
IERPTVN0cmluZyBwbGFjZWhvbGRlcjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4g
cmVhZE9ubHk7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIHJlcXVpcmVkOwotI2lm
IGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0g
ICAgW09iakNJbXBsZW1lbnRlZEFzVW5zaWduZWRMb25nXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNp
emU7IC8vIERPTSBsZXZlbCAyIGNoYW5nZWQgdGhpcyB0byBhIGxvbmcsIGJ1dCBPYmpDIEFQSSBp
cyBhIHN0cmluZwotI2Vsc2UKICAgICBbU2V0dGVyUmFpc2VzRXhjZXB0aW9uXSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBzaXplOyAvLyBDaGFuZ2VkIHN0cmluZyAtPiBsb25nIC0+IHVuc2lnbmVk
IGxvbmcKLSNlbmRpZgogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgc3Jj
OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0ZXA7CiAgICAgYXR0cmlidXRl
IERPTVN0cmluZyB0eXBlOyAvLyByZWFkb25seSBkcm9wcGVkIGFzIHBhcnQgb2YgRE9NIGxldmVs
IDIKQEAgLTkzLDM1ICs4OSwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
bG9uZyBlbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBET01TdHJpbmcgc2Vs
ZWN0aW9uTW9kZSk7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5H
VUFHRV9PQkpFQ1RJVkVfQwotICAgIFtDdXN0b21dIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UobG9u
ZyBzdGFydCwgbG9uZyBlbmQpOwotI2Vsc2UKICAgICBbQ3VzdG9tXSB2b2lkIHNldFNlbGVjdGlv
blJhbmdlKGxvbmcgc3RhcnQsIGxvbmcgZW5kLCBvcHRpb25hbCBET01TdHJpbmcgZGlyZWN0aW9u
KTsKLSNlbmRpZgogCiAgICAgLy8gTm9uLXN0YW5kYXJkIGF0dHJpYnV0ZXMKICAgICBbUmVmbGVj
dF0gYXR0cmlidXRlIERPTVN0cmluZyBhbGlnbjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERP
TVN0cmluZyB1c2VNYXA7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIGluY3JlbWVu
dGFsOwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JK
RUNUSVZFX0MKLSAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0j
ZW5kaWYKLQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09C
SkVDVElWRV9DCi0gICAgdm9pZCBjbGljaygpOwotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChMQU5H
VUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0VfSkFWQVNDUklQVAogICAgIHZvaWQgc2V0VmFs
dWVGb3JVc2VyKERPTVN0cmluZyB2YWx1ZSk7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gT2JqZWN0aXZl
LUMgZXh0ZW5zaW9uOgotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgYWx0RGlzcGxh
eVN0cmluZzsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlSW1hZ2VVUkw7Ci0j
ZW5kaWYKLQogICAgIFtDb25kaXRpb25hbD1JT1NfQVVUT0NPUlJFQ1RfQU5EX0FVVE9DQVBJVEFM
SVpFXSBhdHRyaWJ1dGUgYm9vbGVhbiBhdXRvY29ycmVjdDsKIAogICAgIFtDb25kaXRpb25hbD1J
T1NfQVVUT0NPUlJFQ1RfQU5EX0FVVE9DQVBJVEFMSVpFLCBUcmVhdE51bGxBcz1FbXB0eVN0cmlu
Z10gYXR0cmlidXRlIERPTVN0cmluZyBhdXRvY2FwaXRhbGl6ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxMYWJlbEVsZW1lbnQuaWRsCmluZGV4IDkyZTVmNGJhNzYxZDQ0MWYzYTFlNzVkNzE1MTBh
ZTY4NGQ4MGQwMTkuLmZhMzczNjBiNzc1ZjczYzZmNzg2Nzc4NTA3NWNkZTY0NDczZmZlM2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmlkbApAQCAtMjIsOCArMjIsNSBA
QCBpbnRlcmZhY2UgSFRNTExhYmVsRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50IGZvcm07CiAgICAgW1JlZmxlY3Q9Zm9yXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGh0bWxGb3I7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxFbGVt
ZW50IGNvbnRyb2w7Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VB
R0VfT0JKRUNUSVZFX0MKLSAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NL
ZXk7Ci0jZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExl
Z2VuZEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5p
ZGwKaW5kZXggNzQ5NzQ1ZTRiZGZjNTcyN2ViNWYwNTE3YmEzZTg2YzdiNWNjNWZhOC4uZThlODg3
MTlhMmZlMWNjOGZkYjU5ODQwMmYyMGQzYmU4YzBmNWIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTGVnZW5kRWxlbWVudC5pZGwKQEAgLTIxLDggKzIxLDUgQEAKIGludGVyZmFjZSBIVE1M
TGVnZW5kRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRN
TEZvcm1FbGVtZW50IGZvcm07CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWxp
Z247Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNU
SVZFX0MKLSAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0jZW5k
aWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbAppbmRleCAzODgy
MTc5MWUxODU1OGYxZjBlNGE4YzUyY2U2MGZjZTRmZTZiZTQ4Li4zN2JjZjhjMTgwYmVhZWZiNDBj
ZWY5OWU4NjIxOWMwZjc1N2E5NGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxMaW5rRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1l
bnQuaWRsCkBAIC0zMCw5ICszMCw3IEBACiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgbWVkaWE7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVsOwogICAgIFtS
ZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJldjsKLSNpZiAoZGVmaW5lZChMQU5HVUFHRV9K
QVZBU0NSSVBUKSAmJiBMQU5HVUFHRV9KQVZBU0NSSVBUKSB8fCAoZGVmaW5lZChMQU5HVUFHRV9H
T0JKRUNUKSB8fCBMQU5HVUFHRV9HT0JKRUNUKQogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCBzaXplczsKLSNlbmRpZgogICAgIFtSZWZsZWN0
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhcmdldDsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERP
TVN0cmluZyB0eXBlOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFzOwpAQCAt
NDEsMTEgKzM5LDYgQEAKICAgICAvLyBET00gTGV2ZWwgMiBTdHlsZQogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTdHlsZVNoZWV0IHNoZWV0OwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJ
VkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNp
b246Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtVUkw7Ci0jZW5kaWYK
LQogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlz
dCByZWxMaXN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwK
aW5kZXggNjE2MzYyYjJhYzY1ZWVmMmJjYWNjMDIxNWI2YTA5NDhiMGZjZTBlMC4uMDExZjhlZDk5
MzJjNTRjNjViM2IwMTA1OWViYmY1ZmQ2OGI1ODU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaWRsCkBAIC03NSwxMSArNzUsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIGVuZGVkOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBhdXRv
cGxheTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gbG9vcDsKLSNpZiAhZGVmaW5l
ZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgfHwgIUxBTkdVQUdFX09CSkVDVElWRV9DCiAgICAgUHJv
bWlzZSBwbGF5KCk7Ci0jZWxzZQotICAgIHZvaWQgcGxheSgpOwotI2VuZGlmCiAgICAgdm9pZCBw
YXVzZSgpOwogICAgIHZvaWQgZmFzdFNlZWsodW5yZXN0cmljdGVkIGRvdWJsZSB0aW1lKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbAppbmRleCBhZjE1NDQ3YThl
NDIyMzQ2MTU3ZGQxODljYjBkZTI0ZTk2NzQ1NzQwLi4xZjBkMmY3ZmI3Zjk1ZmIxYzg4MmYyMzIz
ZjA4YzBjZjI1MWZlYTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmpl
Y3RFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50
LmlkbApAQCAtNTAsMTAgKzUwLDUgQEAKICAgICBbQ2hlY2tTZWN1cml0eUZvck5vZGVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBjb250ZW50RG9jdW1lbnQ7CiAKICAgICBbQ2hlY2tTZWN1
cml0eUZvck5vZGUsIFJhaXNlc0V4Y2VwdGlvbl0gU1ZHRG9jdW1lbnQgZ2V0U1ZHRG9jdW1lbnQo
KTsKLQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVD
VElWRV9DCi0gICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9uOgotICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBVUkwgYWJzb2x1dGVJbWFnZVVSTDsKLSNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCmluZGV4IGVkYzhkNGRlNmQzMWVhMTg2
NWExM2I4YjE0NmZkNjMwMzIyYjU4YjAuLjEzMTRlNjZkYzgwZTMwMmI1N2Y0YmUyOWI1YjgwM2U1
YTYyOTA2NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xs
ZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlv
bi5pZGwKQEAgLTI2LDcgKzI2LDcgQEAKICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3RlZEluZGV4
OwogICAgIFtDdXN0b21TZXR0ZXIsIFNldHRlclJhaXNlc0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykg
JiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBM
QU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFH
RV9HT0JKRUNUCiAgICAgZ2V0dGVyIE5vZGUgbmFtZWRJdGVtKERPTVN0cmluZyBuYW1lKTsKICNl
bHNlCiAgICAgZ2V0dGVyIEhUTUxPcHRpb25FbGVtZW50PyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwpAQCAtNDcsOSArNDcsNSBAQAogICAgIC8vIEZJWE1FOiBUaGlzIG92ZXJsb2FkIGlzIG5v
dCBpbiB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgaGFzIGJlZW4gZHJvcHBlZCBpbiBCbGluay4KICAg
ICB2b2lkIHJlbW92ZShIVE1MT3B0aW9uRWxlbWVudCBvcHRpb24pOwogI2VuZGlmCi0KLSNpZiBk
ZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAg
IE5vZGUgaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSNlbmRpZgogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAppbmRleCBjOTA0YzUzM2IyNDg2Yjc5ZTE2
ZDYwNjhmNGNhNjE5NThhMzEzMGY4Li41YWY0ZmZlNzU4YjFjMjQ0YTE1Njc1YWZhNjQwOTI5NjVh
NjU4MDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbApAQCAt
MzAsNyArMzAsNyBAQAogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAg
ICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIHJlcXVpcmVkOwogCi0jaWYgZGVmaW5lZChM
QU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChM
QU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5HVUFH
RV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgYXR0cmlidXRlIGxvbmcgc2l6ZTsK
ICNlbHNlCiAgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsKQEAgLTM5LDEzICszOSw5
IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwogCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEhUTUxPcHRpb25zQ29sbGVjdGlvbiBvcHRpb25zOwotI2lmIGRlZmluZWQo
TEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIGxvbmcgbGVuZ3RoOwotI2Vsc2UKICAgICBbU2V0dGVyUmFpc2VzRXhjZXB0
aW9uXSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0jZW5kaWYKIAotI2lmIGRlZmlu
ZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmlu
ZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFO
R1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgIGdldHRlciBOb2RlIGl0ZW0o
dW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgTm9kZSBuYW1lZEl0ZW0oRE9NU3RyaW5nIG5hbWUp
OwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVs
ZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVDZWxsRWxlbWVudC5pZGwK
aW5kZXggNjNjMDU2MTJmMTZiNmExNjQxYjBhOWMyYTExNzJmNzE0NDcyMzVkZS4uNGM5NjY5OTgx
MWFkMzZmODc2ZjgwYzA3ZmU0NWZhNDYyOWI5ZGUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGFibGVDZWxsRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVGFibGVDZWxsRWxlbWVudC5pZGwKQEAgLTI2LDcgKzI2LDcgQEAgaW50ZXJmYWNlIEhU
TUxUYWJsZUNlbGxFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtSZWZsZWN0PWNoYXJdIGF0
dHJpYnV0ZSBET01TdHJpbmcgY2g7CiAgICAgW1JlZmxlY3Q9Y2hhcm9mZl0gYXR0cmlidXRlIERP
TVN0cmluZyBjaE9mZjsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExB
TkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VB
R0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09C
SkVDVAogICAgIFtJbXBsZW1lbnRlZEFzPWNvbFNwYW5Gb3JCaW5kaW5nc10gYXR0cmlidXRlIGxv
bmcgY29sU3BhbjsKICAgICBbSW1wbGVtZW50ZWRBcz1yb3dTcGFuRm9yQmluZGluZ3NdIGF0dHJp
YnV0ZSBsb25nIHJvd1NwYW47CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5pZGwKaW5kZXggZTUzZTRkMWJjMjhlODc4NjU4Y2Y2MzBmOGZhYWU3MDFlM2Rh
ODJhYi4uYjBjOGNjMTU1YmZmNmE1ZjAzODMzNjFlMDM5MzgxODY2ZTk0ZTRlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCkBAIC0yOSw3ICsyOSw3IEBA
IGludGVyZmFjZSBIVE1MVGV4dEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBsYWNlaG9sZGVyOwogICAgIFtSZWZsZWN0XSBhdHRy
aWJ1dGUgYm9vbGVhbiByZWFkT25seTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4g
cmVxdWlyZWQ7Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0Vf
T0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JK
RUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAg
ICAgYXR0cmlidXRlIGxvbmcgcm93czsKICAgICBhdHRyaWJ1dGUgbG9uZyBjb2xzOwogI2Vsc2UK
QEAgLTYyLDIxICs2MiwxMyBAQCBpbnRlcmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhUTUxF
bGVtZW50IHsKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZW5kLAogICAg
ICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgRE9NU3RyaW5nIHNlbGVjdGlvbk1vZGUpOwog
Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZF
X0MKLSAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGxvbmcgc3RhcnQsIGxvbmcgZW5kKTsKLSNl
bHNlCiAgICAgdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShvcHRpb25hbCBsb25nIHN0YXJ0ID0gMCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGxvbmcgZW5kID0gMCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVN0cmluZyBkaXJlY3Rpb24pOwotI2Vu
ZGlmCiAKICAgICBbQ29uZGl0aW9uYWw9SU9TX0FVVE9DT1JSRUNUX0FORF9BVVRPQ0FQSVRBTEla
RV0gYXR0cmlidXRlIGJvb2xlYW4gYXV0b2NvcnJlY3Q7CiAKICAgICBbQ29uZGl0aW9uYWw9SU9T
X0FVVE9DT1JSRUNUX0FORF9BVVRPQ0FQSVRBTElaRSwgVHJlYXROdWxsQXM9RW1wdHlTdHJpbmdd
IGF0dHJpYnV0ZSBET01TdHJpbmcgYXV0b2NhcGl0YWxpemU7CiAKLSNpZiBkZWZpbmVkKExBTkdV
QUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIFtSZWZsZWN0XSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tleTsKLSNlbmRpZgotCiAgICAgYXR0cmlidXRlIERP
TVN0cmluZyBhdXRvY29tcGxldGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4
IGY0MjM4NGQ5NDYyYjk2ODA2ZDdiZjQ3ZGY5NGRlYjE3OGZlMjBlMjEuLjE1Yjk3N2NkMDEwNWMz
MjZmMThiOTY4NjBkYzczZDM4NGU5ZmRiOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
QEAgLTg4MCwxNCArODgwLDYgQEAgU3RvcmFnZSogRE9NV2luZG93Ojpsb2NhbFN0b3JhZ2UoRXhj
ZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgcmV0dXJuIG1fbG9jYWxTdG9yYWdlLmdldCgpOwog
fQogCi12b2lkIERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+IG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiBwb3J0LCBjb25zdCBTdHJpbmcmIHRhcmdl
dE9yaWdpbiwgRE9NV2luZG93JiBzb3VyY2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIE1l
c3NhZ2VQb3J0QXJyYXkgcG9ydHM7Ci0gICAgaWYgKHBvcnQpCi0gICAgICAgIHBvcnRzLmFwcGVu
ZChwb3J0KTsKLSAgICBwb3N0TWVzc2FnZShtZXNzYWdlLCAmcG9ydHMsIHRhcmdldE9yaWdpbiwg
c291cmNlLCBlYyk7Ci19Ci0KIHZvaWQgRE9NV2luZG93Ojpwb3N0TWVzc2FnZShQYXNzUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSwgY29uc3QgTWVzc2FnZVBvcnRBcnJheSog
cG9ydHMsIGNvbnN0IFN0cmluZyYgdGFyZ2V0T3JpZ2luLCBET01XaW5kb3cmIHNvdXJjZSwgRXhj
ZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKCFpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IGY4ODg5ZTcyY2IxZmYyNDA0NjBhNmE1NDU3
YzE1MTk3NzlmN2Y0ZGEuLmE2YjRiMmUxNGQzY2IzMjJhMGI4NzMyNjU0Njk4ZTVkMjJlZTIyODcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMjQ0LDggKzI0NCw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgU3RyaW5nIGNyb3NzRG9tYWluQWNjZXNzRXJyb3JNZXNzYWdlKGNv
bnN0IERPTVdpbmRvdyYgYWN0aXZlV2luZG93KTsKIAogICAgICAgICB2b2lkIHBvc3RNZXNzYWdl
KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBjb25zdCBNZXNzYWdl
UG9ydEFycmF5KiwgY29uc3QgU3RyaW5nJiB0YXJnZXRPcmlnaW4sIERPTVdpbmRvdyYgc291cmNl
LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgICAgIC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmlu
ZGluZ3MgKHNlZSBidWcgMjg3NzQpLgotICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBNZXNzYWdlUG9ydCosIGNvbnN0IFN0
cmluZyYgdGFyZ2V0T3JpZ2luLCBET01XaW5kb3cmIHNvdXJjZSwgRXhjZXB0aW9uQ29kZSYpOwog
ICAgICAgICB2b2lkIHBvc3RNZXNzYWdlVGltZXJGaXJlZChQb3N0TWVzc2FnZVRpbWVyJik7CiAg
ICAgICAgIHZvaWQgZGlzcGF0Y2hNZXNzYWdlRXZlbnRXaXRoT3JpZ2luQ2hlY2soU2VjdXJpdHlP
cmlnaW4qIGludGVuZGVkVGFyZ2V0T3JpZ2luLCBFdmVudCYsIFBhc3NSZWZQdHI8SW5zcGVjdG9y
OjpTY3JpcHRDYWxsU3RhY2s+KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCAyOTIyYmI2NjU3OTY3YmIwZTJl
NWQ0ZjU2MTg2MDg4ZWIyZjEyYThiLi5lMjI1M2JlN2RlYzQyZThmYmVjMjU3YWYwNDFhYjM3NDUy
ZDVkNTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNjMsMTQgKzYzLDYgQEAgRXZlbnRUYXJnZXRJbnRlcmZh
Y2UgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29u
c3QKICAgICByZXR1cm4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGVFdmVudFRhcmdldEludGVy
ZmFjZVR5cGU7CiB9CiAKLXZvaWQgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RNZXNz
YWdlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgTWVzc2FnZVBvcnQq
IHBvcnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQotewotICAgIE1lc3NhZ2VQb3J0QXJyYXkgcG9ydHM7
Ci0gICAgaWYgKHBvcnQpCi0gICAgICAgIHBvcnRzLmFwcGVuZChwb3J0KTsKLSAgICBwb3N0TWVz
c2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCAmcG9ydHMsIGVjKTsKLX0KLQogdm9pZCBEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZTo6cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4mJiBtZXNzYWdlLCBjb25zdCBNZXNzYWdlUG9ydEFycmF5KiBwb3J0cywgRXhjZXB0aW9uQ29k
ZSYgZWMpCiB7CiAgICAgLy8gRGlzZW50YW5nbGUgdGhlIHBvcnQgaW4gcHJlcGFyYXRpb24gZm9y
IHNlbmRpbmcgaXQgdG8gdGhlIHJlbW90ZSBjb250ZXh0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDZmNGQ3NzQ4N2U4
NWEzOTA5MGMxNzZjMzJhYjdhNThlYTc5MGE3MjcuLjRjYzVmN2U2MDZhNTY4OTY4NmI2NGM1NzYz
ZGE2NTgyN2VhZTQ3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTU0LDggKzU0LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgp
IGNvbnN0IG92ZXJyaWRlOwogCiAgICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4mJiwgY29uc3QgTWVzc2FnZVBvcnRBcnJheSosIEV4Y2VwdGlvbkNv
ZGUmKTsKLSAgICAgICAgLy8gTmVlZGVkIGZvciBPYmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1
ZyAyODc3NCkuCi0gICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4mJiwgTWVzc2FnZVBvcnQqLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICAgICAgRGVk
aWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3Bw
CmluZGV4IDlkNjJiYmVlZDllYjNiOGY4NTJkYTgyY2QyMTNmMWViZGEwMGQ4MmQuLjMwNmQyNDdj
NWY0YmZlYThjMGQ5YzRiZjEwZGY3NDA3MzZkNGFkM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5jcHAKQEAgLTEwNywxNCArMTA3LDYgQEAgV29ya2VyOjp+V29ya2VyKCkKICAgICBtX2NvbnRl
eHRQcm94eS0+d29ya2VyT2JqZWN0RGVzdHJveWVkKCk7CiB9CiAKLXZvaWQgV29ya2VyOjpwb3N0
TWVzc2FnZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIE1lc3NhZ2VQ
b3J0KiBwb3J0LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBNZXNzYWdlUG9ydEFycmF5IHBv
cnRzOwotICAgIGlmIChwb3J0KQotICAgICAgICBwb3J0cy5hcHBlbmQocG9ydCk7Ci0gICAgcG9z
dE1lc3NhZ2UoV1RGTW92ZShtZXNzYWdlKSwgJnBvcnRzLCBlYyk7Ci19Ci0KIHZvaWQgV29ya2Vy
Ojpwb3N0TWVzc2FnZShSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIGNv
bnN0IE1lc3NhZ2VQb3J0QXJyYXkqIHBvcnRzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICAv
LyBEaXNlbnRhbmdsZSB0aGUgcG9ydCBpbiBwcmVwYXJhdGlvbiBmb3Igc2VuZGluZyBpdCB0byB0
aGUgcmVtb3RlIGNvbnRleHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAppbmRleCA3ODI5NjkzZDFi
NGFmNjYxZDE1MjhmZWY3NjUzNmE4MzlkNjZjMDZjLi5kMWIyNDQ1ODJkYjNkYmM2MjY3NjYyMTVj
ZTRkY2U5ZWQ4NmQ2N2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKQEAgLTU2LDggKzU2LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVu
dFRhcmdldEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFdvcmtlckV2ZW50VGFy
Z2V0SW50ZXJmYWNlVHlwZTsgfQogCiAgICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBjb25zdCBNZXNzYWdlUG9ydEFycmF5Kiwg
RXhjZXB0aW9uQ29kZSYpOwotICAgICAgICAvLyBOZWVkZWQgZm9yIE9iamVjdGl2ZS1DIGJpbmRp
bmdzIChzZWUgYnVnIDI4Nzc0KS4KLSAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiwgRXhjZXB0aW9uQ29k
ZSYpOwogCiAgICAgICAgIHZvaWQgdGVybWluYXRlKCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285377</attachid>
            <date>2016-08-04 16:31:59 -0700</date>
            <delta_ts>2016-08-04 17:38:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160568-20160804163034.patch</filename>
            <type>text/plain</type>
            <size>69328</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFmOTk5ZDA4Y2NkYTI4
YzNhNTBmYjRmZDIwNmE2MDYwMjkzNDAxMi4uZWYxNWQ5OGEzZmZmY2U3Y2Q1YTA3MTU0YzE4MTM1
YTllYTYyOGVhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDg3IEBACiAyMDE2LTA4LTA0ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmVtb3ZlIG1vcmUg
dW51c2VkIGJpbmRpbmdzIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MDU2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogYmluZGluZ3Mvb2JqYy9ET01Eb2N1bWVudC5tbToKKyAgICAgICAgKC1bRE9NRG9jdW1l
bnQgZXhlY0NvbW1hbmQ6dXNlckludGVyZmFjZTpdKToKKyAgICAgICAgKC1bRE9NRG9jdW1lbnQg
ZXhlY0NvbW1hbmQ6XSk6CisgICAgICAgICgtW0RPTURvY3VtZW50IGdldE1hdGNoZWRDU1NSdWxl
czpwc2V1ZG9FbGVtZW50Ol0pOgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9NSFRNTEJhc2VG
b250RWxlbWVudC5tbToKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUhUTUxDb2xsZWN0aW9u
Lm1tOgorICAgICAgICAoLVtET01IVE1MQ29sbGVjdGlvbiB0YWdzOl0pOgorICAgICAgICAqIGJp
bmRpbmdzL29iamMvRE9NV2hlZWxFdmVudC5tbToKKyAgICAgICAgKC1bRE9NV2hlZWxFdmVudCBp
c0hvcml6b250YWxdKToKKyAgICAgICAgKiBjc3MvUkdCQ29sb3IuaWRsOgorICAgICAgICAqIGRv
bS9BdHRyLmlkbDoKKyAgICAgICAgKiBkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAg
ICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9FdmVudEV4Y2VwdGlvbi5oOiBSZW1v
dmVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRFeGNlcHRpb246OkV2ZW50RXhjZXB0aW9uKTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vRXZlbnRFeGNlcHRpb24uaWRsOiBSZW1vdmVkLgorICAg
ICAgICAqIGRvbS9LZXlib2FyZEV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VFdmVudDo6bWVzc2FnZVBvcnQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZUV2ZW50Ojppbml0TWVzc2FnZUV2ZW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vTWVzc2FnZUV2ZW50Lmg6CisgICAgICAgICogZG9tL01l
c3NhZ2VQb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2Fn
ZSk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0Lmg6CisgICAgICAgICogZG9t
L05vZGUuaWRsOgorICAgICAgICAqIGRvbS9Ob2RlRmlsdGVyLmlkbDoKKyAgICAgICAgKiBkb20v
T3ZlcmZsb3dFdmVudC5pZGw6CisgICAgICAgICogZG9tL1doZWVsRXZlbnQuaDoKKyAgICAgICAg
KiBkb20vV2hlZWxFdmVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQWxsQ29sbGVjdGlvbjo6dGFncyk6CisgICAgICAg
ICogaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5oOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEJhc2VGb250RWxlbWVudDo6SFRNTEJhc2VGb250RWxlbWVudCk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50Lmg6IFJlbW92ZWQuCisgICAgICAgICog
aHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL0hU
TUxCdXR0b25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBodG1sL0hUTUxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDb2xsZWN0aW9uOjp0YWdzKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxDb2xs
ZWN0aW9uLmg6CisgICAgICAgICogaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICog
aHRtbC9IVE1MRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50
LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzLmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJRnJh
bWVFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuaWRsOgorICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTGFi
ZWxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGw6CisgICAgICAgICogaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGFibGVDZWxsRWxlbWVu
dC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnBvc3RN
ZXNzYWdlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAq
IHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnBvc3RNZXNzYWdlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpwb3N0TWVzc2Fn
ZSk6IERlbGV0ZWQuCisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaDoKKworMjAxNi0wOC0wNCAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIEFub3RoZXIg
YnVpbGQgZml4IGF0dGVtcHQuCiAKICAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0L1dlYktpdERP
TURlcHJlY2F0ZWQuY3BwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBmY2E0Njc2ZTM2ZDFhNWYx
ZTk4NzRmMDAzZjRiODhjNDc0ZTdhZWM2Li5iZGJmMTIxNDIwMTM5YTNjYjQ2ZjMxNjQwNzk2NGNh
NTkzMThiNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTY1MCw3ICsxNjUwLDYgQEAgc2V0
KFdlYkNvcmVfU09VUkNFUwogICAgIGh0bWwvSFRNTEF1ZGlvRWxlbWVudC5jcHAKICAgICBodG1s
L0hUTUxCUkVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MQmFzZUVsZW1lbnQuY3BwCi0gICAgaHRt
bC9IVE1MQmFzZUZvbnRFbGVtZW50LmNwcAogICAgIGh0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAog
ICAgIGh0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MQ2FudmFzRWxlbWVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDhjMzdkYjg4M2RmMzU2YTMx
ZTgwMWNmZGM4NGMxMzk0MWM3ZWU3NzguLmM1OTAyMzg2ZTM1MmIxNmZjMDNhNmEzNWVhOTYwNWQ4
Zjg4ZjllMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzYxLDcgKzM2MSw2
IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTEF1ZGlvRWxl
bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MQlJFbGVtZW50LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRt
bC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hUTUxCb2R5
RWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGwg
XAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQwM2Zh
NzQwM2U3MGM3Mjc5NTk5NGU4Mjg1ZWUxN2Y4ZjA0MTFiZjkuLjVmYzFjMjk4YTUzOTc4ZjhiNmNm
YThiNTgzNTM2OWM3ZTczOWU0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ0NTEsOCArNDQ1MSw2IEBACiAJCUE4REYzRkNG
MDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOERGM0ZDNzA5N0ZBMEZC
MDA1Mjk4MUIgLyogSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uY3BwICovOyB9OwogCQlBOERG
M0ZEMDA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4REYzRkM4MDk3RkEwRkIwMDUyOTgxQiAv
KiBIVE1MQ29sbGVjdGlvbi5oICovOyB9OwogCQlBOERGM0ZEMTA5N0ZBMEZDMDA1Mjk4MUIgLyog
SFRNTENvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQThERjNGQzkwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxDb2xsZWN0aW9uLmNwcCAq
LzsgfTsKLQkJQThERjNGRDIwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4REYzRkNB
MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmggKi87IH07Ci0JCUE4REYz
RkQzMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4REYzRkNCMDk3RkEwRkIwMDUy
OTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCAqLzsgfTsKIAkJQThERjNGRDQwOTdGQTBG
QzAwNTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThERjNGQ0MwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxO
YW1lQ29sbGVjdGlvbi5oICovOyB9OwogCQlBOERGM0ZENTA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRN
TE5hbWVDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4REYzRkNEMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24u
Y3BwICovOyB9OwogCQlBOERGNEFFODA5ODBDNDJDMDA1Mjk4MUIgLyogUmVuZGVyVGFibGVDb2wu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThERjRB
REUwOTgwQzQyQzAwNTI5ODFCIC8qIFJlbmRlclRhYmxlQ29sLmNwcCAqLzsgfTsKQEAgLTU0NTUs
NyArNTQ1Myw2IEBACiAJCUJDNjBEN0MxMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNl
cHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
NjBEN0JGMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNlcHRpb24uaCAqLzsgfTsKIAkJ
QkM2MEQ4RjIwRDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM2MEQ4RjAwRDJBMTFFMDAwQjk5
MThGIC8qIEV4Y2VwdGlvbkJhc2UuY3BwICovOyB9OwogCQlCQzYwRDhGMzBEMkExMUUwMDBCOTkx
OEYgLyogRXhjZXB0aW9uQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM2MEQ4RjEwRDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQzYwRDkw
QzBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNjBEOTA5MEQyQTE3Q0UwMEI5OTE4RiAvKiBF
dmVudEV4Y2VwdGlvbi5oICovOyB9OwogCQlCQzYwREE1QjBEMkEzMUY3MDBCOTkxOEYgLyogWFBh
dGhFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDNjBEQTU5MEQyQTMxRjcwMEI5OTE4RiAvKiBYUGF0aEV4Y2VwdGlvbi5oICovOyB9Owog
CQlCQzYwREI0OTBEMkEzRDFFMDBCOTkxOEYgLyogSlNYUGF0aEV4Y2VwdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzYwREI0NzBEMkEzRDFF
MDBCOTkxOEYgLyogSlNYUGF0aEV4Y2VwdGlvbi5jcHAgKi87IH07CiAJCUJDNjBEQjRBMEQyQTNE
MUUwMEI5OTE4RiAvKiBKU1hQYXRoRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzYwREI0ODBEMkEzRDFFMDBCOTkxOEYgLyogSlNYUGF0
aEV4Y2VwdGlvbi5oICovOyB9OwpAQCAtODE0Myw3ICs4MTQwLDYgQEAKIAkJMUFEQTRBMUIxRDIy
RjJDMDAwNUE5QTE1IC8qIFBheW1lbnRNZXJjaGFudFNlc3Npb25Db2NvYS5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBheW1lbnRNZXJjaGFudFNlc3Npb25Db2Nv
YS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFMDBENTcxODJEQUM4RDAwMDg3
REQ3IC8qIEtleWVkQ29kaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEtl
eWVkQ29kaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRTJBOUYwMEExQ0RB
NTcwMEI0MkIyNSAvKiBIVE1MQXJlYUVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBIVE1MQXJlYUVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQUUy
QTlGMTBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJhc2VGb250RWxlbWVudC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IEhUTUxCYXNlRm9udEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQUUyQTlGMjBBMUNEQTU3MDBCNDJCMjUgLyogSFRNTEJvZHlFbGVtZW50
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEJvZHlFbGVtZW50LmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFMkE5RjMwQTFDREE1NzAwQjQyQjI1IC8qIEhUTUxC
UkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MQlJFbGVtZW50LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFFMkE5RjQwQTFDREE1NzAwQjQyQjI1IC8q
IEhUTUxGaWVsZFNldEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MRmll
bGRTZXRFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMDY3LDgg
KzEyMDYzLDYgQEAKIAkJQThERjNGQzcwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxGb3JtQ29udHJv
bHNDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBI
VE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4REYzRkM4MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQ29sbGVjdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTENvbGxlY3Rpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQThERjNGQzkwOTdGQTBGQjAwNTI5ODFCIC8qIEhUTUxDb2xsZWN0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MQ29sbGVj
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE4REYzRkNBMDk3RkEwRkIw
MDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBIVE1MQmFzZUZvbnRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCUE4REYzRkNCMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MQmFzZUZvbnRFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThERjNGQ0MwOTdGQTBGQjAw
NTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSFRNTE5hbWVDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4REYzRkNEMDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxOYW1lQ29sbGVjdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4REY0QURFMDk4MEM0MkMwMDUyOTgx
QiAvKiBSZW5kZXJUYWJsZUNvbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVuZGVyVGFibGVDb2wuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTMyNDAsOCArMTMyMzQsNiBAQAogCQlCQzYwRDdCRjBEMjlBNDYzMDBCOTkxOEYgLyogSlNET01D
b3JlRXhjZXB0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQ29y
ZUV4Y2VwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzYwRDhGMDBEMkEx
MUUwMDBCOTkxOEYgLyogRXhjZXB0aW9uQmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBFeGNlcHRpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkM2MEQ4RjEwRDJBMTFFMDAwQjk5MThGIC8qIEV4Y2VwdGlvbkJhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhjZXB0aW9uQmFzZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlCQzYwRDkwOTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRFeGNlcHRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkM2MEQ5MEEwRDJBMTdDRTAwQjk5MThGIC8q
IEV2ZW50RXhjZXB0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFdmVudEV4Y2VwdGlv
bi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNjBEQTU5MEQyQTMxRjcwMEI5
OTE4RiAvKiBYUGF0aEV4Y2VwdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBYUGF0aEV4Y2VwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzYwREE1
QTBEMkEzMUY3MDBCOTkxOEYgLyogWFBhdGhFeGNlcHRpb24uaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFhQYXRoRXhjZXB0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkM2MERCNDcwRDJBM0QxRTAwQjk5MThGIC8qIEpTWFBhdGhFeGNlcHRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNYUGF0aEV4Y2VwdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODc4OSw5ICsxODc4MSw2IEBACiAJCQkJQTg3MURD
MUUwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVudC5jcHAgKi8sCiAJCQkJQTg3MURD
MTMwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVudC5oICovLAogCQkJCUE4MEU3QUFG
MEExOUQxRjEwMDdGQjhDNSAvKiBIVE1MQmFzZUVsZW1lbnQuaWRsICovLAotCQkJCUE4REYzRkNC
MDk3RkEwRkIwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCAqLywKLQkJCQlBOERG
M0ZDQTA5N0ZBMEZCMDA1Mjk4MUIgLyogSFRNTEJhc2VGb250RWxlbWVudC5oICovLAotCQkJCTFB
RTJBOUYxMEExQ0RBNTcwMEI0MkIyNSAvKiBIVE1MQmFzZUZvbnRFbGVtZW50LmlkbCAqLywKIAkJ
CQk5QjI0REU4QzE1MTk0Qjk1MDBDNTlDMjcgLyogSFRNTEJESUVsZW1lbnQuaCAqLywKIAkJCQlB
ODcxREUxRDBBMTUyQUM4MDBCMTJBNjggLyogSFRNTEJvZHlFbGVtZW50LmNwcCAqLywKIAkJCQlB
ODcxREUyMDBBMTUyQUM4MDBCMTJBNjggLyogSFRNTEJvZHlFbGVtZW50LmggKi8sCkBAIC0yNDAy
MCw4ICsyNDAwOSw2IEBACiAJCQkJNDEzOEQzMzMxMjQ0MDU0ODAwMzIzRDMzIC8qIEV2ZW50Q29u
dGV4dC5oICovLAogCQkJCTQxOEEwNkNGMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNo
ZXIuY3BwICovLAogCQkJCTQxOEEwNkNFMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNo
ZXIuaCAqLywKLQkJCQlCQzYwRDkwOTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24u
aCAqLywKLQkJCQlCQzYwRDkwQTBEMkExN0NFMDBCOTkxOEYgLyogRXZlbnRFeGNlcHRpb24uaWRs
ICovLAogCQkJCTkzNUZCQzQ0MDlCQTAwQjkwMEUyMzBCMSAvKiBFdmVudExpc3RlbmVyLmggKi8s
CiAJCQkJODVBRkE3NDEwQUFGMjk4NDAwRTg0MzA1IC8qIEV2ZW50TGlzdGVuZXIuaWRsICovLAog
CQkJCUFENDQ5NUYxMTQxRkMwODkwMDU0MUVERiAvKiBFdmVudExpc3RlbmVyTWFwLmNwcCAqLywK
QEAgLTI1NTI5LDcgKzI1NTE2LDYgQEAKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyog
RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBF
dmVudENvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxOEEwNkQwMTMzQzA0RDUwMENEMzc5
QyAvKiBFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDNjBEOTBDMEQyQTE3
Q0UwMEI5OTE4RiAvKiBFdmVudEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlB
NTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTcwQjcyQTYxNDUwMDhFQjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTcwQjcyOEExNDRGRkFDNjAwRjAwQTM3IC8qIEV2ZW50SW50ZXJmYWNlcy5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNTczNyw3ICsyNTcyMyw2IEBACiAJCQkJN0M1RjI4RkMxQTgyN0Q4NDAw
QzBGMzFGIC8qIEhUTUxBdHRhY2htZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0
NjEzQTIwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxBdWRpb0VsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4NzFEQzFGMEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAotCQkJCUE4REYzRkQyMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MQmFzZUZvbnRF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjI0REU4RTE1MTk0Qjk1MDBDNTlDMjcgLyog
SFRNTEJESUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NzFERTJDMEExNTJBQzgwMEIx
MkE2OCAvKiBIVE1MQm9keUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGN0FBMEEx
NTY5NzgwMDBBNDIzNCAvKiBIVE1MQlJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI5NDc4
LDcgKzI5NDYzLDYgQEAKIAkJCQk3QzVGMjhGQjFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0dGFj
aG1lbnRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxM0ExMENENjMzMTAwMEZB
REE3NSAvKiBIVE1MQXVkaW9FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQzJB
MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJQThERjNGRDMwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxCYXNlRm9udEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTg3MURFMjkwQTE1MkFDODAwQjEyQTY4IC8qIEhUTUxCb2R5RWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOENGRjdBODBBMTU2OTc4MDAwQTQyMzQgLyog
SFRNTEJSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODEzNjlEMzA5NzM3NEY2MDBE
NzQ0NjMgLyogSFRNTEJ1dHRvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUhUTUxQcml2YXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NSFRNTFByaXZhdGUu
Y3BwCmluZGV4IGQwOWIzNGE4NTdhNDgzNWI2MGQ1ZWM3NTRjYWIwMjU1N2M4ZjAyYmUuLjNmNDky
OTZhMTBiNjFjMThmYjQyZDI0MjZlYTY2YzY1MjM3MTVkN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NSFRNTFByaXZhdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NSFRNTFByaXZhdGUuY3BwCkBA
IC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSAiSFRNTEF1ZGlvRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxCUkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MQmFzZUVsZW1lbnQuaCIKLSNpbmNsdWRl
ICJIVE1MQmFzZUZvbnRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTEJ1dHRvbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVu
dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01Eb2N1bWVu
dC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NRG9jdW1lbnQubW0KaW5kZXgg
N2Y2NjA0ODlkYmRjZmYzN2NhYmYxNThmNmI4OWRmZGNhYjE0YzM0Zi4uNmM2NDFlMjQxZDM2Yjg1
ZTA0NWRlN2VkY2U1OGRlOGFjMTNjZjEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01Eb2N1bWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9v
YmpjL0RPTURvY3VtZW50Lm1tCkBAIC02NzEsMTQgKzY3MSwxMiBAQAogCiAtIChCT09MKWV4ZWND
b21tYW5kOihOU1N0cmluZyAqKWNvbW1hbmQgdXNlckludGVyZmFjZTooQk9PTCl1c2VySW50ZXJm
YWNlCiB7Ci0gICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIHJl
dHVybiBJTVBMLT5leGVjQ29tbWFuZChjb21tYW5kLCB1c2VySW50ZXJmYWNlKTsKKyAgICByZXR1
cm4gW3NlbGYgZXhlY0NvbW1hbmQ6Y29tbWFuZCB1c2VySW50ZXJmYWNlOnVzZXJJbnRlcmZhY2Ug
dmFsdWU6bnVsbHB0cl07CiB9CiAKIC0gKEJPT0wpZXhlY0NvbW1hbmQ6KE5TU3RyaW5nICopY29t
bWFuZAogewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICBy
ZXR1cm4gSU1QTC0+ZXhlY0NvbW1hbmQoY29tbWFuZCk7CisgICAgcmV0dXJuIFtzZWxmIGV4ZWND
b21tYW5kOmNvbW1hbmQgdXNlckludGVyZmFjZTpOTyB2YWx1ZTpudWxscHRyXTsKIH0KIAogLSAo
Qk9PTClxdWVyeUNvbW1hbmRFbmFibGVkOihOU1N0cmluZyAqKWNvbW1hbmQKQEAgLTc0OCwxMSAr
NzQ2LDcgQEAKIAogLSAoRE9NQ1NTUnVsZUxpc3QgKilnZXRNYXRjaGVkQ1NTUnVsZXM6KERPTUVs
ZW1lbnQgKillbGVtZW50IHBzZXVkb0VsZW1lbnQ6KE5TU3RyaW5nICopcHNldWRvRWxlbWVudAog
ewotICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICBXZWJDb3Jl
OjpET01XaW5kb3cqIGR2ID0gSU1QTC0+ZGVmYXVsdFZpZXcoKTsKLSAgICBpZiAoIWR2KQotICAg
ICAgICByZXR1cm4gbmlsOwotICAgIHJldHVybiBraXQoV1RGOjpnZXRQdHIoZHYtPmdldE1hdGNo
ZWRDU1NSdWxlcyhjb3JlKGVsZW1lbnQpLCBwc2V1ZG9FbGVtZW50KSkpOworICAgIHJldHVybiBb
c2VsZiBnZXRNYXRjaGVkQ1NTUnVsZXM6ZWxlbWVudCBwc2V1ZG9FbGVtZW50OnBzZXVkb0VsZW1l
bnQgYXV0aG9yT25seTpZRVNdOwogfQogCiAtIChET01DU1NSdWxlTGlzdCAqKWdldE1hdGNoZWRD
U1NSdWxlczooRE9NRWxlbWVudCAqKWVsZW1lbnQgcHNldWRvRWxlbWVudDooTlNTdHJpbmcgKilw
c2V1ZG9FbGVtZW50IGF1dGhvck9ubHk6KEJPT0wpYXV0aG9yT25seQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQmFzZUZvbnRFbGVtZW50Lm1tIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01IVE1MQmFzZUZvbnRFbGVtZW50Lm1tCmluZGV4
IGFlMTY5ZDQ5NjdjMjdmN2IwNjVlZjU0NjFmYzI2NzRlODhhN2Q5OGYuLjZjNGM1ZWJlZjMwMjUx
ZmU0ZjQ2Njc1MTNhNzM4MGI2YTMxODE3N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL29iamMvRE9NSFRNTEJhc2VGb250RWxlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxCYXNlRm9udEVsZW1lbnQubW0KQEAgLTI4LDE1ICsyOCwx
NSBAQAogCiAjaW1wb3J0ICJET01Ob2RlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkV4Y2VwdGlvbkhh
bmRsZXJzLmgiCi0jaW1wb3J0ICJIVE1MQmFzZUZvbnRFbGVtZW50LmgiCiAjaW1wb3J0ICJIVE1M
TmFtZXMuaCIKKyNpbXBvcnQgIkhUTUxVbmtub3duRWxlbWVudC5oIgogI2ltcG9ydCAiSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgiCiAjaW1wb3J0ICJUaHJlYWRDaGVjay5oIgogI2ltcG9ydCAiVVJM
LmgiCiAjaW1wb3J0ICJXZWJTY3JpcHRPYmplY3RQcml2YXRlLmgiCiAjaW1wb3J0IDx3dGYvR2V0
UHRyLmg+CiAKLSNkZWZpbmUgSU1QTCBzdGF0aWNfY2FzdDxXZWJDb3JlOjpIVE1MQmFzZUZvbnRF
bGVtZW50Kj4ocmVpbnRlcnByZXRfY2FzdDxXZWJDb3JlOjpOb2RlKj4oX2ludGVybmFsKSkKKyNk
ZWZpbmUgSU1QTCBzdGF0aWNfY2FzdDxXZWJDb3JlOjpIVE1MVW5rbm93bkVsZW1lbnQqPihyZWlu
dGVycHJldF9jYXN0PFdlYkNvcmU6Ok5vZGUqPihfaW50ZXJuYWwpKQogCiBAaW1wbGVtZW50YXRp
b24gRE9NSFRNTEJhc2VGb250RWxlbWVudAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9vYmpjL0RPTUhUTUxDb2xsZWN0aW9uLm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvb2JqYy9ET01IVE1MQ29sbGVjdGlvbi5tbQppbmRleCA5NjM0NjcwNzE5YWQyNzliNWY4ZjNh
NGM0NDFjYjJlNDVmYzEyZDI0Li4xMDFkZDVjMmQ4NzdlNDMxY2IxNWM4NjJiMGYzNjczZmQ3NDBl
YjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUhUTUxDb2xs
ZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NSFRNTENvbGxl
Y3Rpb24ubW0KQEAgLTc1LDggKzc1LDExIEBACiAKIC0gKERPTU5vZGVMaXN0ICopdGFnczooTlNT
dHJpbmcgKiluYW1lCiB7CisgICAgaWYgKCFuYW1lKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KwogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKLSAgICByZXR1cm4g
a2l0KFdURjo6Z2V0UHRyKElNUEwtPnRhZ3MobmFtZSkpKTsKKyAgICByZXR1cm4ga2l0KHN0YXRp
Y19jYXN0PFdlYkNvcmU6Ok5vZGVMaXN0Kj4oV1RGOjpnZXRQdHIoSU1QTC0+b3duZXJOb2RlKCku
Z2V0RWxlbWVudHNCeVRhZ05hbWUobmFtZSkpKSk7CiB9CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NV2hlZWxFdmVudC5tbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NV2hlZWxFdmVudC5tbQppbmRleCA0NjY3NmVmN2FlNWUxNWY2
YzYxNWE4NjdiYjUzYmVkMjdkM2NmYmQ3Li4yNzcxZGVhOTI5Y2IzYjJmZTU0MGRjNTRhZGQ2MWM4
MjhjZDZiNGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTVdo
ZWVsRXZlbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01XaGVlbEV2
ZW50Lm1tCkBAIC05MSw4ICs5MSw3IEBACiAKIC0gKEJPT0wpaXNIb3Jpem9udGFsCiB7Ci0gICAg
V2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwotICAgIHJldHVybiBJTVBMLT5p
c0hvcml6b250YWwoKTsKKyAgICByZXR1cm4gISFzZWxmLndoZWVsRGVsdGFYOwogfQogCiAtICh2
b2lkKWluaXRXaGVlbEV2ZW50OihpbnQpaW5XaGVlbERlbHRhWCB3aGVlbERlbHRhWTooaW50KWlu
V2hlZWxEZWx0YVkgdmlldzooRE9NQWJzdHJhY3RWaWV3ICopdmlldyBzY3JlZW5YOihpbnQpc2Ny
ZWVuWCBzY3JlZW5ZOihpbnQpc2NyZWVuWSBjbGllbnRYOihpbnQpY2xpZW50WCBjbGllbnRZOihp
bnQpY2xpZW50WSBjdHJsS2V5OihCT09MKWN0cmxLZXkgYWx0S2V5OihCT09MKWFsdEtleSBzaGlm
dEtleTooQk9PTClzaGlmdEtleSBtZXRhS2V5OihCT09MKW1ldGFLZXkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9SR0JDb2xvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUkdCQ29s
b3IuaWRsCmluZGV4IDE2NzQ0ZjQyNWNmY2IxODg0MmUwMGViOWYyMGY2MjA0ZmQzMzZiOWIuLmI5
M2RjYjEwODM0NDg0ODdmMjk0YTJmODcxYjI3NjQ5MTJkOTZmMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9SR0JDb2xvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1JHQkNv
bG9yLmlkbApAQCAtMzAsOCArMzAsNSBAQAogI2lmICFkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJ
UFQpIHx8ICFMQU5HVUFHRV9KQVZBU0NSSVBUCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1By
aW1pdGl2ZVZhbHVlICBhbHBoYTsKICNlbmRpZgotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNU
SVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIENv
bG9yICAgICAgICAgICAgICBjb2xvcjsKLSNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0F0dHIuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaWRsCmluZGV4
IDE5MDFhMzc3MzgwOWY5MzBkODU4ZTYyOGQ5OGJmZmI2Y2Y4MjJmZTMuLjdhMzlkZmUyNmM3MGZi
OTI3MmRkNDJlODZhNzk1YWFlM2FmZmUzNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9BdHRyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0ci5pZGwKQEAgLTM5LDEwICsz
OSw1IEBACiAgICAgLy8gRE9NIExldmVsIDMKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuIGlzSWQ7Ci0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFH
RV9PQkpFQ1RJVkVfQwotICAgIC8vIFRoaXMgZXh0ZW5zaW9uIGlzIG5vIGxvbmdlciBuZWVkZWQs
IGJ1dCBpdCBoYXMgdG8gcmVtYWluIGF2YWlsYWJsZSBpbiBPYmplY3RpdmUgQywgYXMgaXQncyBw
dWJsaWMgQVBJLgotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZURlY2xhcmF0aW9uIHN0
eWxlOwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1w
bGVtZW50YXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmlk
bAppbmRleCA5YzJhOTBlMzI2YTBiYmE1MzhhMTFjM2JlMWE4Y2VkYmVmMWJiMDJkLi44NWQ4MTQ1
MjI4NmIyNTFhYmU1MjUwMGQ5OWI1NGIzMDhiMDY3NjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01JbXBsZW1lbnRhdGlvbi5pZGwKQEAgLTM0LDcgKzM0LDcgQEAKICAgICBbT2JqQ0xlZ2FjeVVu
bmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0gRG9jdW1lbnRUeXBl
IGNyZWF0ZURvY3VtZW50VHlwZShET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgRE9NU3RyaW5nIHB1
YmxpY0lkLCBET01TdHJpbmcgc3lzdGVtSWQpOwogCiAgICAgW05ld09iamVjdCwgT2JqQ0xlZ2Fj
eVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dCi0jaWYgZGVmaW5lZChMQU5HVUFH
RV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFH
RV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JK
RUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgICAgIERvY3VtZW50CiAjZWxzZQogICAgICAg
ICBYTUxEb2N1bWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA1ZTY2MjRmMDY3NGM2MzEzYmRm
YWNiMmMxYzY3Y2M0YWMyMWYzZGUxLi41NzhlZTBmNjVlOTNkNjU2Y2E5ZjIyOGUwNTk0MmE4OGU0
NTRlZDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtOTgsNyArOTgsNiBAQCBjbGFzcyBEb2N1
bWVudE1hcmtlckNvbnRyb2xsZXI7CiBjbGFzcyBEb2N1bWVudFBhcnNlcjsKIGNsYXNzIERvY3Vt
ZW50U2hhcmVkT2JqZWN0UG9vbDsKIGNsYXNzIERvY3VtZW50VHlwZTsKLWNsYXNzIEVudGl0eVJl
ZmVyZW5jZTsKIGNsYXNzIEV4dGVuc2lvblN0eWxlU2hlZXRzOwogY2xhc3MgRmxvYXRSZWN0Owog
Y2xhc3MgRmxvYXRRdWFkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggOGQ5ZjcyOGQ1NDU1
YmQ3MjRiYmQ4NTA3YzE0OTA3YTE5YzNlM2ZjNi4uNDBlMDJjYWY1OTljOWFkNjk5MzM0NzdhYjQz
MDU5ZTBkMjhlNGQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC0xMzEsMTIgKzEzMSw2
IEBACiAgICAgLy8gRklYTUU6IFRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgbGFzdCBwYXJhbWV0
ZXIgc2hvdWxkIGJlIHRoZSBlbXB0eSBzdHJpbmcuCiAgICAgYm9vbGVhbiBleGVjQ29tbWFuZChE
T01TdHJpbmcgY29tbWFuZCwgb3B0aW9uYWwgYm9vbGVhbiB1c2VySW50ZXJmYWNlID0gZmFsc2Us
IG9wdGlvbmFsIERPTVN0cmluZz8gdmFsdWUgPSBudWxsKTsKIAotI2lmIGRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gRklYTUU6IHJl
bW92ZSB0aGUgdGhlc2UgdHdvIHZlcnNpb25zIG9uY2Ugb3B0aW9uYWwgaXMgaW1wbGVtZW50ZWQg
Zm9yIE9iamVjdGl2ZS1DLgotICAgIGJvb2xlYW4gZXhlY0NvbW1hbmQoRE9NU3RyaW5nIGNvbW1h
bmQsIGJvb2xlYW4gdXNlckludGVyZmFjZSk7Ci0gICAgYm9vbGVhbiBleGVjQ29tbWFuZChET01T
dHJpbmcgY29tbWFuZCk7Ci0jZW5kaWYKLQogICAgIGJvb2xlYW4gcXVlcnlDb21tYW5kRW5hYmxl
ZChET01TdHJpbmcgY29tbWFuZCk7CiAgICAgYm9vbGVhbiBxdWVyeUNvbW1hbmRJbmRldGVybShE
T01TdHJpbmcgY29tbWFuZCk7CiAgICAgYm9vbGVhbiBxdWVyeUNvbW1hbmRTdGF0ZShET01TdHJp
bmcgY29tbWFuZCk7CkBAIC0xNzYsNyArMTcwLDcgQEAKIAogICAgIC8vIElFIGV4dGVuc2lvbnMK
IAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElW
RV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lm
IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgIGF0dHJp
YnV0ZSBET01TdHJpbmcgY2hhcnNldDsKICNlbHNlCiAgICAgW0ltcGxlbWVudGVkQXM9Y2hhcmFj
dGVyU2V0V2l0aFVURjhGYWxsYmFja10gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjaGFy
c2V0OwpAQCAtMjAxLDIwICsxOTUsNiBAQAogICAgIENTU1N0eWxlRGVjbGFyYXRpb24gY3JlYXRl
Q1NTU3R5bGVEZWNsYXJhdGlvbigpOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09C
SkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIERPTSBMZXZlbCAyIFN0
eWxlIEludGVyZmFjZQotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE9iakNVc2VE
ZWZhdWx0Vmlld10gQ1NTU3R5bGVEZWNsYXJhdGlvbiBnZXRDb21wdXRlZFN0eWxlKEVsZW1lbnQg
ZWxlbWVudCwgRE9NU3RyaW5nIHBzZXVkb0VsZW1lbnQpOwotCi0gICAgLy8gV2ViS2l0IGV4dGVu
c2lvbgotICAgIC8vIEZJWE1FOiByZW1vdmUgdGhlIGZpcnN0IHZlcnNpb24gb25jZSBvcHRpb25h
bCBpcyBpbXBsZW1lbnRlZCBmb3IgT2JqZWN0aXZlLUMuCi0gICAgW09iakNVc2VEZWZhdWx0Vmll
d10gQ1NTUnVsZUxpc3QgZ2V0TWF0Y2hlZENTU1J1bGVzKEVsZW1lbnQ/IGVsZW1lbnQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE9NU3RyaW5nIHBzZXVk
b0VsZW1lbnQpOwotICAgIFtPYmpDVXNlRGVmYXVsdFZpZXddIENTU1J1bGVMaXN0IGdldE1hdGNo
ZWRDU1NSdWxlcyhFbGVtZW50PyBlbGVtZW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIERPTVN0cmluZyBwc2V1ZG9FbGVtZW50LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gYXV0aG9y
T25seSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0j
ZW5kaWYKLQogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgZ2V0Q1NTQ2FudmFzQ29udGV4dChE
T01TdHJpbmcgY29udGV4dElkLCBET01TdHJpbmcgbmFtZSwgbG9uZyB3aWR0aCwgbG9uZyBoZWln
aHQpOwogCiAgICAgLy8gSFRNTCA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKaW5kZXggOWJjYTM5NmI1
NTEzOTFiYWU2NzYyZDdlYmY0MWVlMDc5NmNmNTI3YS4uYzM4OGQzNzA5ZmVkNDAzNTZkZDc1YmY0
M2VlMGFlNjVlMGJlYTI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbApAQCAtODcsNyArODcsNyBA
QAogCiAgICAgW0ltcGxlbWVudGVkQXM9YmluZGluZ3NPZmZzZXRQYXJlbnRdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBFbGVtZW50IG9mZnNldFBhcmVudDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JK
RUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09C
SkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkg
JiYgTEFOR1VBR0VfR09CSkVDVAogICAgIHZvaWQgZm9jdXMoKTsKICAgICB2b2lkIGJsdXIoKTsK
ICNlbmRpZgpAQCAtMTI1LDExICsxMjUsNiBAQAogICAgIENsaWVudFJlY3QgZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCk7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0Mp
ICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9ucwot
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW5uZXJUZXh0OwotI2VuZGlmCi0KICNp
ZiBkZWZpbmVkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJiYgRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
CiAgICAgLy8gTW96aWxsYSB2ZXJzaW9uCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgQUxMT1df
S0VZQk9BUkRfSU5QVVQgPSAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RXhjZXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmFmMDk2NDYwYTk2NmYzNDdkZDkyMGY5MDBhMjhjNjk5
YzFhNTk3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gIE5laXRoZXIgdGhlIG5h
bWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0cyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
LSAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBFdmVudEV4Y2VwdGlvbl9oCi0jZGVmaW5lIEV2ZW50RXhjZXB0aW9uX2gK
LQotI2luY2x1ZGUgIkV4Y2VwdGlvbkJhc2UuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBFdmVudEV4Y2VwdGlvbiA6IHB1YmxpYyBFeGNlcHRpb25CYXNlIHsKLXByaXZhdGU6Ci0g
ICAgZXhwbGljaXQgRXZlbnRFeGNlcHRpb24oY29uc3QgRXhjZXB0aW9uQ29kZURlc2NyaXB0aW9u
JiBkZXNjcmlwdGlvbikKLSAgICAgICAgOiBFeGNlcHRpb25CYXNlKGRlc2NyaXB0aW9uKQotICAg
IHsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFdmVu
dEV4Y2VwdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRp
b24uaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDZmMmUxZWJkNmRiOWUwZTkyNzlkYjA0OTkxNGQxNzhkNjRm
OTA4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaWRsCisrKyAvZGV2L251bGwKQEAgLTEsNDcg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KgotICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAot
ICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAot
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
aWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MK
LQotLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKLVsKLSAgICBOb0ludGVyZmFjZU9iamVj
dCwKLSAgICBEb05vdENoZWNrQ29uc3RhbnRzLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCi1dIGV4Y2VwdGlvbiBFdmVudEV4Y2VwdGlvbiB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgICBjb2RlOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgICAgICAgIG5hbWU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyAgICAgICAg
bWVzc2FnZTsKLQotICAgIC8vIEV2ZW50RXhjZXB0aW9uQ29kZQotICAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IFVOU1BFQ0lGSUVEX0VWRU5UX1RZUEVfRVJSID0gMDsKLSAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBESVNQQVRDSF9SRVFVRVNUX0VSUiA9IDE7Ci19OwotCi0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9LZXlib2FyZEV2ZW50LmlkbAppbmRleCA3N2RjMDYxYWU4MjM1MGY4NjdhNjg5NWIwZGNh
YmRmODE0MWJmZmNlLi5kOTRkMDk2NzRkMmE3YjE4OGVkY2E1ZTZmOTUwNTQ5ZjlmYjdkMGFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsCkBAIC04NiwzMiArODYsNSBAQAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBzaGlmdEtleSA9IGZhbHNl
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBtZXRhS2V5ID0g
ZmFsc2UpOwogI2VuZGlmCi0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBM
QU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5Lgot
ICAgIHZvaWQgaW5pdEtleWJvYXJkRXZlbnQob3B0aW9uYWwgRE9NU3RyaW5nIHR5cGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIGNhbkJ1YmJsZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVdpbmRvdz8gdmlldywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERPTVN0cmluZyBrZXlJZGVudGlmaWVyLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBrZXlMb2NhdGlv
biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY3RybEtleSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gYWx0S2V5LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBzaGlmdEtleSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gbWV0YUtleSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gYWx0R3JhcGhLZXkpOwotCi0gICAg
dm9pZCBpbml0S2V5Ym9hcmRFdmVudChvcHRpb25hbCBET01TdHJpbmcgdHlwZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gY2FuQnViYmxlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgRE9NV2luZG93PyB2aWV3LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uYWwgRE9NU3RyaW5nIGtleUlkZW50aWZpZXIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGtleUxvY2F0aW9uLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBjdHJsS2V5LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBhbHRLZXksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBib29sZWFuIHNoaWZ0S2V5LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBtZXRhS2V5KTsKLSNlbmRpZgotCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCmluZGV4IDUxYjdmYzU1YmJmMmExYzcy
Zjg1YTYwNmUyOTM4ODJkZDhkNzc1ZTAuLmEzZmU4ZGRmYzM3NzI1ZTg4YzZiNzNlODgxYWU4NzZj
ZmE4ODk5ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuY3BwCkBAIC0xOTIsMjQgKzE5
Miw2IEBAIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogTWVzc2FnZUV2ZW50OjpkYXRhKCkgY29uc3QK
ICAgICByZXR1cm4gbV9kYXRhQXNTZXJpYWxpemVkU2NyaXB0VmFsdWUuZ2V0KCk7CiB9CiAKLU1l
c3NhZ2VQb3J0KiBNZXNzYWdlRXZlbnQ6Om1lc3NhZ2VQb3J0KCkKLXsKLSAgICBpZiAoIW1fcG9y
dHMpCi0gICAgICAgIHJldHVybiAwOwotICAgIEFTU0VSVChtX3BvcnRzLT5zaXplKCkgPT0gMSk7
Ci0gICAgcmV0dXJuICgqbV9wb3J0cylbMF0uZ2V0KCk7Ci19Ci0KLXZvaWQgTWVzc2FnZUV2ZW50
Ojppbml0TWVzc2FnZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IGRh
dGEsIGNvbnN0IFN0cmluZyYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGxhc3RFdmVudElkLCBET01X
aW5kb3cqIHNvdXJjZSwgTWVzc2FnZVBvcnQqIHBvcnQpCi17Ci0gICAgc3RkOjp1bmlxdWVfcHRy
PE1lc3NhZ2VQb3J0QXJyYXk+IHBvcnRzOwotICAgIGlmIChwb3J0KSB7Ci0gICAgICAgIHBvcnRz
ID0gc3RkOjptYWtlX3VuaXF1ZTxNZXNzYWdlUG9ydEFycmF5PigpOwotICAgICAgICBwb3J0cy0+
YXBwZW5kKHBvcnQpOwotICAgIH0KLSAgICBpbml0TWVzc2FnZUV2ZW50KHR5cGUsIGNhbkJ1YmJs
ZSwgY2FuY2VsYWJsZSwgZGF0YSwgb3JpZ2luLCBsYXN0RXZlbnRJZCwgc291cmNlLCBXVEZNb3Zl
KHBvcnRzKSk7Ci19Ci0KIEV2ZW50SW50ZXJmYWNlIE1lc3NhZ2VFdmVudDo6ZXZlbnRJbnRlcmZh
Y2UoKSBjb25zdAogewogICAgIHJldHVybiBNZXNzYWdlRXZlbnRJbnRlcmZhY2VUeXBlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL01lc3NhZ2VFdmVudC5oCmluZGV4IDBjY2VhZjQ4OGE3Y2IzZTEzYmI4ODNkMmE1MmI5
N2YwOWE4N2YwMzEuLmJmYzY4MDI1YTRiNGVkMmU5YzJhODU3OWRlYjU1YTJkNzY0ZDUxNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlRXZlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmgKQEAgLTY2LDEwICs2Niw2IEBAIHB1YmxpYzoKICAg
ICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgd2hlbiB3ZSBoYXZlIGN1c3RvbSBPYmpDIGJpbmRpbmcg
c3VwcG9ydC4KICAgICBTZXJpYWxpemVkU2NyaXB0VmFsdWUqIGRhdGEoKSBjb25zdDsKIAotICAg
IC8vIE5lZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3MgKHNlZSBidWcgMjg3NzQpLgotICAg
IE1lc3NhZ2VQb3J0KiBtZXNzYWdlUG9ydCgpOwotICAgIHZvaWQgaW5pdE1lc3NhZ2VFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBkYXRhLCBjb25zdCBTdHJpbmcmIG9y
aWdpbiwgY29uc3QgU3RyaW5nJiBsYXN0RXZlbnRJZCwgRE9NV2luZG93KiBzb3VyY2UsIE1lc3Nh
Z2VQb3J0Kik7Ci0KICAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgZW51bSBEYXRhVHlwZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNw
cAppbmRleCBhMWY3MGZkZmY0MjMwYzYwNWJkYjEzYWVmOTg2YmVmYzlhYmQyNjlmLi43OWE4MGVk
MzQwOThjZjc4ZGRkOTY0YzJhY2M3Y2I2ZGNlNzQ0NjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydC5jcHAKQEAgLTUzLDE0ICs1Myw2IEBAIE1lc3NhZ2VQb3J0Ojp+TWVzc2FnZVBvcnQoKQog
ICAgICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmRlc3Ryb3llZE1lc3NhZ2VQb3J0KCp0
aGlzKTsKIH0KIAotdm9pZCBNZXNzYWdlUG9ydDo6cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBNZXNzYWdlUG9ydCogcG9ydCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCi17Ci0gICAgTWVzc2FnZVBvcnRBcnJheSBwb3J0czsKLSAgICBpZiAocG9ydCkKLSAg
ICAgICAgcG9ydHMuYXBwZW5kKHBvcnQpOwotICAgIHBvc3RNZXNzYWdlKFdURk1vdmUobWVzc2Fn
ZSksICZwb3J0cywgZWMpOwotfQotCiB2b2lkIE1lc3NhZ2VQb3J0Ojpwb3N0TWVzc2FnZShSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIGNvbnN0IE1lc3NhZ2VQb3J0QXJy
YXkqIHBvcnRzLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIWlzRW50YW5nbGVkKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCmluZGV4IDYzMThhYTQxMGFiZWQyMDVjNzM4MzNhMWU2
ZmYwNWVkOTM3NjNkNDguLjc2NzcwMThlMTFjOWJiYmY4OTUzMmI0ZWY2YzVjMzA4NWM0MGY5YzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCkBAIC01MSw4ICs1MSw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB+TWVzc2FnZVBvcnQoKTsKIAogICAgICAgICB2b2lk
IHBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgY29u
c3QgTWVzc2FnZVBvcnRBcnJheSosIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICAgICAgLy8gTmVlZGVk
IGZvciBPYmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1ZyAyODc3NCkuCi0gICAgICAgIHZvaWQg
cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBNZXNz
YWdlUG9ydCosIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgICAgICB2b2lkIHN0YXJ0KCk7CiAgICAg
ICAgIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbAppbmRleCA0OWFjZjYzZDgyYzVlZDZiNzUz
M2YxMDIzOTIzZWRmZmFmMWE5MTYwLi5jZjVjM2U3OWNhMTQzZTE4ZTMyZTc5ZjE5MWM0NzliODhh
Nzk2ZDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCkBAIC0yNSwxMyArMjUsNyBAQAogICAgIEpTQ3VzdG9t
SGVhZGVyLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEpTQ3VzdG9tUHVzaEV2ZW50
SGFuZGxlclNjb3BlLAotICAgIE9iakNQb2x5bW9ycGhpYywKLV0gaW50ZXJmYWNlIE5vZGUKLSNp
ZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwot
ICAgIDogT2JqZWN0LCBFdmVudFRhcmdldAotI2Vsc2UKLSAgICA6IEV2ZW50VGFyZ2V0Ci0jZW5k
aWYKK10gaW50ZXJmYWNlIE5vZGUgOiBFdmVudFRhcmdldAogIHsKICAgICAvLyBOb2RlVHlwZQog
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0ICAgICAgRUxFTUVOVF9OT0RFICAgICAgICAgICAgICAg
ICAgID0gMTsKQEAgLTc2LDE5ICs3MCwxMyBAQAogICAgIC8vIEludHJvZHVjZWQgaW4gRE9NIExl
dmVsIDI6CiAKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0Vf
SkFWQVNDUklQVAotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIEltcGxlbWVudGVk
QXM9aXNTdXBwb3J0ZWRGb3JCaW5kaW5nc10gYm9vbGVhbiBpc1N1cHBvcnRlZChvcHRpb25hbCBE
T01TdHJpbmcgZmVhdHVyZSwgb3B0aW9uYWwgRE9NU3RyaW5nIHZlcnNpb24pOworICAgIFtJbXBs
ZW1lbnRlZEFzPWlzU3VwcG9ydGVkRm9yQmluZGluZ3NdIGJvb2xlYW4gaXNTdXBwb3J0ZWQob3B0
aW9uYWwgRE9NU3RyaW5nIGZlYXR1cmUsIG9wdGlvbmFsIERPTVN0cmluZyB2ZXJzaW9uKTsKICNl
bmRpZgogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gICAgICAgIG5hbWVzcGFj
ZVVSSTsKICAgICBbU2V0dGVyUmFpc2VzRXhjZXB0aW9uXSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBw
cmVmaXg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gICAgICAgIGxvY2FsTmFt
ZTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpCi0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIE5hbWVkTm9kZU1hcCAgICAgYXR0cmlidXRlczsKLSAgICBib29sZWFuICAgICAgICAg
ICAgaGFzQXR0cmlidXRlcygpOwotI2VuZGlmCi0KLQogICAgIC8vIEludHJvZHVjZWQgaW4gRE9N
IExldmVsIDM6CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyAgICAgICBiYXNl
VVJJOwpAQCAtMTIwLDEyICsxMDgsNSBAQAogCiAgICAgLy8gSUUgZXh0ZW5zaW9ucwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50ICAgICAgICAgIHBhcmVudEVsZW1lbnQ7Ci0KLSNpZiBk
ZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAg
IC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbnMKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biAgICAgICAgICBpc0NvbnRlbnRFZGl0YWJsZTsKLQotICAgIHZvaWQgaW5zcGVjdCgpOwotI2Vu
ZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUZpbHRlci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUZpbHRlci5pZGwKaW5kZXggZmM3MDM5N2QyMTAyZmFi
MGEyNWQxODU5NzI1ODAyZjllYzY2ZGU1NC4uZjFhM2VkZTkzNjllMjNjYjRjYmM3NjRjZDk1NzI4
MmE1YzU0MWU4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVGaWx0ZXIuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlRmlsdGVyLmlkbApAQCAtNDMsMTAgKzQzLDYg
QEAKICAgICBjb25zdCB1bnNpZ25lZCBsb25nICAgICAgIFNIT1dfRE9DVU1FTlRfRlJBR01FTlQg
ICAgICAgICA9IDB4MDAwMDA0MDA7CiAgICAgY29uc3QgdW5zaWduZWQgbG9uZyAgICAgICBTSE9X
X05PVEFUSU9OICAgICAgICAgICAgICAgICAgPSAweDAwMDAwODAwOwogCi0jaWYgZGVmaW5lZChM
QU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICBzaG9ydCBh
Y2NlcHROb2RlKG9wdGlvbmFsIE5vZGUgbik7Ci0jZWxzZQogICAgIFtDdXN0b21dIHVuc2lnbmVk
IHNob3J0IGFjY2VwdE5vZGUob3B0aW9uYWwgTm9kZSBub2RlKTsKLSNlbmRpZgogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvZG9tL092ZXJmbG93RXZlbnQuaWRsCmluZGV4IGY1MzBiZjU5NjJlN2I5YjAxMTg5ZjJi
M2QzNzlkNjU5ZGRjOWM4YjkuLjBkZDc5YzFiMTYxODY2ZWE3ODQxMDNiYzZjZjM4MDI4ZDE0MDc1
ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9PdmVyZmxvd0V2ZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5pZGwKQEAgLTMzLDExICszMyw1IEBA
CiAgICAgW0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgb3JpZW50OwogICAgIFtJbml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rv
cl0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaG9yaXpvbnRhbE92ZXJmbG93OwogICAgIFtJ
bml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
dmVydGljYWxPdmVyZmxvdzsKLQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYm
IExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgdm9pZCBpbml0T3ZlcmZsb3dFdmVudChvcHRpb25h
bCB1bnNpZ25lZCBzaG9ydCBvcmllbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRp
b25hbCBib29sZWFuIGhvcml6b250YWxPdmVyZmxvdywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsIGJvb2xlYW4gdmVydGljYWxPdmVyZmxvdyk7Ci0jZW5kaWYKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vV2hlZWxFdmVudC5oCmluZGV4IDc4NWFkZDhlMzU5OTczY2U4ZjIwYmY3MmM2MGVlYTRl
ZTRmMTQzYTQuLjMxYmFiYTJkMGQ5MmNkYmE0OTYyZDFkZThkN2QwZDE0Y2FiNzFkYmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1doZWVsRXZlbnQuaApAQCAtODcsOCArODcsNiBAQCBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgZGVsdGFNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9kZWx0YU1vZGU7IH0KIAogICAgIGJvb2wg
d2Via2l0RGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKCkgY29uc3QgeyByZXR1cm4gbV93aGVl
bEV2ZW50LmRpcmVjdGlvbkludmVydGVkRnJvbURldmljZSgpOyB9Ci0gICAgLy8gTmVlZGVkIGZv
ciBPYmplY3RpdmUtQyBsZWdhY3kgc3VwcG9ydAotICAgIGJvb2wgaXNIb3Jpem9udGFsKCkgY29u
c3QgeyByZXR1cm4gbV93aGVlbERlbHRhLngoKTsgfQogCiAgICAgRXZlbnRJbnRlcmZhY2UgZXZl
bnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1doZWVsRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuaWRs
CmluZGV4IDNkMzQzOWMyNjhkMTk0ZWEyY2VlNDQ1MGM5NmEwZTQ2MzRhZWY5NjUuLjZlMThmOTA5
ZWEyYTczNDJhYjFkZjI3YjRmOGU2ODljOTM2NGQyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9XaGVlbEV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVu
dC5pZGwKQEAgLTQyLDEwICs0Miw2IEBACiAgICAgLy8gV2ViS2l0IEV4dGVuc2lvbgogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdlYmtpdERpcmVjdGlvbkludmVydGVkRnJvbURldmlj
ZTsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVD
VElWRV9DCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNIb3Jpem9udGFsOwotI2Vu
ZGlmIC8qIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICovCi0KICNpZiAhZGVmaW5lZChM
QU5HVUFHRV9KQVZBU0NSSVBUKSB8fCAhTEFOR1VBR0VfSkFWQVNDUklQVAogICAgIHZvaWQgaW5p
dFdoZWVsRXZlbnQob3B0aW9uYWwgbG9uZyB3aGVlbERlbHRhWCwKICAgICAgICAgICAgICAgICAg
ICAgICAgIG9wdGlvbmFsIGxvbmcgd2hlZWxEZWx0YVksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFsbENvbGxlY3Rpb24uY3BwCmluZGV4IGRhYjA1MDBmYWQ4OGM2NTRhNWI5MWNiZTVkM2Q5YTc0
NjI3OThiMWIuLmZjZjNhYTBlZWFjMDM5NTQ0NzNmOWJjYjQwZWM1MmI0OWE4YWI3MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwCkBAIC01OSw0ICs1OSwxMiBA
QCBFbGVtZW50KiBIVE1MQWxsQ29sbGVjdGlvbjo6bmFtZWRJdGVtV2l0aEluZGV4KGNvbnN0IEF0
b21pY1N0cmluZyYgbmFtZSwgdW5zaWduZQogICAgIHJldHVybiBudWxscHRyOwogfQogCitSZWZQ
dHI8Tm9kZUxpc3Q+IEhUTUxBbGxDb2xsZWN0aW9uOjp0YWdzKGNvbnN0IFN0cmluZyYgbmFtZSkK
K3sKKyAgICBpZiAobmFtZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICByZXR1cm4gb3duZXJOb2RlKCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUobmFtZSk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFsbENvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24u
aAppbmRleCBiNjAxMWI0OTYyZGUwYzc3NzNjYjMxYmU5MTY2ZDNlOThiOTA0ZGMwLi4wODliNzJh
Y2ViMTBkMmFiZGMwMjdjN2FjZGRjZjZkNjEyMzhmYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbGxDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQWxsQ29sbGVjdGlvbi5oCkBAIC0zNSw2ICszNSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPEhUTUxBbGxDb2xsZWN0aW9uPiBjcmVhdGUoRG9jdW1lbnQmLCBDb2xsZWN0aW9uVHlwZSk7
CiAKICAgICBFbGVtZW50KiBuYW1lZEl0ZW1XaXRoSW5kZXgoY29uc3QgQXRvbWljU3RyaW5nJiBu
YW1lLCB1bnNpZ25lZCBpbmRleCkgY29uc3Q7CisgICAgUmVmUHRyPE5vZGVMaXN0PiB0YWdzKGNv
bnN0IFN0cmluZyYpOwogCiAgICAgLy8gRm9yIENhY2hlZEhUTUxDb2xsZWN0aW9uLgogICAgIGJv
b2wgZWxlbWVudE1hdGNoZXMoRWxlbWVudCYpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwKaW5kZXggZGUzYWFiMDA4NDQ2ZmQ5
MTg1NGJkZWVjMDJiY2MwNzAwYzlmYjQ5Mi4uMzExYTZkM2M5YmE2YjE0NmZlMmQ2ZGI2MTU0OWU5
NDU3MzI3YzI1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwK
QEAgLTM1LDI1ICszNSwxMiBAQCBpbnRlcmZhY2UgSFRNTEFuY2hvckVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OwogICAgIFtS
ZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdF
X09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIFtSZWZsZWN0XSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGFjY2Vzc0tleTsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChMQU5HVUFH
RV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHRleHQ7Ci0jZWxzZQogICAgIFtTZXR0ZXJSYWlzZXNFeGNlcHRpb25d
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRleHQ7Ci0jZW5kaWYKIAogI2lmIGRlZmluZWQoTEFOR1VB
R0VfSkFWQVNDUklQVCkgJiYgTEFOR1VBR0VfSkFWQVNDUklQVAogICAgIFtOb3RFbnVtZXJhYmxl
XSBET01TdHJpbmcgdG9TdHJpbmcoKTsKICNlbmRpZgogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9P
QkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICAvLyBPYmplY3RpdmUtQyBl
eHRlbnNpb246Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtVUkw7Ci0j
ZW5kaWYKLQogICAgIFtQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRv
a2VuTGlzdCByZWxMaXN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQXJlYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQu
aWRsCmluZGV4IDM2OWM5MDNmY2RhNDg3MDA4NTc5MThlMWJmMGQ4YzQ0YjU0YzQyODAuLmJiYzYz
ZTkyOWM4MmQ4NGQ5NjNlYmEzZWJkMmQ0NmFmM2Q4ZTk5NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBcmVhRWxlbWVudC5pZGwKQEAgLTMxLDE1ICszMSw2IEBAIGludGVyZmFjZSBIVE1MQXJl
YUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgc2hhcGU7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OwogCi0j
aWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MK
LSAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhY2Nlc3NLZXk7Ci0jZW5kaWYKLQot
I2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9D
Ci0gICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9uOgotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBV
UkwgYWJzb2x1dGVMaW5rVVJMOwotI2VuZGlmCi0KICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiMmMxYWZmNThlOWVlMzkxYWE3Y2RhNmE5NDNhNWUxODdjODdjMmJlLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEJhc2VGb250RWxlbWVudC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCi0g
KiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDksIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkhUTUxCYXNlRm9udEVsZW1lbnQuaCIKLQotI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci0KLUhUTUxC
YXNlRm9udEVsZW1lbnQ6OkhUTUxCYXNlRm9udEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQotICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQpCi17Ci0gICAgQVNTRVJUKGhhc1RhZ05hbWUoYmFzZWZvbnRUYWcpKTsKLX0KLQot
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzRmYjY2ZTA3MTUxYzExNWUwZDBjNGY5MWU1NTZhYTBkZmZmMzcx
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxCYXNlRm9udEVsZW1lbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDM4
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2Rl
Lm9yZykKLSAqICAgICAgICAgICAoQykgMTk5OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2Rl
Lm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOSwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0g
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0g
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIEhUTUxCYXNlRm9u
dEVsZW1lbnRfaAotI2RlZmluZSBIVE1MQmFzZUZvbnRFbGVtZW50X2gKLQotI2luY2x1ZGUgIkhU
TUxFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gT25seSB1c2VkIGJ5IE9i
akMgYmluZGluZ3MuCi1jbGFzcyBIVE1MQmFzZUZvbnRFbGVtZW50IGZpbmFsIDogcHVibGljIEhU
TUxFbGVtZW50IHsKLXByaXZhdGU6Ci0gICAgSFRNTEJhc2VGb250RWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlCi0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5pZGwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDljNmRhN2ZlNmQzZTg1MGFlOTMyMzJlMGFhOWMwODA4MTVjZTAw
NzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbAorKysgL2Rldi9udWxsCkBAIC0x
LDMwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDksIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVf
QykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLQotWwotICAgIE5vSW50ZXJmYWNlT2JqZWN0Ci1d
IGludGVyZmFjZSBIVE1MQmFzZUZvbnRFbGVtZW50IDogSFRNTEVsZW1lbnQgewotICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvbG9yOwotICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGZhY2U7Ci0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgc2l6ZTsg
Ly8gdGhpcyBjaGFuZ2VkIHRvIGEgbG9uZywgYnV0IG91ciBleGlzdGluZyBBUEkgaXMgYSBzdHJp
bmcKLX07Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0
dG9uRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50Lmlk
bAppbmRleCA3OTYyZGU2NzhhZDIyYWMxZTU2YmQ1NTFhMmI3MmZiYjM3YTM3MGQwLi5iMzkxZDZl
YWU3ZGI3ZDc5YmNjNTI0NDg0YzFjMzdiODQyZjIzMThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxCdXR0b25FbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCdXR0b25FbGVtZW50LmlkbApAQCAtNDEsMTEgKzQxLDUgQEAgaW50ZXJmYWNlIEhUTUxC
dXR0b25FbGVtZW50IDogSFRNTEVsZW1lbnQgewogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5v
ZGVMaXN0IGxhYmVsczsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExB
TkdVQUdFX09CSkVDVElWRV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWNj
ZXNzS2V5OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBM
QU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgIHZvaWQgY2xpY2soKTsKLSNlbmRpZgogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwKaW5kZXggMDhmYzEyYTJjMDRlMDhj
Y2VhMTY1ZGZmMTEzOGJkMzg0MzFiMWNhYy4uYmViYTM4ZGYyMjg5OTFiNjk1ZGViMDI4NGI1MzJl
NzA4OTBmMGUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGwK
QEAgLTI5LDcgKzI5LDcgQEAKICAgICBSZXBvcnRFeHRyYU1lbW9yeUNvc3QsCiAgICAgUmVwb3J0
RXh0ZXJuYWxNZW1vcnlDb3N0LAogXSBpbnRlcmZhY2UgSFRNTENhbnZhc0VsZW1lbnQgOiBIVE1M
RWxlbWVudCB7Ci0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0Vf
T0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JK
RUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAg
ICAgYXR0cmlidXRlIGxvbmcgd2lkdGg7CiAgICAgYXR0cmlidXRlIGxvbmcgaGVpZ2h0OwogI2Vs
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKaW5kZXggNmEyZjE1ZjZkMDkw
ZGU1OTY4ZmM5YzVjOWUyYjc5ZTllZWFjZjRmNi4uOTI5ZjRlNmZhNjc2ZWUwMWNkNzhhZDlhZGEx
ODc0NDVmMGQ0NmE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKQEAg
LTIyOCwxMiArMjI4LDQgQEAgVmVjdG9yPFJlZjxFbGVtZW50Pj4gSFRNTENvbGxlY3Rpb246Om5h
bWVkSXRlbXMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKSBjb25zdAogICAgIHJldHVybiBlbGVt
ZW50czsKIH0KIAotUmVmUHRyPE5vZGVMaXN0PiBIVE1MQ29sbGVjdGlvbjo6dGFncyhjb25zdCBT
dHJpbmcmIG5hbWUpCi17Ci0gICAgaWYgKG5hbWUuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBu
dWxscHRyOwotCi0gICAgcmV0dXJuIG93bmVyTm9kZSgpLmdldEVsZW1lbnRzQnlUYWdOYW1lKG5h
bWUpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xs
ZWN0aW9uLmgKaW5kZXggZDEyZTNkNDVlYjJhOGNkNmNlMjcyNzg3NWJkMjNlOTM2OTFlMDA1MS4u
NTk1YjY1ZDA3NjBlZTNhNTVjZmZlNzlhNjc0Yzg0ZGQ4ZjNjNWY4OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENvbGxlY3Rpb24uaApAQCAtNzAsNyArNzAsNiBAQCBwdWJsaWM6CiAgICAgRWxlbWVu
dCogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Qgb3ZlcnJpZGUgPSAwOyAvLyBUaWdodGVuIHJl
dHVybiB0eXBlIGZyb20gTm9kZUxpc3Q6Oml0ZW0oKS4KICAgICB2aXJ0dWFsIEVsZW1lbnQqIG5h
bWVkSXRlbShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpIGNvbnN0ID0gMDsKICAgICBjb25zdCBW
ZWN0b3I8QXRvbWljU3RyaW5nPiYgc3VwcG9ydGVkUHJvcGVydHlOYW1lcygpOwotICAgIFJlZlB0
cjxOb2RlTGlzdD4gdGFncyhjb25zdCBTdHJpbmcmKTsKIAogICAgIC8vIE5vbi1ET00gQVBJCiAg
ICAgVmVjdG9yPFJlZjxFbGVtZW50Pj4gbmFtZWRJdGVtcyhjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlv
bi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmlkbAppbmRleCA2ZmIz
YWY5NzcwYmY4ZmQ4OGMxMjdkYWNjMGM3YmYzOTA3YjU0MmExLi40NWFiYTIwYTllNGM4NWYxM2Q3
ZGJjZTVhNTVlYmI2ODVjYzVlOWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxDb2xsZWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9u
LmlkbApAQCAtMjYsMTYgKzI2LDEyIEBACiBdIGludGVyZmFjZSBIVE1MQ29sbGVjdGlvbiB7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogCi0jaWYgZGVmaW5l
ZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5l
ZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5H
VUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFHRV9HT0JKRUNUCiAgICAgZ2V0dGVyIE5vZGUgaXRlbSh1
bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBnZXR0ZXIgTm9kZSBuYW1lZEl0ZW0oRE9NU3RyaW5n
IG5hbWUpOwogI2Vsc2UKICAgICBnZXR0ZXIgRWxlbWVudD8gaXRlbSh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKICAgICBnZXR0ZXIgRWxlbWVudD8gbmFtZWRJdGVtKERPTVN0cmluZyBuYW1lKTsKICNl
bmRpZgotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JK
RUNUSVZFX0MKLSAgICBOb2RlTGlzdCB0YWdzKG9wdGlvbmFsIERPTVN0cmluZyBuYW1lKTsKLSNl
bmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbAppbmRleCA2YzY3NzY0MDFi
ZDNlNTkyZWRjMDNmNjJlYjYyN2FlMzlmYjU4NjJiLi5jYzgwYWE2YWRmYjg4NDRkMjkyNzc1ZTc2
OTJhYmEzNDY0ZTBjZWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmlkbApAQCAtNjAs
MTIgKzYwLDYgQEAKICAgICB2b2lkIGZvY3VzKCk7CiAgICAgdm9pZCBibHVyKCk7CiAjZW5kaWYK
LQotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElW
RV9DCi0gICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7Ci0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIGNoaWxkcmVuOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgdGl0bGVEaXNwbGF5U3RyaW5nOwotI2VuZGlmCiB9OwogCiBIVE1MRWxlbWVu
dCBpbXBsZW1lbnRzIEdsb2JhbEV2ZW50SGFuZGxlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxFbGVtZW50c0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCmluZGV4IGNjNmE5NzBkNzY2MGM3YjgyNjJiYWJhMTU4
ZWE1YWQ4ZDllOWM0YzguLmRkNjYzZDJjMDdiZTNlMjYzNTMzNmQ3Yjk2M2Y0MDJlYTJlNGRjZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCkBAIC00
MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAiSFRNTEF1ZGlvRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAi
SFRNTEJSRWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTEJhc2VFbGVtZW50LmNwcCIKLSNpbmNs
dWRlICJIVE1MQmFzZUZvbnRFbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MQm9keUVsZW1lbnQu
Y3BwIgogI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50LmNwcCIKICNpbmNsdWRlICJIVE1MRGF0
YUVsZW1lbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRmllbGRT
ZXRFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZpZWxkU2V0RWxlbWVudC5p
ZGwKaW5kZXggMmY1ODcwMTU4NmFhODE3NDdjZDA3ZDM3MTlhYmNiNGI3NDUwMzI4YS4uODJjMTQw
MjE1YWQ3ZjEwNDczMTkyMWVjOTUwNDg2MDRiMTMzYzBmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsCkBAIC0yNCw3ICsyNCw3IEBAIGludGVyZmFjZSBI
VE1MRmllbGRTZXRFbGVtZW50IDogSFRNTEVsZW1lbnQgewogCiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyB0eXBlOwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykg
JiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MgfHwgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBM
QU5HVUFHRV9HT0JKRUNUCisjaWYgZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSAmJiBMQU5HVUFH
RV9HT0JKRUNUCiAgICAgW0ltcGxlbWVudGVkQXM9ZWxlbWVudHNGb3JOYXRpdmVCaW5kaW5nc10g
cmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIGVsZW1lbnRzOwogI2Vsc2UKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24gZWxlbWVudHM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGwKaW5kZXggNDNjZTRiNTZmZjY4NWRl
YjIyZTIzNTY0NmVmMDJkYWRmNTRmZmVjYy4uMjhlZTZmMGNmODk2ZTRmYWNmOWEzZDE5ZGRmNWM0
NzE1MGE0OWU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmlkbApAQCAt
MzQsNyArMzQsNyBAQAogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBub1ZhbGlkYXRl
OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRhcmdldDsKIAotI2lmIGRlZmlu
ZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmlu
ZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFO
R1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgIFtJbXBsZW1lbnRlZEFzPWVs
ZW1lbnRzRm9yTmF0aXZlQmluZGluZ3NdIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlv
biBlbGVtZW50czsKICNlbHNlCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtQ29udHJv
bHNDb2xsZWN0aW9uIGVsZW1lbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEh5
cGVybGlua0VsZW1lbnRVdGlscy5pZGwKaW5kZXggNzE4ZjYxN2UwNGNmM2U2MmI0NzIyMjA0ODZi
YzcyM2E1NDg2NTk0MS4uM2JkYzkzM2RlMzZjNzYzZTBiNWUzZjMwNmY4ZjZiZjcxNGZiZTBmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxIeXBlcmxpbmtFbGVtZW50VXRpbHMu
aWRsCkBAIC0yOSwxNSArMjksNiBAQAogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBET01T
dHJpbmcgaHJlZjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG9yaWdpbjsKIAot
I2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9D
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwcm90b2NvbDsKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGhvc3Q7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBob3N0bmFtZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBvcnQ7Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBwYXRobmFtZTsKLSAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHNlYXJjaDsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGhhc2g7Ci0jZWxzZQogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgcHJvdG9jb2w7CiAgICAg
YXR0cmlidXRlIERPTVN0cmluZyB1c2VybmFtZTsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBh
c3N3b3JkOwpAQCAtNDcsNSArMzgsNCBAQAogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgcGF0aG5h
bWU7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzZWFyY2g7CiAgICAgYXR0cmlidXRlIERPTVN0
cmluZyBoYXNoOwotI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSUZyYW1lRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVt
ZW50LmlkbAppbmRleCBkOWQwMmZhMjlmN2MzOWI4N2I4MDMwNjZlNWZkMDc4NjMwYzE2MTBjLi43
ZDg5NTRiZTRhM2M4M2I4ZGZkYjk1ZjdlODMwYjc1N2VmYmZmZDM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJRnJhbWVFbGVtZW50LmlkbApAQCAtMjcsNyArMjcsNyBAQCBpbnRlcmZhY2Ug
SFRNTElGcmFtZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3QsIFRyZWF0TnVs
bEFzPUVtcHR5U3RyaW5nXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1hcmdpbldpZHRoOwogICAgIFtS
ZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAKLSNpZiBkZWZpbmVkKExBTkdVQUdF
X09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdF
X0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0dPQkpF
Q1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyBzYW5kYm94OwogI2Vsc2UKICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01Ub2tlbkxpc3Qgc2FuZGJveDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaWRsCmluZGV4IDE3OTc1NTQ0ZDIzNGY1NjcwYTliYTZmMDYxNGVhMjJmZTRkZjA5NzMu
LmRhNTAzNjYxZDZjMmExNWE1YWQyMDQzNzRkZWQ3M2YxZTE0NmZmNjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmlkbApAQCAtNDEsMTYgKzQxLDEwIEBACiAKICAgICAv
LyBFeHRlbnNpb25zCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY29tcGxldGU7Ci0g
ICAgW1JlZmxlY3QsVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxvd3NyYzsKKyAgICBbUmVmbGVj
dCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxvd3NyYzsKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgbG9uZyBuYXR1cmFsSGVpZ2h0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIG5hdHVy
YWxXaWR0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB4OwogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBsb25nIHk7Ci0KLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBM
QU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFsdERpc3BsYXlTdHJpbmc7Ci0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUltYWdlVVJMOwotI2VuZGlmCiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbAppbmRleCA0MTY3ZWRkYTk0MzNiNTY5M2Iz
OTAzM2Y2ZDRhMzM3NTAyMGQyMmZkLi40MWIxNDM1YWQ1MGMzZmU5ZWVkMzdlMjIwNDAyODRkYTQw
MGI3MTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5pZGwKQEAgLTUy
LDExICs1Miw3IEBACiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgcGxhY2Vob2xk
ZXI7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIHJlYWRPbmx5OwogICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiByZXF1aXJlZDsKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09C
SkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIFtPYmpDSW1wbGVtZW50ZWRB
c1Vuc2lnbmVkTG9uZ10gYXR0cmlidXRlIERPTVN0cmluZyBzaXplOyAvLyBET00gbGV2ZWwgMiBj
aGFuZ2VkIHRoaXMgdG8gYSBsb25nLCBidXQgT2JqQyBBUEkgaXMgYSBzdHJpbmcKLSNlbHNlCiAg
ICAgW1NldHRlclJhaXNlc0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc2l6ZTsg
Ly8gQ2hhbmdlZCBzdHJpbmcgLT4gbG9uZyAtPiB1bnNpZ25lZCBsb25nCi0jZW5kaWYKICAgICBb
UmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNyYzsKICAgICBbUmVmbGVjdF0gYXR0
cmlidXRlIERPTVN0cmluZyBzdGVwOwogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsgLy8g
cmVhZG9ubHkgZHJvcHBlZCBhcyBwYXJ0IG9mIERPTSBsZXZlbCAyCkBAIC05MywzNSArODksMTcg
QEAKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZW5kLAogICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uYWwgRE9NU3RyaW5nIHNlbGVjdGlvbk1vZGUpOwogCi0jaWYg
ZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAg
ICBbQ3VzdG9tXSB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGxvbmcgc3RhcnQsIGxvbmcgZW5kKTsK
LSNlbHNlCiAgICAgW0N1c3RvbV0gdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShsb25nIHN0YXJ0LCBs
b25nIGVuZCwgb3B0aW9uYWwgRE9NU3RyaW5nIGRpcmVjdGlvbik7Ci0jZW5kaWYKIAogICAgIC8v
IE5vbi1zdGFuZGFyZCBhdHRyaWJ1dGVzCiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgYWxpZ247CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdXNlTWFwOwogICAg
IFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBpbmNyZW1lbnRhbDsKIAotI2lmIGRlZmluZWQo
TEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgW1JlZmxl
Y3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWNjZXNzS2V5OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVk
KExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIHZvaWQg
Y2xpY2soKTsKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgfHwg
IUxBTkdVQUdFX0pBVkFTQ1JJUFQKICAgICB2b2lkIHNldFZhbHVlRm9yVXNlcihET01TdHJpbmcg
dmFsdWUpOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBM
QU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFsdERpc3BsYXlTdHJpbmc7Ci0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUltYWdlVVJMOwotI2VuZGlmCi0KICAgICBbQ29uZGl0
aW9uYWw9SU9TX0FVVE9DT1JSRUNUX0FORF9BVVRPQ0FQSVRBTElaRV0gYXR0cmlidXRlIGJvb2xl
YW4gYXV0b2NvcnJlY3Q7CiAKICAgICBbQ29uZGl0aW9uYWw9SU9TX0FVVE9DT1JSRUNUX0FORF9B
VVRPQ0FQSVRBTElaRSwgVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJp
bmcgYXV0b2NhcGl0YWxpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxM
YWJlbEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50Lmlk
bAppbmRleCA5MmU1ZjRiYTc2MWQ0NDFmM2ExZTc1ZDcxNTEwYWU2ODRkODBkMDE5Li5mYTM3MzYw
Yjc3NWY3M2M2Zjc4Njc3ODUwNzVjZGU2NDQ3M2ZmZTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTExhYmVsRWxlbWVudC5pZGwKQEAgLTIyLDggKzIyLDUgQEAgaW50ZXJmYWNlIEhUTUxMYWJl
bEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3Jt
RWxlbWVudCBmb3JtOwogICAgIFtSZWZsZWN0PWZvcl0gYXR0cmlidXRlIERPTVN0cmluZyBodG1s
Rm9yOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRWxlbWVudCBjb250cm9sOwotI2lmIGRl
ZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAg
W1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgYWNjZXNzS2V5OwotI2VuZGlmCiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQuaWRsCmluZGV4IDc0OTc0NWU0YmRm
YzU3MjdlYjVmMDUxN2JhM2U4NmM3YjVjYzVmYTguLmU4ZTg4NzE5YTJmZTFjYzhmZGI1OTg0MDJm
MjBkM2JlOGMwZjViMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExlZ2Vu
ZEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExlZ2VuZEVsZW1lbnQu
aWRsCkBAIC0yMSw4ICsyMSw1IEBACiBpbnRlcmZhY2UgSFRNTExlZ2VuZEVsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxGb3JtRWxlbWVudCBmb3JtOwog
ICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFsaWduOwotI2lmIGRlZmluZWQoTEFO
R1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgW1JlZmxlY3Rd
IGF0dHJpYnV0ZSBET01TdHJpbmcgYWNjZXNzS2V5OwotI2VuZGlmCiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwKaW5kZXggMzg4MjE3OTFlMTg1NThmMWYwZTRhOGM1
MmNlNjBmY2U0ZmU2YmU0OC4uMzdiY2Y4YzE4MGJlYWVmYjQwY2VmOTllODYyMTljMGY3NTdhOTRh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbApAQCAtMzAsOSArMzAs
NyBAQAogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1lZGlhOwogICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlbDsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERP
TVN0cmluZyByZXY7Ci0jaWYgKGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkgJiYgTEFOR1VB
R0VfSkFWQVNDUklQVCkgfHwgKGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgfHwgTEFOR1VBR0Vf
R09CSkVDVCkKICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01U
b2tlbkxpc3Qgc2l6ZXM7Ci0jZW5kaWYKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyB0YXJnZXQ7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBhczsKQEAgLTQxLDExICszOSw2IEBACiAgICAg
Ly8gRE9NIExldmVsIDIgU3R5bGUKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU3R5bGVTaGVldCBz
aGVldDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09C
SkVDVElWRV9DCi0gICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9uOgotICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBVUkwgYWJzb2x1dGVMaW5rVVJMOwotI2VuZGlmCi0KICAgICBbUHV0Rm9yd2FyZHM9
dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IDYxNjM2MmIyYWM2NWVl
ZjJiY2FjYzAyMTViNmEwOTQ4YjBmY2UwZTAuLjAxMWY4ZWQ5OTMyYzU0YzY1YjNiMDEwNTllYmJm
NWZkNjhiNTg1NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApA
QCAtNzUsMTEgKzc1LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBlbmRlZDsK
ICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gYXV0b3BsYXk7CiAgICAgW1JlZmxlY3Rd
IGF0dHJpYnV0ZSBib29sZWFuIGxvb3A7Ci0jaWYgIWRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZF
X0MpIHx8ICFMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgIFByb21pc2UgcGxheSgpOwotI2Vsc2UK
LSAgICB2b2lkIHBsYXkoKTsKLSNlbmRpZgogICAgIHZvaWQgcGF1c2UoKTsKICAgICB2b2lkIGZh
c3RTZWVrKHVucmVzdHJpY3RlZCBkb3VibGUgdGltZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5pZGwKaW5kZXggYWYxNTQ0N2E4ZTQyMjM0NjE1N2RkMTg5Y2IwZGUy
NGU5Njc0NTc0MC4uMWYwZDJmN2ZiN2Y5NWZiMWM4ODJmMjMyM2YwOGMwY2YyNTFmZWE1NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGwKQEAgLTUwLDEwICs1MCw1
IEBACiAgICAgW0NoZWNrU2VjdXJpdHlGb3JOb2RlXSByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1l
bnQgY29udGVudERvY3VtZW50OwogCiAgICAgW0NoZWNrU2VjdXJpdHlGb3JOb2RlLCBSYWlzZXNF
eGNlcHRpb25dIFNWR0RvY3VtZW50IGdldFNWR0RvY3VtZW50KCk7Ci0KLSNpZiBkZWZpbmVkKExB
TkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIC8vIE9iamVj
dGl2ZS1DIGV4dGVuc2lvbjoKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlSW1h
Z2VVUkw7Ci0jZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnND
b2xsZWN0aW9uLmlkbAppbmRleCBlZGM4ZDRkZTZkMzFlYTE4NjVhMTNiOGIxNDZmZDYzMDMyMmI1
OGIwLi4xMzE0ZTY2ZGM4MGUzMDJiNTdmNGJlMjliNWI4MDNlNWE2MjkwNjYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCkBAIC0yNiw3ICsyNiw3
IEBACiAgICAgYXR0cmlidXRlIGxvbmcgc2VsZWN0ZWRJbmRleDsKICAgICBbQ3VzdG9tU2V0dGVy
LCBTZXR0ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsK
IAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElW
RV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lm
IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgIGdldHRl
ciBOb2RlIG5hbWVkSXRlbShET01TdHJpbmcgbmFtZSk7CiAjZWxzZQogICAgIGdldHRlciBIVE1M
T3B0aW9uRWxlbWVudD8gaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKQEAgLTQ3LDkgKzQ3LDUg
QEAKICAgICAvLyBGSVhNRTogVGhpcyBvdmVybG9hZCBpcyBub3QgaW4gdGhlIHNwZWNpZmljYXRp
b24gYW5kIGhhcyBiZWVuIGRyb3BwZWQgaW4gQmxpbmsuCiAgICAgdm9pZCByZW1vdmUoSFRNTE9w
dGlvbkVsZW1lbnQgb3B0aW9uKTsKICNlbmRpZgotCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpF
Q1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICBOb2RlIGl0ZW0odW5zaWduZWQg
bG9uZyBpbmRleCk7Ci0jZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5pZGwKaW5kZXggYzkwNGM1MzNiMjQ4NmI3OWUxNmQ2MDY4ZjRjYTYxOTU4YTMxMzBm
OC4uNWFmNGZmZTc1OGIxYzI0NGExNTY3NWFmYTY0MDkyOTY1YTY1ODA1ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwKQEAgLTMwLDcgKzMwLDcgQEAKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1
dGUgYm9vbGVhbiByZXF1aXJlZDsKIAotI2lmIGRlZmluZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0Mp
ICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYg
TEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VB
R0VfR09CSkVDVAogICAgIGF0dHJpYnV0ZSBsb25nIHNpemU7CiAjZWxzZQogICAgIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHNpemU7CkBAIC0zOSwxMyArMzksOSBAQAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MT3B0
aW9uc0NvbGxlY3Rpb24gb3B0aW9uczsKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9D
KSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGxl
bmd0aDsKLSNlbHNlCiAgICAgW1NldHRlclJhaXNlc0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoOwotI2VuZGlmCiAKLSNpZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElW
RV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1Qp
ICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExB
TkdVQUdFX0dPQkpFQ1QKICAgICBnZXR0ZXIgTm9kZSBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgp
OwogICAgIE5vZGUgbmFtZWRJdGVtKERPTVN0cmluZyBuYW1lKTsKICNlbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNlbGxFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaWRsCmluZGV4IDYzYzA1NjEyZjE2YjZh
MTY0MWIwYTljMmExMTcyZjcxNDQ3MjM1ZGUuLjRjOTY2OTk4MTFhZDM2Zjg3NmY4MGMwN2ZlNDVm
YTQ2MjliOWRlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2Vs
bEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1l
bnQuaWRsCkBAIC0yNiw3ICsyNiw3IEBAIGludGVyZmFjZSBIVE1MVGFibGVDZWxsRWxlbWVudCA6
IEhUTUxFbGVtZW50IHsKICAgICBbUmVmbGVjdD1jaGFyXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNo
OwogICAgIFtSZWZsZWN0PWNoYXJvZmZdIGF0dHJpYnV0ZSBET01TdHJpbmcgY2hPZmY7CiAKLSNp
ZiBkZWZpbmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8
fCBkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKKyNpZiBkZWZp
bmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKICAgICBbSW1wbGVtZW50
ZWRBcz1jb2xTcGFuRm9yQmluZGluZ3NdIGF0dHJpYnV0ZSBsb25nIGNvbFNwYW47CiAgICAgW0lt
cGxlbWVudGVkQXM9cm93U3BhbkZvckJpbmRpbmdzXSBhdHRyaWJ1dGUgbG9uZyByb3dTcGFuOwog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaWRsCmluZGV4
IGU1M2U0ZDFiYzI4ZTg3ODY1OGNmNjMwZjhmYWFlNzAxZTNkYTgyYWIuLmIwYzhjYzE1NWJmZjZh
NWYwMzgzMzYxZTAzOTM4MTg2NmU5NGU0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEFyZWFFbGVtZW50LmlkbApAQCAtMjksNyArMjksNyBAQCBpbnRlcmZhY2UgSFRNTFRleHRB
cmVhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0
cmluZyBwbGFjZWhvbGRlcjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gcmVhZE9u
bHk7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIHJlcXVpcmVkOwotI2lmIGRlZmlu
ZWQoTEFOR1VBR0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DIHx8IGRlZmlu
ZWQoTEFOR1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAorI2lmIGRlZmluZWQoTEFO
R1VBR0VfR09CSkVDVCkgJiYgTEFOR1VBR0VfR09CSkVDVAogICAgIGF0dHJpYnV0ZSBsb25nIHJv
d3M7CiAgICAgYXR0cmlidXRlIGxvbmcgY29sczsKICNlbHNlCkBAIC02MiwyMSArNjIsMTMgQEAg
aW50ZXJmYWNlIEhUTUxUZXh0QXJlYUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGVuZCwKICAgICAgICAgICAgICAgICAgICAgICAg
IG9wdGlvbmFsIERPTVN0cmluZyBzZWxlY3Rpb25Nb2RlKTsKIAotI2lmIGRlZmluZWQoTEFOR1VB
R0VfT0JKRUNUSVZFX0MpICYmIExBTkdVQUdFX09CSkVDVElWRV9DCi0gICAgdm9pZCBzZXRTZWxl
Y3Rpb25SYW5nZShsb25nIHN0YXJ0LCBsb25nIGVuZCk7Ci0jZWxzZQogICAgIHZvaWQgc2V0U2Vs
ZWN0aW9uUmFuZ2Uob3B0aW9uYWwgbG9uZyBzdGFydCA9IDAsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCBsb25nIGVuZCA9IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRpb25hbCBET01TdHJpbmcgZGlyZWN0aW9uKTsKLSNlbmRpZgogCiAgICAgW0NvbmRpdGlv
bmFsPUlPU19BVVRPQ09SUkVDVF9BTkRfQVVUT0NBUElUQUxJWkVdIGF0dHJpYnV0ZSBib29sZWFu
IGF1dG9jb3JyZWN0OwogCiAgICAgW0NvbmRpdGlvbmFsPUlPU19BVVRPQ09SUkVDVF9BTkRfQVVU
T0NBUElUQUxJWkUsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGF1dG9jYXBpdGFsaXplOwogCi0jaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYg
TEFOR1VBR0VfT0JKRUNUSVZFX0MKLSAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBh
Y2Nlc3NLZXk7Ci0jZW5kaWYKLQogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgYXV0b2NvbXBsZXRl
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCBmNDIzODRkOTQ2MmI5NjgwNmQ3
YmY0N2RmOTRkZWIxNzhmZTIwZTIxLi4xNWI5NzdjZDAxMDVjMzI2ZjE4Yjk2ODYwZGM3M2QzODRl
OWZkYjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC04ODAsMTQgKzg4MCw2IEBA
IFN0b3JhZ2UqIERPTVdpbmRvdzo6bG9jYWxTdG9yYWdlKEV4Y2VwdGlvbkNvZGUmIGVjKSBjb25z
dAogICAgIHJldHVybiBtX2xvY2FsU3RvcmFnZS5nZXQoKTsKIH0KIAotdm9pZCBET01XaW5kb3c6
OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtZXNzYWdlLCBN
ZXNzYWdlUG9ydCogcG9ydCwgY29uc3QgU3RyaW5nJiB0YXJnZXRPcmlnaW4sIERPTVdpbmRvdyYg
c291cmNlLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBNZXNzYWdlUG9ydEFycmF5IHBvcnRz
OwotICAgIGlmIChwb3J0KQotICAgICAgICBwb3J0cy5hcHBlbmQocG9ydCk7Ci0gICAgcG9zdE1l
c3NhZ2UobWVzc2FnZSwgJnBvcnRzLCB0YXJnZXRPcmlnaW4sIHNvdXJjZSwgZWMpOwotfQotCiB2
b2lkIERPTVdpbmRvdzo6cG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+IG1lc3NhZ2UsIGNvbnN0IE1lc3NhZ2VQb3J0QXJyYXkqIHBvcnRzLCBjb25zdCBTdHJpbmcm
IHRhcmdldE9yaWdpbiwgRE9NV2luZG93JiBzb3VyY2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewog
ICAgIGlmICghaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAppbmRleCBmODg4OWU3MmNiMWZmMjQwNDYwYTZhNTQ1N2MxNTE5Nzc5ZjdmNGRhLi5hNmI0
YjJlMTRkM2NiMzIyYTBiODczMjY1NDY5OGU1ZDIyZWUyMjg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmgKQEAgLTI0NCw4ICsyNDQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFN0
cmluZyBjcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2FnZShjb25zdCBET01XaW5kb3cmIGFjdGl2
ZVdpbmRvdyk7CiAKICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSwgY29uc3QgTWVzc2FnZVBvcnRBcnJheSosIGNvbnN0IFN0
cmluZyYgdGFyZ2V0T3JpZ2luLCBET01XaW5kb3cmIHNvdXJjZSwgRXhjZXB0aW9uQ29kZSYpOwot
ICAgICAgICAvLyBOZWVkZWQgZm9yIE9iamVjdGl2ZS1DIGJpbmRpbmdzIChzZWUgYnVnIDI4Nzc0
KS4KLSAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gbWVzc2FnZSwgTWVzc2FnZVBvcnQqLCBjb25zdCBTdHJpbmcmIHRhcmdldE9yaWdpbiwg
RE9NV2luZG93JiBzb3VyY2UsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdm9pZCBwb3N0TWVz
c2FnZVRpbWVyRmlyZWQoUG9zdE1lc3NhZ2VUaW1lciYpOwogICAgICAgICB2b2lkIGRpc3BhdGNo
TWVzc2FnZUV2ZW50V2l0aE9yaWdpbkNoZWNrKFNlY3VyaXR5T3JpZ2luKiBpbnRlbmRlZFRhcmdl
dE9yaWdpbiwgRXZlbnQmLCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6U2NyaXB0Q2FsbFN0YWNrPik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZS5jcHAKaW5kZXggMjkyMmJiNjY1Nzk2N2JiMGUyZTVkNGY1NjE4NjA4OGViMmYxMmE4
Yi4uZTIyNTNiZTdkZWM0MmU4ZmJlYzI1N2FmMDQxYWIzNzQ1MmQ1ZDU5YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAK
QEAgLTYzLDE0ICs2Myw2IEBAIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlOjpldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0CiAgICAgcmV0dXJuIERlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOwogfQogCi12b2lk
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpwb3N0TWVzc2FnZShSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiYmIG1lc3NhZ2UsIE1lc3NhZ2VQb3J0KiBwb3J0LCBFeGNlcHRpb25Db2Rl
JiBlYykKLXsKLSAgICBNZXNzYWdlUG9ydEFycmF5IHBvcnRzOwotICAgIGlmIChwb3J0KQotICAg
ICAgICBwb3J0cy5hcHBlbmQocG9ydCk7Ci0gICAgcG9zdE1lc3NhZ2UoV1RGTW92ZShtZXNzYWdl
KSwgJnBvcnRzLCBlYyk7Ci19Ci0KIHZvaWQgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnBv
c3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgbWVzc2FnZSwgY29uc3Qg
TWVzc2FnZVBvcnRBcnJheSogcG9ydHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIERp
c2VudGFuZ2xlIHRoZSBwb3J0IGluIHByZXBhcmF0aW9uIGZvciBzZW5kaW5nIGl0IHRvIHRoZSBy
ZW1vdGUgY29udGV4dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA2ZjRkNzc0ODdlODVhMzkwOTBjMTc2YzMyYWI3YTU4
ZWE3OTBhNzI3Li40Y2M1ZjdlNjA2YTU2ODk2ODZiNjRjNTc2M2RhNjU4MjdlYWU0NzUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZS5oCkBAIC01NCw4ICs1NCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRXZlbnRU
YXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYs
IGNvbnN0IE1lc3NhZ2VQb3J0QXJyYXkqLCBFeGNlcHRpb25Db2RlJik7Ci0gICAgICAgIC8vIE5l
ZWRlZCBmb3IgT2JqZWN0aXZlLUMgYmluZGluZ3MgKHNlZSBidWcgMjg3NzQpLgotICAgICAgICB2
b2lkIHBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIE1lc3NhZ2VQ
b3J0KiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgICAgIERlZGljYXRlZFdvcmtlclRocmVhZCYg
dGhyZWFkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA5ZDYyYmJlZWQ5ZWIz
YjhmODUyZGE4MmNkMjEzZjFlYmRhMDBkODJkLi4zMDZkMjQ3YzVmNGJmZWE4YzBkOWM0YmYxMGRm
NzQwNzM2ZDRhZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0xMDcsMTQgKzEw
Nyw2IEBAIFdvcmtlcjo6fldvcmtlcigpCiAgICAgbV9jb250ZXh0UHJveHktPndvcmtlck9iamVj
dERlc3Ryb3llZCgpOwogfQogCi12b2lkIFdvcmtlcjo6cG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBNZXNzYWdlUG9ydCogcG9ydCwgRXhjZXB0aW9u
Q29kZSYgZWMpCi17Ci0gICAgTWVzc2FnZVBvcnRBcnJheSBwb3J0czsKLSAgICBpZiAocG9ydCkK
LSAgICAgICAgcG9ydHMuYXBwZW5kKHBvcnQpOwotICAgIHBvc3RNZXNzYWdlKFdURk1vdmUobWVz
c2FnZSksICZwb3J0cywgZWMpOwotfQotCiB2b2lkIFdvcmtlcjo6cG9zdE1lc3NhZ2UoUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiBtZXNzYWdlLCBjb25zdCBNZXNzYWdlUG9ydEFycmF5
KiBwb3J0cywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgLy8gRGlzZW50YW5nbGUgdGhlIHBv
cnQgaW4gcHJlcGFyYXRpb24gZm9yIHNlbmRpbmcgaXQgdG8gdGhlIHJlbW90ZSBjb250ZXh0Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggNzgyOTY5M2QxYjRhZjY2MWQxNTI4ZmVmNzY1MzZh
ODM5ZDY2YzA2Yy4uZDFiMjQ0NTgyZGIzZGJjNjI2NzY2MjE1Y2U0ZGNlOWVkODZkNjdkNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC01Niw4ICs1Niw2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBXb3JrZXJFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0K
IAogICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
JiYgbWVzc2FnZSwgY29uc3QgTWVzc2FnZVBvcnRBcnJheSosIEV4Y2VwdGlvbkNvZGUmKTsKLSAg
ICAgICAgLy8gTmVlZGVkIGZvciBPYmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1ZyAyODc3NCku
Ci0gICAgICAgIHZvaWQgcG9zdE1lc3NhZ2UoUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4m
JiBtZXNzYWdlLCBNZXNzYWdlUG9ydCosIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgICAgICB2b2lk
IHRlcm1pbmF0ZSgpOwogCg==
</data>
<flag name="review"
          id="308995"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>