<?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>216855</bug_id>
          
          <creation_ts>2020-09-22 15:52:58 -0700</creation_ts>
          <short_desc>Add CSSConditionRule and CSSGroupingRule</short_desc>
          <delta_ts>2022-03-08 11:20:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>216940</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1690911</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-22 15:52:58 -0700</bug_when>
    <thetext>Add CSSConditionRule and CSSGroupingRule</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690943</commentid>
    <comment_count>1</comment_count>
      <attachid>409425</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-22 17:03:51 -0700</bug_when>
    <thetext>Created attachment 409425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690958</commentid>
    <comment_count>2</comment_count>
      <attachid>409430</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-22 17:43:56 -0700</bug_when>
    <thetext>Created attachment 409430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691580</commentid>
    <comment_count>3</comment_count>
      <attachid>409597</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-24 10:53:13 -0700</bug_when>
    <thetext>Created attachment 409597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691601</commentid>
    <comment_count>4</comment_count>
      <attachid>409597</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-24 11:20:24 -0700</bug_when>
    <thetext>Comment on attachment 409597
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=409597&amp;action=review

&gt; Source/WebCore/css/CSSConditionRule.h:18
&gt; + * This library is free software; you can redistribute it and/or
&gt; + * modify it under the terms of the GNU Library General Public
&gt; + * License as published by the Free Software Foundation; either
&gt; + * version 2 of the License, or (at your option) any later version.
&gt; + *
&gt; + * This library is distributed in the hope that it will be useful,
&gt; + * but WITHOUT ANY WARRANTY; without even the implied warranty of
&gt; + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
&gt; + * Library General Public License for more details.
&gt; + *
&gt; + * You should have received a copy of the GNU Library General Public License
&gt; + * along with this library; see the file COPYING.LIB.  If not, write to
&gt; + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
&gt; + * Boston, MA 02110-1301, USA.
&gt; + */

You seem to be using a very old lgpl license. Pretty sure we want new code to use the 2 clause BSD.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691622</commentid>
    <comment_count>5</comment_count>
      <attachid>409597</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-24 12:06:38 -0700</bug_when>
    <thetext>Comment on attachment 409597
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=409597&amp;action=review

&gt;&gt; Source/WebCore/css/CSSConditionRule.h:18
&gt;&gt; + */
&gt; 
&gt; You seem to be using a very old lgpl license. Pretty sure we want new code to use the 2 clause BSD.

Oops, will fix that. Sorry, copied from the wrong header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691624</commentid>
    <comment_count>6</comment_count>
      <attachid>409597</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-24 12:07:52 -0700</bug_when>
    <thetext>Comment on attachment 409597
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=409597&amp;action=review

&gt;&gt;&gt; Source/WebCore/css/CSSConditionRule.h:18
&gt;&gt;&gt; + */
&gt;&gt; 
&gt;&gt; You seem to be using a very old lgpl license. Pretty sure we want new code to use the 2 clause BSD.
&gt; 
&gt; Oops, will fix that. Sorry, copied from the wrong header.

I think I used the correct one above in CSSConditionRule.cpp and that’s what I’ll use on all the new files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691694</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-24 15:42:11 -0700</bug_when>
    <thetext>Tests passing, need review. I have fixed the licenses in my local copy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691928</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-25 10:19:55 -0700</bug_when>
    <thetext>Committed r267576: &lt;https://trac.webkit.org/changeset/267576&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691929</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-25 10:20:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/69579125&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796937</commentid>
    <comment_count>10</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-09-24 10:25:03 -0700</bug_when>
    <thetext>*** Bug 200838 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409425</attachid>
            <date>2020-09-22 17:03:51 -0700</date>
            <delta_ts>2020-09-22 18:04:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216855-20200922170350.patch</filename>
            <type>text/plain</type>
            <size>90870</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODlkNmNmYmMyMjY0MGU5
MGUwM2Y5YWE2MDIxZGY1MjYzM2JkMjFkNS4uOGUxNWRkNjc0NmY0YmFiMGM3ZGQwMjg5M2YzNzlh
YmIzZGRiNTAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNSBAQAorMjAyMC0wOS0yMiAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENTU0NvbmRpdGlvblJ1
bGUgYW5kIENTU0dyb3VwaW5nUnVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE2ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQgQ1NTQ29uZGl0aW9uUnVsZS5p
ZGwgYW5kIENTU0dyb3VwaW5nUnVsZS5pZGwuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0OiBVcGRhdGVkLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0OiBVcGRhdGVkLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTog
QWRkZWQgQ1NTQ29uZGl0aW9uUnVsZS5pZGwgYW5kIENTU0dyb3VwaW5nUnVsZS5pZGwuCisgICAg
ICAgICogSGVhZGVycy5jbWFrZTogQWRkZWQgQ1NTQ29uZGl0aW9uUnVsZS5oLgorICAgICAgICAq
IFNvdXJjZXMudHh0OiBBZGQgQ1NTQ29uZGl0aW9uUnVsZS5jcHAsIEpTQ1NTQ29uZGl0aW9SdWxl
LmNwcCwKKyAgICAgICAgYW5kIEpTQ1NTR3JvdXBpbmdSdWxlLmNwcC4KKworICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgYWxsIHRoZSBmaWxlcy4KKwor
ICAgICAgICAqIGNzcy9DU1NDb25kaXRpb25SdWxlLmNwcDogQWRkZWQuCisgICAgICAgICogY3Nz
L0NTU0NvbmRpdGlvblJ1bGUuaDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU0NvbmRpdGlvblJ1
bGUuaWRsOiBBZGRlZC4KKworICAgICAgICAqIGNzcy9DU1NHcm91cGluZ1J1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTR3JvdXBpbmdSdWxlOjp+Q1NTR3JvdXBpbmdSdWxlKTogVXNlIGEg
cmFuZ2UtYmFzZWQgZm9yIGxvb3AKKyAgICAgICAgYW5kIG51bGxwdHIuCisgICAgICAgIChXZWJD
b3JlOjpDU1NHcm91cGluZ1J1bGU6OmFwcGVuZENTU1RleHRGb3JJdGVtcyBjb25zdCk6IFVzZSB2
YXJpYWRpYworICAgICAgICBhcHBlbmQgdG8gY2xlYW4gdGhpcyB1cCBhIGJpdC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU0dyb3VwaW5nUnVsZTo6aXRlbSBjb25zdCk6IFVzZSBhdXRvLgorCisgICAg
ICAgICogY3NzL0NTU0dyb3VwaW5nUnVsZS5oOiBNYWRlIG1fZ3JvdXBSdWxlIHByaXZhdGUgaW5z
dGVhZCBvZiBwcm90ZWN0ZWQuCisgICAgICAgIERpZCBzb21lIG90aGVyIHR3ZWFrcy4KKworICAg
ICAgICAqIGNzcy9DU1NHcm91cGluZ1J1bGUuaWRsOiBBZGRlZC4KKworICAgICAgICAqIGNzcy9D
U1NJbXBvcnRSdWxlLmlkbDogQWRkZWQgW0V4cG9zZWQ9V2luZG93XSwgY2hhbmdlZCBocmVmIHRv
IGJlIGEKKyAgICAgICAgVVNWU3RyaW5nLCBhZGRlZCBbU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9
bWVkaWFUZXh0XSB0byBtZWRpYQorICAgICAgICBhbmQgW1NhbWVPYmplY3RdIHRvIHN0eWxlU2hl
ZXQuCisKKyAgICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU01lZGlhUnVsZTo6Q1NTTWVkaWFSdWxlKTogRGVyaXZlIGZyb20gQ1NTQ29uZGl0aW9uUnVs
ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6bWVkaWFRdWVyaWVzIGNvbnN0KTog
UmV0dXJuIGEgcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpjc3NU
ZXh0IGNvbnN0KTogU3RyZWFtbGluZSBzaW5jZSB3ZSBkb24ndCBuZWVkIGEKKyAgICAgICAgbnVs
bCBjaGVjay4KKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6Y29uZGl0aW9uVGV4dCBj
b25zdCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpzZXRDb25kaXRp
b25UZXh0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6Om1lZGlhIGNv
bnN0KTogU3RyZWFtbGluZSBzaW5jZSB3ZSBkb24ndCBuZWVkIGEKKyAgICAgICAgbnVsbCBjaGVj
ay4KKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6cmVhdHRhY2gpOiBEaXR0by4KKwor
ICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaDogRGVyaXZlIGZyb20gQ1NTQ29uZGl0aW9uUnVs
ZS4KKworICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaWRsOiBEZXJpdmUgZnJvbSBDU1NDb25k
aXRpb25SdWxlLiBBZGRlZAorICAgICAgICBbRXhwb3NlZD1XaW5kb3ddLiBBZGRlZCBbU2FtZU9i
amVjdCwgUHV0Rm9yd2FyZHM9bWVkaWFUZXh0XSB0byBtZWRpYS4KKyAgICAgICAgUmVtb3ZlZCBp
bnNlcnRSdWxlIGFuZCBkZWxldGVSdWxlIHNpbmNlIHRoZXkgYXJlIG5vdyBpbmhlcml0ZWQgZnJv
bQorICAgICAgICBDU1NHcm91cGluZ1J1bGUuCisKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOiBB
ZGRlZCBNQVJHSU5fUlVMRSBjb25zdGFudCBldmVuIHRob3VnaCB3ZSBkb24ndCBoYXZlCisgICAg
ICAgIHRoYXQgcnVsZSB0eXBlLiBNb3ZlZCBpbmxpbmUgZnVuY3Rpb25zIG91dCBvZiB0aGUgY2xh
c3MgYm9keSB0byBoZWxwCisgICAgICAgIGNsYXJpdHkgYSBiaXQuCisKKyAgICAgICAgKiBjc3Mv
Q1NTUnVsZS5pZGw6IEFkZGVkIFtFeHBvc2VkPVdpbmRvd10sIGNoYW5nZWQgYSBmZXcgdGhpbmdz
IHRvIG1hdGNoCisgICAgICAgIHRoZSBzcGVjaWZpY2F0aW9uLgorCisgICAgICAgICogY3NzL0NT
U1N0eWxlUnVsZS5pZGw6IEFkZGVkIFtFeHBvc2VkPVdpbmRvd10uIEFkZGVkIFtTYW1lT2JqZWN0
XQorICAgICAgICB0byBzdHlsZS4KKworICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmlkbDog
QWRkZWQgW0V4cG9zZWQ9V2luZG93XS4KKworICAgICAgICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3VwcG9ydHNSdWxlOjpDU1NTdXBwb3J0c1J1bGUp
OiBEZXJpdmUgZnJvbSBDU1NDb25kaXRpb25SdWxlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3Vw
cG9ydHNSdWxlOjpjcmVhdGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRz
UnVsZTo6Y3NzVGV4dCBjb25zdCk6IFVzZSB2YXJpYWRpYyBhcHBlbmQuCisgICAgICAgIChXZWJD
b3JlOjpDU1NTdXBwb3J0c1J1bGU6OmNvbmRpdGlvblRleHQgY29uc3QpOiBVcGRhdGVkIHRvIHVz
ZSBncm91cFJ1bGUuCisgICAgICAgIChXZWJDb3JlOjpDU1NTdXBwb3J0c1J1bGU6OnNldENvbmRp
dGlvblRleHQpOiBBZGRlZC4gTm90IGltcGxlbWVudGVkIHlldC4KKworICAgICAgICAqIGNzcy9D
U1NTdXBwb3J0c1J1bGUuaDogRGVyaXZlIGZyb20gQ1NTQ29uZGl0aW9uUnVsZS4KKworICAgICAg
ICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUuaWRsOiBEZXJpdmUgZnJvbSBDU1NDb25kaXRpb25SdWxl
LgorICAgICAgICBBZGRlZCBbRXhwb3NlZD1XaW5kb3ddLgorCisgICAgICAgICogY3NzL01lZGlh
TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5U2V0OjpzZXQpOiBVc2UgbW92
ZSBpbnN0ZWFkIG9mIHN3YXAuCisKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmlkbDogQWRkZWQg
W0V4cG9zZWQ9V2luZG93XSBhbmQgbWFya2VkIG1lZGlhVGV4dCBhcworICAgICAgICB0aGUgc3Ry
aW5naWZpZXIuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZTo6Y3JlYXRlKTogTW92ZWQgaGVyZSBmcm9tIHRoZSBoZWFkZXIuCisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJ1bGU6OmNvcHkgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUnVsZVBhZ2U6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlR3JvdXA6OlN0eWxlUnVsZUdyb3VwKTogVXNlIG1vdmUgaW5zdGVhZCBvZiBzd2Fw
LgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlTWVkaWE6OmNyZWF0ZSk6IFVzZSBtb3ZlIGlu
c3RlYWQgb2Ygc3dhcC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZU1lZGlhOjpjb3B5IGNv
bnN0KTogTW92ZWQgb3V0IG9mIHRoZSBoZWFkZXIuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGVTdXBwb3J0czo6U3R5bGVSdWxlU3VwcG9ydHMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUnVsZVN1cHBvcnRzOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZU5hbWVzcGFjZTo6U3R5bGVSdWxlTmFtZXNwYWNlKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJ1bGVOYW1lc3BhY2U6OmNyZWF0ZSk6IERpdHRvLgorCisgICAgICAgICog
Y3NzL1N0eWxlUnVsZS5oOiBNb3ZlZCBmdW5jdGlvbiBib2RpZXMgb3V0IG9mIHRoZSBjbGFzcwor
ICAgICAgICBkZWZpbnRpaW9uIGZvciBjbGFyaXR5LgorCisgICAgICAgICogY3NzL1N0eWxlU2hl
ZXQuaWRsOiBBZGRlZCBbRXhwb3NlZD1XaW5kb3ddIGFuZAorICAgICAgICBbU2FtZU9iamVjdCwg
UHV0Rm9yd2FyZHM9bWVkaWFUZXh0XSBmb3IgbWVkaWEuCisKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6
cGFyc2VyQXBwZW5kUnVsZSk6IFVwZGF0ZWQgc2luY2UKKyAgICAgICAgbWVkaWFRdWVyaWVzIHJl
dHVybnMgYSByZWZlcmVuY2UuCisKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldExpc3QuaWRsOiBB
ZGRlZCBbRXhwb3NlZD1XaW5kb3ddLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVNZWRpYVJ1
bGUpOiBVc2UgV1RGTW92ZSBzaW5jZQorICAgICAgICB0aGUgY3JlYXRlIGZ1bmN0aW9uIG5vdyB0
YWtlcyBhbiBydmFsdWUgcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1w
bDo6Y29uc3VtZVN1cHBvcnRzUnVsZSk6IERpdHRvLgorCisgICAgICAgICogc3R5bGUvUnVsZVNl
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6YWRkQ2hpbGRSdWxlcyk6
IFVwZGF0ZWQgc2luY2UgbWVkaWFRdWVyaWVzCisgICAgICAgIHJldHVybnMgYSByZWZlcmVuY2Uu
CisgICAgICAgICogc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGU6OlVzZXJBZ2VudFN0eWxlOjphZGRUb0RlZmF1bHRTdHlsZSk6IERpdHRvLgorCiAyMDIw
LTA5LTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQXVkaW9Q
YXJhbS5zZXRWYWx1ZUN1cnZlQXRUaW1lKCkgc2hvdWxkIGhhdmUgYW4gaW1wbGljaXQgY2FsbCB0
byBzZXRWYWx1ZUF0VGltZSgpIGF0IHRoZSBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpp
bmRleCA2OGZlNzU0OTk1NTYwNmJlNjZlOWRkYzVhYmM2MzM0NDQzNmIzNDE2Li5hYWU2NjVmMDM1
NTQ5OWZkN2Y1ZjkwZWViMTViNzNlYjZjNTUzNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDktMjIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBDU1NDb25kaXRpb25SdWxlIGFuZCBDU1NHcm91cGluZ1J1
bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjg1
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRE9N
L0RPTUNTUy5tbToKKyAgICAgICAgKGtpdENsYXNzKTogQWRkZWQgYSBkZWZhdWx0IGNhc2Ugc2lu
Y2Ugd2UgZG9uJ3QgaW50ZW5kIHRvIGxpc3QgZXZlcnkgc2luZ2xlIHJ1bGUgdHlwZSBoZXJlLgor
CiAyMDIwLTA5LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmVtb3ZlIGRlcHJlY2F0ZWQgc2NyaXB0IGFuZCBzdHlsZXNoZWV0IGluamVj
dGlvbiBTUEksIHJlcGxhY2VkIHdpdGggbW9yZSBpbmNsdXNpdmVseS1uYW1lZCBTUEkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggOTZmYmU3Njg3YWVmNzJkYjhkYThlYmQ1MGJmZDBhMzVjNjRmMDRk
ZC4uYTlmYTM4Y2MyMmNlZjBhZjI2YWVkMWM0NmFiOTU0NjE3NjhlODczOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTY4OSw3ICs2ODksOSBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxF
UwogICAgIGNyeXB0by9wYXJhbWV0ZXJzL1JzYU9hZXBQYXJhbXMuaWRsCiAgICAgY3J5cHRvL3Bh
cmFtZXRlcnMvUnNhUHNzUGFyYW1zLmlkbAogCisgICAgY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRs
CiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmlk
bAogICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAogICAgIGNzcy9DU1NLZXlmcmFtZVJ1bGUuaWRs
CiAgICAgY3NzL0NTU0tleWZyYW1lc1J1bGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBjYTVmOGFkYzllN2JhNmVkNGYxNzEyMGM1
YTFlZjM1M2NhN2VhNTc2Li5kYjY3NDE3MzBlMzgyNDlmZWY3NzViY2NhODk0YzQ2Zjg4N2E0MjJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QK
QEAgLTU4OCw3ICs1ODgsOSBAQCAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FI
YXNoZWRLZXlHZW5QYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFyYW1ldGVycy9S
c2FLZXlHZW5QYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FP
YWVwUGFyYW1zLmlkbAogJChQUk9KRUNUX0RJUikvY3J5cHRvL3BhcmFtZXRlcnMvUnNhUHNzUGFy
YW1zLmlkbAorJChQUk9KRUNUX0RJUikvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsCiAkKFBST0pF
Q1RfRElSKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbAorJChQUk9KRUNUX0RJUikvY3NzL0NTU0dy
b3VwaW5nUnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbAogJChQ
Uk9KRUNUX0RJUikvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9D
U1NLZXlmcmFtZXNSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdAppbmRleCA5ODdjODEyMzQwMjA0ZmY5Y2YwZDlhM2VlOGJiMTM0Yzk2
Nzk4NTBjLi4xY2JiMjFlOTIzZDZmOTlhYzNlMjA3ZmViYzVlYWI1NTg0MTBjMjFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjQz
LDggKzI0MywxMiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0NEQVRBU2VjdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ0RBVEFTZWN0aW9uLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTQW5pbWF0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NBbmltYXRpb24uaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NDb25kaXRpb25SdWxlLmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NDb25kaXRpb25S
dWxlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
Rm9udEZhY2VSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91cGluZ1J1bGUuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0dyb3VwaW5nUnVsZS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1
bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NL
ZXlmcmFtZVJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAwYzdiNzJm
ZTUxODZjN2U3ZmU1NWZiMDQ0NThlZTczNjA2YzgwYTU4Li4wZmIxMDUxZTRhNWQwM2ZjNmQzZDVl
N2Q4MThhOWQxMmQxZjExM2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTY0
Miw3ICs2NDIsOSBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9jcnlwdG8v
cGFyYW1ldGVycy9Sc2FLZXlHZW5QYXJhbXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9w
YXJhbWV0ZXJzL1JzYU9hZXBQYXJhbXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2NyeXB0by9wYXJh
bWV0ZXJzL1JzYVBzc1BhcmFtcy5pZGwgXAorICAgICQoV2ViQ29yZSkvY3NzL0NTU0NvbmRpdGlv
blJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL2Nzcy9DU1NHcm91cGluZ1J1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nz
cy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTS2V5ZnJhbWVSdWxl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTS2V5ZnJhbWVzUnVsZS5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKaW5kZXggMzhjMDZiOGJiZGNjMWExMDgxN2FmOTgxOWMwMWM2MGVlMjhkZjI1OC4u
YTk4NTVkNWM4ZGYyNmJlYWUzZDBkYjkyNWIzYTI5YjM3OTljZTVlNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlCkBAIC0zMTAsNiArMzEwLDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVB
REVSUwogICAgIGNyeXB0by9TZXJpYWxpemVkQ3J5cHRvS2V5V3JhcC5oCiAKICAgICBjc3MvQ1NT
Q2FsY3VsYXRpb25WYWx1ZS5oCisgICAgY3NzL0NTU0NvbmRpdGlvblJ1bGUuaAogICAgIGNzcy9D
U1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmgKICAgICBjc3MvQ1NTRm9udEZhY2VSdWxlLmgKICAgICBj
c3MvQ1NTRm9udEZhbWlseS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGI3YWQ0YzFmYTk2YjlkYWYxMzQ0
MTgxNjEyN2YzNGNjNDI0NDBiZGMuLjJkOGFhNTA0ZTZjY2Y3MDE1NTk0MGNhYmNjMmE1ZjNiN2Qw
ZmQwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC02NjMsNiArNjYzLDcgQEAgY3NzL0NTU0JvcmRlcklt
YWdlU2xpY2VWYWx1ZS5jcHAKIGNzcy9DU1NDYWxjdWxhdGlvblZhbHVlLmNwcAogY3NzL0NTU0Nh
bnZhc1ZhbHVlLmNwcAogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKK2Nzcy9D
U1NDb25kaXRpb25SdWxlLmNwcAogY3NzL0NTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZS5jcHAK
IGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHAKIGNzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmNwcApA
QCAtMjY5Miw3ICsyNjkzLDkgQEAgSlNCbG9iUHJvcGVydHlCYWcuY3BwCiBKU0J5dGVMZW5ndGhR
dWV1aW5nU3RyYXRlZ3kuY3BwCiBKU0NEQVRBU2VjdGlvbi5jcHAKIEpTQ1NTQW5pbWF0aW9uLmNw
cAorSlNDU1NDb25kaXRpb25SdWxlLmNwcAogSlNDU1NGb250RmFjZVJ1bGUuY3BwCitKU0NTU0dy
b3VwaW5nUnVsZS5jcHAKIEpTQ1NTSW1wb3J0UnVsZS5jcHAKIEpTQ1NTS2V5ZnJhbWVSdWxlLmNw
cAogSlNDU1NLZXlmcmFtZXNSdWxlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk0OGE5MzNjYTc1OWY3NTRjNDNjYjFhOWMw
OGZlNjZlZjQzMzY2YzYuLjI5MTAwN2QzZGQ1M2YzODE5NGViMmI3YTNlM2Q1ODk5NGRkZWNjY2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTI2NTUsNiArMjY1NSw5IEBACiAJCTkzMDdGMUQ4MEFGMkQ1OTAwMERCQTMxQSAvKiBI
aXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MzA3RjFENjBBRjJENTkwMDBEQkEzMUEgLyogSGl0VGVzdFJlc3VsdC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzMDg0MTM0MUNEREIx
NTUwMEIwOTU4QyAvKiBKU0RPTUNvbnZlcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDg0MTMzMUNEREIxNTUwMEIwOTU4QyAvKiBKU0RPTUNvbnZl
cnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5
MzA5MDg5MTBBRjdFREU0MDA4MURGMDEgLyogSGl0VGVzdFJlcXVlc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDkwODkwMEFGN0VERTQwMDgxREYw
MSAvKiBIaXRUZXN0UmVxdWVzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTkzMEFBQzlBMjUwRUI4NDkwMDEzREE5RiAvKiBDU1NDb25kaXRpb25S
dWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzBB
QUM5ODI1MEVCODE3MDAxM0RBOUYgLyogQ1NTQ29uZGl0aW9uUnVsZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzMEFBQzlGMjUwRUQ0MDkwMDEz
REE5RiAvKiBKU0NTU0NvbmRpdGlvblJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzMEFBQzlEMjUwRUQ0MDkwMDEzREE5RiAvKiBKU0NTU0NvbmRp
dGlvblJ1bGUuaCAqLzsgfTsKKwkJOTMwQUFDQTIyNTBFRDQxMTAwMTNEQTlGIC8qIEpTQ1NTR3Jv
dXBpbmdSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzBBQUNBMDI1MEVENDExMDAxM0RBOUYgLyogSlNDU1NHcm91cGluZ1J1bGUuaCAqLzsgfTsK
IAkJOTMxNTNCREExNDE4MUY3QTAwRkNGNUJFIC8qIG1pc3NpbmdJbWFnZUAyeC5wbmcgaW4gUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMTUzQkQ5MTQxODFG
N0EwMEZDRjVCRSAvKiBtaXNzaW5nSW1hZ2VAMngucG5nICovOyB9OwogCQk5MzE1M0JEQzE0MTk1
OUJDMDBGQ0Y1QkUgLyogdGV4dEFyZWFSZXNpemVDb3JuZXIucG5nIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzE1M0JEQjE0MTk1OUJCMDBGQ0Y1QkUg
LyogdGV4dEFyZWFSZXNpemVDb3JuZXIucG5nICovOyB9OwogCQk5MzE1M0JFMjE0MTk1QTU3MDBG
Q0Y1QkUgLyogbWlzc2luZ0ltYWdlLnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTMxNTNCRTExNDE5NUE1NzAwRkNGNUJFIC8qIG1pc3NpbmdJbWFn
ZS5wbmcgKi87IH07CkBAIC0xMTAzNSw2ICsxMTAzOCwxNCBAQAogCQk5MzA3RjFENjBBRjJENTkw
MDBEQkEzMUEgLyogSGl0VGVzdFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSGl0VGVzdFJlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA4
NDEzMzFDRERCMTU1MDBCMDk1OEMgLyogSlNET01Db252ZXJ0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTRE9NQ29udmVydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MzA5MDg5MDBBRjdFREU0MDA4MURGMDEgLyogSGl0VGVzdFJlcXVlc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpdFRlc3RSZXF1ZXN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTkzMEFBQzk2MjUwRUI4MTcwMDEzREE5RiAvKiBDU1NDb25kaXRp
b25SdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0NvbmRpdGlvblJ1bGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MzBBQUM5ODI1MEVCODE3MDAxM0RBOUYgLyogQ1NT
Q29uZGl0aW9uUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDb25kaXRpb25SdWxlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMEFBQzk5MjUwRUI4MTgwMDEzREE5RiAvKiBDU1ND
b25kaXRpb25SdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NDb25kaXRpb25SdWxlLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOTMwQUFDOUIyNTBFQzJGMzAwMTNEQTlGIC8qIENTU0dyb3VwaW5n
UnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gQ1NTR3JvdXBpbmdSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOTMwQUFDOUMyNTBFRDQwODAwMTNEQTlGIC8qIEpTQ1NTQ29uZGl0aW9uUnVsZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NTU0NvbmRpdGlvblJ1
bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MzBBQUM5RDI1MEVENDA5MDAx
M0RBOUYgLyogSlNDU1NDb25kaXRpb25SdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQ1NTQ29uZGl0aW9uUnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5MzBBQUNBMDI1MEVENDExMDAxM0RBOUYgLyogSlNDU1NHcm91cGluZ1J1bGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDU1NHcm91cGluZ1J1bGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwQUFDQTEyNTBFRDQxMTAwMTNEQTlGIC8qIEpTQ1NTR3Jv
dXBpbmdSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ1NT
R3JvdXBpbmdSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwQzkwREMx
OUNGOTY1MzAwRDZDMjFBIC8qIElubGluZUl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IElubGluZUl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTMxNTNCRDkxNDE4MUY3QTAwRkNGNUJFIC8qIG1pc3NpbmdJbWFnZUAyeC5w
bmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFn
ZS5wbmc7IHBhdGggPSAibWlzc2luZ0ltYWdlQDJ4LnBuZyI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkzMTUzQkRCMTQxOTU5QkIwMEZDRjVCRSAvKiB0ZXh0QXJlYVJlc2l6ZUNvcm5l
ci5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBp
bWFnZS5wbmc7IHBhdGggPSB0ZXh0QXJlYVJlc2l6ZUNvcm5lci5wbmc7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yNDgwOSw4ICsyNDgyMCwxMiBAQAogCQlBODNCNzkwRTBDQ0FGRjk3
MDAwQjA4MjUgLyogQ1NTICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKKwkJCQk5MzBBQUM5QzI1MEVENDA4MDAxM0RBOUYgLyogSlNDU1NDb25kaXRpb25SdWxlLmNw
cCAqLywKKwkJCQk5MzBBQUM5RDI1MEVENDA5MDAxM0RBOUYgLyogSlNDU1NDb25kaXRpb25SdWxl
LmggKi8sCiAJCQkJQkM0NkMxRjIwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTRm9udEZhY2VSdWxl
LmNwcCAqLywKIAkJCQlCQzQ2QzFGMzBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1
bGUuaCAqLywKKwkJCQk5MzBBQUNBMTI1MEVENDExMDAxM0RBOUYgLyogSlNDU1NHcm91cGluZ1J1
bGUuY3BwICovLAorCQkJCTkzMEFBQ0EwMjUwRUQ0MTEwMDEzREE5RiAvKiBKU0NTU0dyb3VwaW5n
UnVsZS5oICovLAogCQkJCUJDNDZDMUY0MEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0ltcG9ydFJ1
bGUuY3BwICovLAogCQkJCUJDNDZDMUY1MEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0ltcG9ydFJ1
bGUuaCAqLywKIAkJCQkzMTZGRTA2RDBFNkNDQkVFMDBCRjYwODggLyogSlNDU1NLZXlmcmFtZVJ1
bGUuY3BwICovLApAQCAtMjg1NDMsNiArMjg1NTgsOSBAQAogCQkJCUJDNjA0OUNCMERCNTYwQzIw
MDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oICovLAogCQkJCUJDRUE0NzdDMDk3Q0FBQzgwMDk0
QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwICovLAogCQkJCUJDRUE0NzdE
MDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCAqLywKKwkJ
CQk5MzBBQUM5NjI1MEVCODE3MDAxM0RBOUYgLyogQ1NTQ29uZGl0aW9uUnVsZS5jcHAgKi8sCisJ
CQkJOTMwQUFDOTgyNTBFQjgxNzAwMTNEQTlGIC8qIENTU0NvbmRpdGlvblJ1bGUuaCAqLywKKwkJ
CQk5MzBBQUM5OTI1MEVCODE4MDAxM0RBOUYgLyogQ1NTQ29uZGl0aW9uUnVsZS5pZGwgKi8sCiAJ
CQkJOURBQzdDNTIxQUYyQ0FBMTAwNDM3QzQ0IC8qIENTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1
ZS5jcHAgKi8sCiAJCQkJOURBQzdDNTMxQUYyQ0FBMTAwNDM3QzQ0IC8qIENTU0NvbnRlbnREaXN0
cmlidXRpb25WYWx1ZS5oICovLAogCQkJCTJEOEZFQkRBMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1ND
cm9zc2ZhZGVWYWx1ZS5jcHAgKi8sCkBAIC0yODU5Myw2ICsyODYxMSw3IEBACiAJCQkJQ0QzRTI1
MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuaCAqLywKIAkJ
CQlGQkY4OTA0NDE2OUU5RjFGMDA1MkQ4NkUgLyogQ1NTR3JvdXBpbmdSdWxlLmNwcCAqLywKIAkJ
CQlGQjMwNTZDMTE2OUU1REFDMDA5NkEyMzIgLyogQ1NTR3JvdXBpbmdSdWxlLmggKi8sCisJCQkJ
OTMwQUFDOUIyNTBFQzJGMzAwMTNEQTlGIC8qIENTU0dyb3VwaW5nUnVsZS5pZGwgKi8sCiAJCQkJ
QkM3NzJCMzYwQzRFQTkxRTAwODMyODVGIC8qIENTU0hlbHBlci5oICovLAogCQkJCUJDMjNFNzZC
MERBRTg4QTkwMDlGREM5MSAvKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCAqLywKIAkJCQlC
QzIzRUU5MTBEQUVEMkJDMDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oICovLApA
QCAtMzA4NDYsNiArMzA4NjUsNyBAQAogCQkJCTQ5QUUyRDhGMTM0RUU1MEMwMDcyOTIwQSAvKiBD
U1NDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzYwNDlDQzBEQjU2MEMy
MDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUE0Nzkw
MDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFk
ZXJzICovLAorCQkJCTkzMEFBQzlBMjUwRUI4NDkwMDEzREE5RiAvKiBDU1NDb25kaXRpb25SdWxl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5REFDN0M1NTFBRjJDQUEyMDA0MzdDNDQgLyogQ1NTQ29u
dGVudERpc3RyaWJ1dGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDhGRUJERDE0M0Uz
RUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUFB
MjFFQ0NEMEFCRjBGQzYwMDJCODM0QyAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTMxOTU1LDcgKzMxOTc1LDkgQEAKIAkJCQk3QzlBQ0FDMDFGM0NGMUFGMDBGM0FB
MDkgLyogSlNDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdDOUFDQUMyMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0b1JzYUtleUFsZ29yaXRobS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzFCMjg0MjcyMDNDRUM0QzAwMzZBQTVEIC8qIEpTQ1NTQW5pbWF0
aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk5MzBBQUM5RjI1MEVENDA5MDAxM0RBOUYgLyogSlND
U1NDb25kaXRpb25SdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzQ2QzFGRDBDMEREQzhGMDAy
MENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTkzMEFBQ0Ey
MjUwRUQ0MTEwMDEzREE5RiAvKiBKU0NTU0dyb3VwaW5nUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM0NkMxRkYwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0UnVsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzE2RkUwNzIwRTZDQ0JFRTAwQkY2MDg4IC8qIEpTQ1NTS2V5ZnJhbWVSdWxl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZGRTA3NDBFNkNDQkVFMDBCRjYwODggLyogSlNDU1NL
ZXlmcmFtZXNSdWxlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb25kaXRpb25SdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb25kaXRp
b25SdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjBjMjVhOTJjZmJlM2Y5ZThmYmNjYWZkNGJhZjAxMzAy
MGM0Nzg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbmRpdGlv
blJ1bGUuY3BwCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIg
IkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQor
ICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJDU1NDb25kaXRpb25SdWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworQ1NTQ29uZGl0aW9uUnVsZTo6Q1NTQ29uZGl0aW9uUnVsZShTdHlsZVJ1bGVHcm91cCYgZ3Jv
dXAsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKKyAgICA6IENTU0dyb3VwaW5nUnVsZShncm91cCwg
cGFyZW50KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29uZGl0aW9uUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbmRpdGlvblJ1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzVkYTdkZjM1MjBkNzE0Mzg1MzVhMjUyNDFj
YzgxZGU1MzcyZTAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
bmRpdGlvblJ1bGUuaApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
ICJDU1NHcm91cGluZ1J1bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1ND
b25kaXRpb25SdWxlIDogcHVibGljIENTU0dyb3VwaW5nUnVsZSB7CitwdWJsaWM6CisgICAgdmly
dHVhbCBTdHJpbmcgY29uZGl0aW9uVGV4dCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0Q29uZGl0aW9uVGV4dChjb25zdCBTdHJpbmcmKSA9IDA7CisKK3Byb3RlY3RlZDoKKyAgICBD
U1NDb25kaXRpb25SdWxlKFN0eWxlUnVsZUdyb3VwJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb25kaXRpb25SdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb25kaXRp
b25SdWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTA0Yzc5MTMwNDBkZGZhYTZkNjI2MzM0OWE5YTYxZDRj
NzE0ZDNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbmRpdGlv
blJ1bGUuaWRsCkBAIC0wLDAgKzEsMjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCit0eXBlZGVmIERPTVN0cmluZyBDU1NPTVN0cmlu
ZzsKKworW0V4cG9zZWQ9V2luZG93XSBpbnRlcmZhY2UgQ1NTQ29uZGl0aW9uUnVsZSA6IENTU0dy
b3VwaW5nUnVsZSB7CisgICAgYXR0cmlidXRlIENTU09NU3RyaW5nIGNvbmRpdGlvblRleHQ7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmNwcAppbmRleCBjNmM1YzM5NTQwYTVj
NTA1Y2RmNGQ1OWM3NDZjMzkxODVjOWUwM2IyLi4zODc2MTI3MDg3ZDlmYzk5ZmU3OWU2ZmQ1MWE1
YTdhODhiMGNkZjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdS
dWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmNwcApAQCAt
MSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQWRvYmUgU3lzdGVtcyBJbmNv
cnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yOSw3ICsyOSw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCiAj
aW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxlLmgiCiAKICNpbmNsdWRlICJDU1NQYXJzZXIuaCIKQEAg
LTUwLDkgKzQ5LDkgQEAgQ1NTR3JvdXBpbmdSdWxlOjpDU1NHcm91cGluZ1J1bGUoU3R5bGVSdWxl
R3JvdXAmIGdyb3VwUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW4KIENTU0dyb3VwaW5nUnVsZTo6
fkNTU0dyb3VwaW5nUnVsZSgpCiB7CiAgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
cy5zaXplKCkgPT0gbV9ncm91cFJ1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOwotICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpOyArK2kp
IHsKLSAgICAgICAgaWYgKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXSkKLSAgICAgICAgICAg
IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXS0+c2V0UGFyZW50UnVsZSgwKTsKKyAgICBmb3Ig
KGF1dG8mIHdyYXBwZXIgOiBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMpIHsKKyAgICAgICAgaWYg
KHdyYXBwZXIpCisgICAgICAgICAgICB3cmFwcGVyLT5zZXRQYXJlbnRSdWxlKG51bGxwdHIpOwog
ICAgIH0KIH0KIApAQCAtMTExLDE0ICsxMTAsMTAgQEAgRXhjZXB0aW9uT3I8dm9pZD4gQ1NTR3Jv
dXBpbmdSdWxlOjpkZWxldGVSdWxlKHVuc2lnbmVkIGluZGV4KQogICAgIHJldHVybiB7IH07CiB9
CiAKLXZvaWQgQ1NTR3JvdXBpbmdSdWxlOjphcHBlbmRDc3NUZXh0Rm9ySXRlbXMoU3RyaW5nQnVp
bGRlciYgcmVzdWx0KSBjb25zdAordm9pZCBDU1NHcm91cGluZ1J1bGU6OmFwcGVuZENTU1RleHRG
b3JJdGVtcyhTdHJpbmdCdWlsZGVyJiByZXN1bHQpIGNvbnN0CiB7Ci0gICAgdW5zaWduZWQgc2l6
ZSA9IGxlbmd0aCgpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsK
LSAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiAgIik7Ci0gICAgICAgIHJlc3VsdC5hcHBl
bmQoaXRlbShpKS0+Y3NzVGV4dCgpKTsKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgnXG4nKTsKLSAg
ICB9CisgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9IGxlbmd0aCgpOyBpIDwgc2l6ZTsg
KytpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCIgICIsIGl0ZW0oaSktPmNzc1RleHQoKSwgJ1xu
Jyk7CiB9CiAKIHVuc2lnbmVkIENTU0dyb3VwaW5nUnVsZTo6bGVuZ3RoKCkgY29uc3QKQEAgLTEz
MSw3ICsxMjYsNyBAQCBDU1NSdWxlKiBDU1NHcm91cGluZ1J1bGU6Oml0ZW0odW5zaWduZWQgaW5k
ZXgpIGNvbnN0CiAgICAgaWYgKGluZGV4ID49IGxlbmd0aCgpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKSA9PSBtX2dy
b3VwUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7Ci0gICAgUmVmUHRyPENTU1J1bGU+JiBydWxl
ID0gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XTsKKyAgICBhdXRvJiBydWxlID0gbV9j
aGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XTsKICAgICBpZiAoIXJ1bGUpCiAgICAgICAgIHJ1
bGUgPSBtX2dyb3VwUnVsZS0+Y2hpbGRSdWxlcygpW2luZGV4XS0+Y3JlYXRlQ1NTT01XcmFwcGVy
KGNvbnN0X2Nhc3Q8Q1NTR3JvdXBpbmdSdWxlKj4odGhpcykpOwogICAgIHJldHVybiBydWxlLmdl
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5oCmluZGV4IGY1NGEzOTcxOTRlNWY5
NzQ2NWUyYTVlMTg2ZDg1MmJmNDA5ZDUyMzEuLmNmN2FhOTgxNWIxYTc0N2EzMjJmNGIwMjFhNzM4
YTRhMGQ4OGI5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcm91cGluZ1J1
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmgKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQog
ICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHly
aWdodCAoQykgMjAwMiwgMjAwNiwgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtQHdlYmtp
dC5vcmcpCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMzYsMjQgKzM2LDE5IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5DU1NHcm91cGluZ1J1bGUoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIENTU1J1bGVMaXN0
JiBjc3NSdWxlcygpIGNvbnN0OwotCiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8dW5z
aWduZWQ+IGluc2VydFJ1bGUoY29uc3QgU3RyaW5nJiBydWxlLCB1bnNpZ25lZCBpbmRleCk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8dm9pZD4gZGVsZXRlUnVsZSh1bnNpZ25lZCBp
bmRleCk7Ci0gICAgICAgIAotICAgIC8vIEZvciBDU1NSdWxlTGlzdAogICAgIHVuc2lnbmVkIGxl
bmd0aCgpIGNvbnN0OwogICAgIENTU1J1bGUqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Owog
CiBwcm90ZWN0ZWQ6Ci0gICAgQ1NTR3JvdXBpbmdSdWxlKFN0eWxlUnVsZUdyb3VwJiBncm91cFJ1
bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7Ci0gICAgCisgICAgQ1NTR3JvdXBpbmdSdWxlKFN0
eWxlUnVsZUdyb3VwJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKKyAgICBjb25zdCBTdHlsZVJ1
bGVHcm91cCYgZ3JvdXBSdWxlKCkgY29uc3QgeyByZXR1cm4gbV9ncm91cFJ1bGU7IH0KICAgICB2
b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKSBvdmVycmlkZTsKLQotICAgIHZvaWQgYXBwZW5k
Q3NzVGV4dEZvckl0ZW1zKFN0cmluZ0J1aWxkZXImKSBjb25zdDsKLQotICAgIFJlZjxTdHlsZVJ1
bGVHcm91cD4gbV9ncm91cFJ1bGU7CisgICAgdm9pZCBhcHBlbmRDU1NUZXh0Rm9ySXRlbXMoU3Ry
aW5nQnVpbGRlciYpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIFJlZjxTdHlsZVJ1bGVHcm91cD4g
bV9ncm91cFJ1bGU7CiAgICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRyPENTU1J1bGU+PiBtX2NoaWxk
UnVsZUNTU09NV3JhcHBlcnM7CiAgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUnVsZUxp
c3Q+IG1fcnVsZUxpc3RDU1NPTVdyYXBwZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBp
bmdSdWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjgyOGJiMWU1MWFjZTIyYjQ2MzI3NzBhYWYxMmJhMGU1
MDk3ZDNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5n
UnVsZS5pZGwKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKK3R5cGVkZWYgRE9NU3RyaW5nIENTU09NU3RyaW5n
OworCitbRXhwb3NlZD1XaW5kb3ddCitpbnRlcmZhY2UgQ1NTR3JvdXBpbmdSdWxlIDogQ1NTUnVs
ZSB7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlTGlzdCBjc3NS
dWxlczsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgaW5zZXJ0UnVsZShD
U1NPTVN0cmluZyBydWxlLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4ID0gMCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlUnVsZSh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwKaW5kZXggZjU2ZWY5ZmMw
ZjE5MTc1OGJkZDkxZDE1YjQzNjFiNDZkYzJhMjJjMi4uMDg2OTY0N2Y3ZWE1OWQ2YjNhYWYzODc2
ZTA1MGY2MTBjY2MxYjk5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9y
dFJ1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWlu
aWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTE4LDEwICsxOCwxMCBA
QAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAotLy8gSW50cm9kdWNlZCBp
biBET00gTGV2ZWwgMjoKK1tFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBDU1NJbXBvcnRSdWxl
IDogQ1NTUnVsZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gaHJlZjsKLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFMaXN0IG1lZGlhOwotICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBDU1NTdHlsZVNoZWV0IHN0eWxlU2hlZXQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVT
VlN0cmluZyBocmVmOworICAgIFtTYW1lT2JqZWN0LCBQdXRGb3J3YXJkcz1tZWRpYVRleHRdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUxpc3QgbWVkaWE7CisgICAgW1NhbWVPYmplY3RdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0IHN0eWxlU2hlZXQ7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NNZWRpYVJ1bGUuY3BwCmluZGV4IDE1ZTlkYzA1MzUxODMzMjI4MjdlYjZjYjA0NTdiNDU3
Y2MyOGE4MTMuLmUwMWVlNTQwYmEyOTM3Mzk4OWVmMjg5MDM5YTEwZGUwNzBlNmNiODEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCkBAIC0xLDcgKzEsNyBAQAogLyoqCiAgKiAoQykg
MTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERp
cmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1
LCAyMDA2LCAyMDEyIEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxl
IEluYy4KICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9y
ZykKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCkBAIC0zMSw3ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IENTU01lZGlhUnVsZTo6Q1NTTWVkaWFSdWxlKFN0eWxlUnVsZU1lZGlhJiBtZWRpYVJ1bGUsIENT
U1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICA6IENTU0dyb3VwaW5nUnVsZShtZWRpYVJ1bGUsIHBh
cmVudCkKKyAgICA6IENTU0NvbmRpdGlvblJ1bGUobWVkaWFSdWxlLCBwYXJlbnQpCiB7CiB9CiAK
QEAgLTQxLDM4ICs0MSw0MiBAQCBDU1NNZWRpYVJ1bGU6On5DU1NNZWRpYVJ1bGUoKQogICAgICAg
ICBtX21lZGlhQ1NTT01XcmFwcGVyLT5jbGVhclBhcmVudFJ1bGUoKTsKIH0KIAotTWVkaWFRdWVy
eVNldCogQ1NTTWVkaWFSdWxlOjptZWRpYVF1ZXJpZXMoKSBjb25zdAorTWVkaWFRdWVyeVNldCYg
Q1NTTWVkaWFSdWxlOjptZWRpYVF1ZXJpZXMoKSBjb25zdAogewotICAgIHJldHVybiBkb3duY2Fz
dDxTdHlsZVJ1bGVNZWRpYT4obV9ncm91cFJ1bGUuZ2V0KCkpLm1lZGlhUXVlcmllcygpOworICAg
IHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4oZ3JvdXBSdWxlKCkpLm1lZGlhUXVlcmll
cygpOwogfQogCiBTdHJpbmcgQ1NTTWVkaWFSdWxlOjpjc3NUZXh0KCkgY29uc3QKIHsKICAgICBT
dHJpbmdCdWlsZGVyIHJlc3VsdDsKLSAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiQG1lZGlhICIp
OwotICAgIGlmIChtZWRpYVF1ZXJpZXMoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kKG1lZGlh
UXVlcmllcygpLT5tZWRpYVRleHQoKSwgJyAnKTsKLSAgICB9Ci0gICAgcmVzdWx0LmFwcGVuZExp
dGVyYWwoInsgXG4iKTsKLSAgICBhcHBlbmRDc3NUZXh0Rm9ySXRlbXMocmVzdWx0KTsKKyAgICBy
ZXN1bHQuYXBwZW5kKCJAbWVkaWEgIiwgY29uZGl0aW9uVGV4dCgpLCAiIHsgXG4iKTsKKyAgICBh
cHBlbmRDU1NUZXh0Rm9ySXRlbXMocmVzdWx0KTsKICAgICByZXN1bHQuYXBwZW5kKCd9Jyk7CiAg
ICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwogfQogCitTdHJpbmcgQ1NTTWVkaWFSdWxlOjpj
b25kaXRpb25UZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbWVkaWFRdWVyaWVzKCkubWVkaWFU
ZXh0KCk7Cit9CisKK3ZvaWQgQ1NTTWVkaWFSdWxlOjpzZXRDb25kaXRpb25UZXh0KGNvbnN0IFN0
cmluZyYgdGV4dCkKK3sKKyAgICBtZWRpYVF1ZXJpZXMoKS5zZXQodGV4dCk7Cit9CisKIE1lZGlh
TGlzdCogQ1NTTWVkaWFSdWxlOjptZWRpYSgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtZWRpYVF1ZXJp
ZXMoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgaWYgKCFtX21lZGlhQ1NTT01XcmFw
cGVyKQotICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyID0gTWVkaWFMaXN0OjpjcmVhdGUobWVk
aWFRdWVyaWVzKCksIGNvbnN0X2Nhc3Q8Q1NTTWVkaWFSdWxlKj4odGhpcykpOworICAgICAgICBt
X21lZGlhQ1NTT01XcmFwcGVyID0gTWVkaWFMaXN0OjpjcmVhdGUoJm1lZGlhUXVlcmllcygpLCBj
b25zdF9jYXN0PENTU01lZGlhUnVsZSo+KHRoaXMpKTsKICAgICByZXR1cm4gbV9tZWRpYUNTU09N
V3JhcHBlci5nZXQoKTsKIH0KIAogdm9pZCBDU1NNZWRpYVJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVs
ZUJhc2UmIHJ1bGUpCiB7Ci0gICAgQ1NTR3JvdXBpbmdSdWxlOjpyZWF0dGFjaChydWxlKTsKLSAg
ICBpZiAobV9tZWRpYUNTU09NV3JhcHBlciAmJiBtZWRpYVF1ZXJpZXMoKSkKLSAgICAgICAgbV9t
ZWRpYUNTU09NV3JhcHBlci0+cmVhdHRhY2gobWVkaWFRdWVyaWVzKCkpOworICAgIENTU0NvbmRp
dGlvblJ1bGU6OnJlYXR0YWNoKHJ1bGUpOworICAgIGlmIChtX21lZGlhQ1NTT01XcmFwcGVyKQor
ICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyLT5yZWF0dGFjaCgmbWVkaWFRdWVyaWVzKCkpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTWVkaWFSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKaW5k
ZXggMjE2MGZhY2E5ZTRhNjgzMzUwMTc2MzYzMGNiODM4MjU5MmY4NGQ2MC4uNDU0OGMxZDA5OGU3
OGNhYzM4NWNhOWVkYjUxODBhMDQ1Y2RiMmJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU01lZGlhUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUu
aApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xs
QGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3Jn
KQotICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA2LCAyMDA4LCAyMDEyIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2Vpbmln
IChzYW1Ad2Via2l0Lm9yZykKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yMiw3ICsyMiw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxlLmgiCisjaW5jbHVkZSAiQ1NTQ29u
ZGl0aW9uUnVsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMwLDEwICszMCw5IEBA
IGNsYXNzIE1lZGlhTGlzdDsKIGNsYXNzIE1lZGlhUXVlcnlTZXQ7CiBjbGFzcyBTdHlsZVJ1bGVN
ZWRpYTsKIAotY2xhc3MgQ1NTTWVkaWFSdWxlIGZpbmFsIDogcHVibGljIENTU0dyb3VwaW5nUnVs
ZSB7CitjbGFzcyBDU1NNZWRpYVJ1bGUgZmluYWwgOiBwdWJsaWMgQ1NTQ29uZGl0aW9uUnVsZSB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxDU1NNZWRpYVJ1bGU+IGNyZWF0ZShTdHlsZVJ1bGVN
ZWRpYSYgcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
Q1NTTWVkaWFSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KLQogICAgIHZpcnR1YWwgfkNTU01lZGlhUnVs
ZSgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFMaXN0KiBtZWRpYSgpIGNvbnN0OwpAQCAt
NDQsOSArNDMsMTEgQEAgcHJpdmF0ZToKICAgICBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBNRURJQV9SVUxFOyB9CiAgICAgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVC
YXNlJikgZmluYWw7CiAgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdCBmaW5hbDsKKyAgICBTdHJp
bmcgY29uZGl0aW9uVGV4dCgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2V0Q29uZGl0aW9uVGV4
dChjb25zdCBTdHJpbmcmKSBmaW5hbDsKKworICAgIE1lZGlhUXVlcnlTZXQmIG1lZGlhUXVlcmll
cygpIGNvbnN0OwogCi0gICAgTWVkaWFRdWVyeVNldCogbWVkaWFRdWVyaWVzKCkgY29uc3Q7Ci0g
ICAgCiAgICAgbXV0YWJsZSBSZWZQdHI8TWVkaWFMaXN0PiBtX21lZGlhQ1NTT01XcmFwcGVyOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbAppbmRleCAzOWFmOTQxYWM3ZTk1MTMw
Y2ZmY2U3MGIxYjU2MjQzMjc0YmZhNjg5Li5iMDJjZTc0YzY3YWJlNjhmN2IyMGU4MTE1OTg1MjA5
YTc4NWExZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53
ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTE4LDEwICsxOCw3IEBACiAgKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi1pbnRlcmZhY2UgQ1NTTWVkaWFSdWxlIDog
Q1NTUnVsZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhTGlzdCBtZWRpYTsKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgY3NzUnVsZXM7Ci0KLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgaW5zZXJ0UnVsZShvcHRpb25hbCBET01TdHJpbmcgcnVs
ZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4ID0gMCk7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlUnVsZShvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIGluZGV4ID0gMCk7CitbRXhwb3NlZD1XaW5kb3ddCitpbnRlcmZhY2UgQ1NTTWVkaWFS
dWxlIDogQ1NTQ29uZGl0aW9uUnVsZSB7CisgICAgW1NhbWVPYmplY3QsIFB1dEZvcndhcmRzPW1l
ZGlhVGV4dF0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhTGlzdCBtZWRpYTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1J1bGUuaAppbmRleCA0ZGE1YjYzNDQwNzA0MjhkZWIzY2RmZTI0MjlkNDU2MjM2MmRjNzQxLi5j
MDM0NjI2NGI0NjNjZWYzNWQ5OTUxYzI1ZmJjMTA3OWNiN2E0OGE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxl
LmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9s
bEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9y
ZykKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNiwgMjAwNywgMjAxMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQW5kcmVhcyBLbGlu
ZyAoa2xpbmdAd2Via2l0Lm9yZykKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC00NCw1NCArNDQsMzEgQEAgcHVi
bGljOgogICAgICAgICBNRURJQV9SVUxFLAogICAgICAgICBGT05UX0ZBQ0VfUlVMRSwKICAgICAg
ICAgUEFHRV9SVUxFLAotICAgICAgICAvLyA3IHdhcyBWQVJJQUJMRVNfUlVMRTsgd2Ugbm93IG1h
dGNoIG90aGVyIGJyb3dzZXJzIHdpdGggNyBhcwotICAgICAgICAvLyBLRVlGUkFNRVNfUlVMRToK
LSAgICAgICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI5
Mz4uCiAgICAgICAgIEtFWUZSQU1FU19SVUxFLAogICAgICAgICBLRVlGUkFNRV9SVUxFLAotICAg
ICAgICBOQU1FU1BBQ0VfUlVMRSA9IDEwLCAvLyBNYXRjaGVzIG90aGVyIGJyb3dzZXJzLgorICAg
ICAgICBNQVJHSU5fUlVMRSwKKyAgICAgICAgTkFNRVNQQUNFX1JVTEUsCiAgICAgICAgIFNVUFBP
UlRTX1JVTEUgPSAxMiwKICAgICB9OwogCiAgICAgZW51bSBEZXByZWNhdGVkVHlwZSB7Ci0gICAg
ICAgIFdFQktJVF9LRVlGUkFNRVNfUlVMRSA9IDcsCi0gICAgICAgIFdFQktJVF9LRVlGUkFNRV9S
VUxFID0gOAorICAgICAgICBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSBLRVlGUkFNRVNfUlVMRSwK
KyAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUgPSBLRVlGUkFNRV9SVUxFCiAgICAgfTsKIAog
ICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGNz
c1RleHQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJh
c2UmKSA9IDA7CiAKLSAgICB2b2lkIHNldFBhcmVudFN0eWxlU2hlZXQoQ1NTU3R5bGVTaGVldCog
c3R5bGVTaGVldCkKLSAgICB7Ci0gICAgICAgIG1fcGFyZW50SXNSdWxlID0gZmFsc2U7Ci0gICAg
ICAgIG1fcGFyZW50U3R5bGVTaGVldCA9IHN0eWxlU2hlZXQ7Ci0gICAgfQotCi0gICAgdm9pZCBz
ZXRQYXJlbnRSdWxlKENTU1J1bGUqIHJ1bGUpCi0gICAgewotICAgICAgICBtX3BhcmVudElzUnVs
ZSA9IHRydWU7Ci0gICAgICAgIG1fcGFyZW50UnVsZSA9IHJ1bGU7Ci0gICAgfQotCi0gICAgQ1NT
U3R5bGVTaGVldCogcGFyZW50U3R5bGVTaGVldCgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAo
bV9wYXJlbnRJc1J1bGUpCi0gICAgICAgICAgICByZXR1cm4gbV9wYXJlbnRSdWxlID8gbV9wYXJl
bnRSdWxlLT5wYXJlbnRTdHlsZVNoZWV0KCkgOiAwOwotICAgICAgICByZXR1cm4gbV9wYXJlbnRT
dHlsZVNoZWV0OwotICAgIH0KLQotICAgIENTU1J1bGUqIHBhcmVudFJ1bGUoKSBjb25zdCB7IHJl
dHVybiBtX3BhcmVudElzUnVsZSA/IG1fcGFyZW50UnVsZSA6IDA7IH0KKyAgICB2b2lkIHNldFBh
cmVudFN0eWxlU2hlZXQoQ1NTU3R5bGVTaGVldCopOworICAgIHZvaWQgc2V0UGFyZW50UnVsZShD
U1NSdWxlKik7CisgICAgQ1NTU3R5bGVTaGVldCogcGFyZW50U3R5bGVTaGVldCgpIGNvbnN0Owor
ICAgIENTU1J1bGUqIHBhcmVudFJ1bGUoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudElzUnVsZSA/
IG1fcGFyZW50UnVsZSA6IG51bGxwdHI7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldENzc1RleHQoY29uc3QgU3RyaW5nJik7CiAKIHByb3RlY3RlZDoKLSAgICBD
U1NSdWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICAgICAgOiBtX2hhc0NhY2hlZFNlbGVj
dG9yVGV4dChmYWxzZSkKLSAgICAgICAgLCBtX3BhcmVudElzUnVsZShmYWxzZSkKLSAgICAgICAg
LCBtX3BhcmVudFN0eWxlU2hlZXQocGFyZW50KQotICAgIHsKLSAgICB9CisgICAgZXhwbGljaXQg
Q1NTUnVsZShDU1NTdHlsZVNoZWV0Kik7CiAKICAgICBib29sIGhhc0NhY2hlZFNlbGVjdG9yVGV4
dCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ2FjaGVkU2VsZWN0b3JUZXh0OyB9CiAgICAgdm9pZCBz
ZXRIYXNDYWNoZWRTZWxlY3RvclRleHQoYm9vbCBoYXNDYWNoZWRTZWxlY3RvclRleHQpIGNvbnN0
IHsgbV9oYXNDYWNoZWRTZWxlY3RvclRleHQgPSBoYXNDYWNoZWRTZWxlY3RvclRleHQ7IH0KQEAg
LTEwMSwxMyArNzgsMzggQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBtdXRhYmxlIHVuc2ln
bmVkIGNoYXIgbV9oYXNDYWNoZWRTZWxlY3RvclRleHQgOiAxOwogICAgIHVuc2lnbmVkIGNoYXIg
bV9wYXJlbnRJc1J1bGUgOiAxOwotCiAgICAgdW5pb24gewogICAgICAgICBDU1NSdWxlKiBtX3Bh
cmVudFJ1bGU7CiAgICAgICAgIENTU1N0eWxlU2hlZXQqIG1fcGFyZW50U3R5bGVTaGVldDsKICAg
ICB9OwogfTsKIAoraW5saW5lIENTU1J1bGU6OkNTU1J1bGUoQ1NTU3R5bGVTaGVldCogcGFyZW50
KQorICAgIDogbV9oYXNDYWNoZWRTZWxlY3RvclRleHQoZmFsc2UpCisgICAgLCBtX3BhcmVudElz
UnVsZShmYWxzZSkKKyAgICAsIG1fcGFyZW50U3R5bGVTaGVldChwYXJlbnQpCit7Cit9CisKK2lu
bGluZSB2b2lkIENTU1J1bGU6OnNldFBhcmVudFN0eWxlU2hlZXQoQ1NTU3R5bGVTaGVldCogc3R5
bGVTaGVldCkKK3sKKyAgICBtX3BhcmVudElzUnVsZSA9IGZhbHNlOworICAgIG1fcGFyZW50U3R5
bGVTaGVldCA9IHN0eWxlU2hlZXQ7Cit9CisKK2lubGluZSB2b2lkIENTU1J1bGU6OnNldFBhcmVu
dFJ1bGUoQ1NTUnVsZSogcnVsZSkKK3sKKyAgICBtX3BhcmVudElzUnVsZSA9IHRydWU7CisgICAg
bV9wYXJlbnRSdWxlID0gcnVsZTsKK30KKworaW5saW5lIENTU1N0eWxlU2hlZXQqIENTU1J1bGU6
OnBhcmVudFN0eWxlU2hlZXQoKSBjb25zdAoreworICAgIGlmIChtX3BhcmVudElzUnVsZSkKKyAg
ICAgICAgcmV0dXJuIG1fcGFyZW50UnVsZSA/IG1fcGFyZW50UnVsZS0+cGFyZW50U3R5bGVTaGVl
dCgpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gbV9wYXJlbnRTdHlsZVNoZWV0OworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNkZWZpbmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1Nf
UlVMRShUb1ZhbHVlVHlwZU5hbWUsIHByZWRpY2F0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCmlu
ZGV4IDJkNDA2YmFkMDhmNmViMzJiNmU0OGNjY2Y5YmM1NDIzN2VmOGU1MmIuLmI1MGFhMDgzNmZk
YWI4MTgyMjBkNDM5ZjQwMWIxNjQxYzMzYjI0MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11
ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yMSwxMSAr
MjEsMTYgQEAKIFsKICAgICBDdXN0b21Ub0pTT2JqZWN0LAogICAgIEV4cG9ydFRvV3JhcHBlZEZ1
bmN0aW9uLAorICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGUsCiAg
ICAgSlNDdXN0b21IZWFkZXIsCiAgICAgSlNDdXN0b21NYXJrRnVuY3Rpb24sCiBdIGludGVyZmFj
ZSBDU1NSdWxlIHsKLSAgICAvLyBSdWxlVHlwZQorICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGNz
c1RleHQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGU/IHBhcmVudFJ1bGU7CisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlU2hlZXQ/IHBhcmVudFN0eWxlU2hlZXQ7CisKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgdHlwZTsKICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBVTktOT1dOX1JVTEUgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNU
WUxFX1JVTEUgPSAxOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IENIQVJTRVRfUlVMRSA9IDI7
CkBAIC0zNSwxNyArNDAsMTEgQEAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQQUdFX1JVTEUg
PSA2OwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEtFWUZSQU1FU19SVUxFID0gNzsKICAgICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBLRVlGUkFNRV9SVUxFID0gODsKKyAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBNQVJHSU5fUlVMRSA9IDk7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgTkFNRVNQ
QUNFX1JVTEUgPSAxMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVVBQT1JUU19SVUxFID0g
MTI7CiAKICAgICAvLyBMZWdhY3kgc3lub255bXMgZm9yIHRoZSBhYm92ZSwga2VwdCB0byBhdm9p
ZCBicmVha2luZyBleGlzdGluZyBjb250ZW50LgogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdF
QktJVF9LRVlGUkFNRVNfUlVMRSA9IDc7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgV0VCS0lU
X0tFWUZSQU1FX1JVTEUgPSA4OwotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNo
b3J0IHR5cGU7Ci0KLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBjc3NUZXh0OwotCi0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlU2hlZXQ/IHBhcmVudFN0eWxlU2hlZXQ7Ci0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIENTU1J1bGU/IHBhcmVudFJ1bGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVSdWxlLmlkbAppbmRleCA1YmE2MWVjOWZiZjBkZDZiMWM1NjZmM2E5OWU5ZTgzZmU1NDEw
NzM2Li43MTc5NTcxY2U5ZDlhNjhjODE0ZjBiY2JjM2RhNWNhYjMxOTE5NjUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29w
eXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoK
ICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKQEAgLTE4LDEwICsxOCw4IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KICAqLwogCi0vLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAyOgorW0V4cG9zZWQ9V2luZG93
XQogaW50ZXJmYWNlIENTU1N0eWxlUnVsZSA6IENTU1J1bGUgewogICAgIGF0dHJpYnV0ZSBET01T
dHJpbmc/IHNlbGVjdG9yVGV4dDsKLQotICAgIFtQdXRGb3J3YXJkcz1jc3NUZXh0XSByZWFkb25s
eSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiBzdHlsZTsKKyAgICBbU2FtZU9iamVjdCwg
UHV0Rm9yd2FyZHM9Y3NzVGV4dF0gcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlRGVjbGFyYXRp
b24gc3R5bGU7CiB9OwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
aGVldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwKaW5kZXggZmZh
Mzg3NjYzZTcxYWQyNTk0YTgxYTM3NzJlODJkOWE5YzJjMmU0OS4uNzgyZjllMGU5NzMyZGQzYjdi
NmFlODRmNTIwMTE1MDlkYTVlYjc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2hlZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0Lmlk
bApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2
IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTE4
LDE3ICsxOCwxNCBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAorW0V4
cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIENTU1N0eWxlU2hlZXQgOiBTdHlsZVNoZWV0IHsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZSBvd25lclJ1bGU7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOwotCiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bnNpZ25lZCBsb25nIGluc2VydFJ1bGUoRE9NU3RyaW5nIHJ1bGUsIG9wdGlvbmFsIHVuc2lnbmVk
IGxvbmcgaW5kZXggPSAwKTsKLQogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGRl
bGV0ZVJ1bGUodW5zaWduZWQgbG9uZyBpbmRleCk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Q1NTUnVsZUxpc3QgcnVsZXM7Ci0KLSAgICAvLyBUaGUgZm9sbG93aW5nIHR3byBvcGVyYXRpb25z
IGFyZSBXZWJLaXQtc3BlY2lmaWMuCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBsb25nIGFkZFJ1
bGUob3B0aW9uYWwgRE9NU3RyaW5nIHNlbGVjdG9yID0gInVuZGVmaW5lZCIsIG9wdGlvbmFsIERP
TVN0cmluZyBzdHlsZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4
KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCByZW1vdmVSdWxlKG9wdGlvbmFs
IHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0
c1J1bGUuY3BwCmluZGV4IGUxM2UxM2I4NWVkYmJiZDY0NjI2M2I2ZTMyNDZhNzk2OWNiYTcxOTYu
LmZjMWRhZDhhOGQzYjI0MDZkNWFhMzQ0MmNiNjM2Mzg5NmI5MjM1MzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCkBAIC0xLDQgKzEsNiBAQAotLyogQ29weXJpZ2h0IChD
KSAyMDEyIE1vdG9yb2xhIE1vYmlsaXR5IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgTW90b3JvbGEgTW9iaWxpdHkgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM1LDI3ICszNywz
MyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNTU1N1cHBvcnRzUnVsZTo6Q1NTU3VwcG9y
dHNSdWxlKFN0eWxlUnVsZVN1cHBvcnRzJiBzdXBwb3J0c1J1bGUsIENTU1N0eWxlU2hlZXQqIHBh
cmVudCkKLSAgICA6IENTU0dyb3VwaW5nUnVsZShzdXBwb3J0c1J1bGUsIHBhcmVudCkKK0NTU1N1
cHBvcnRzUnVsZTo6Q1NTU3VwcG9ydHNSdWxlKFN0eWxlUnVsZVN1cHBvcnRzJiBydWxlLCBDU1NT
dHlsZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NDb25kaXRpb25SdWxlKHJ1bGUsIHBhcmVudCkK
IHsKIH0KIAorUmVmPENTU1N1cHBvcnRzUnVsZT4gQ1NTU3VwcG9ydHNSdWxlOjpjcmVhdGUoU3R5
bGVSdWxlU3VwcG9ydHMmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKK3sKKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBDU1NTdXBwb3J0c1J1bGUocnVsZSwgcGFyZW50KSk7Cit9CisKIFN0
cmluZyBDU1NTdXBwb3J0c1J1bGU6OmNzc1RleHQoKSBjb25zdAogewogICAgIFN0cmluZ0J1aWxk
ZXIgcmVzdWx0OwotCi0gICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIkBzdXBwb3J0cyAiKTsKLSAg
ICByZXN1bHQuYXBwZW5kKGNvbmRpdGlvblRleHQoKSk7Ci0gICAgcmVzdWx0LmFwcGVuZExpdGVy
YWwoIiB7XG4iKTsKLSAgICBhcHBlbmRDc3NUZXh0Rm9ySXRlbXMocmVzdWx0KTsKKyAgICByZXN1
bHQuYXBwZW5kKCJAc3VwcG9ydHMgIiwgY29uZGl0aW9uVGV4dCgpLCAiIHtcbiIpOworICAgIGFw
cGVuZENTU1RleHRGb3JJdGVtcyhyZXN1bHQpOwogICAgIHJlc3VsdC5hcHBlbmQoJ30nKTsKLQog
ICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKIH0KIAogU3RyaW5nIENTU1N1cHBvcnRzUnVs
ZTo6Y29uZGl0aW9uVGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRvd25jYXN0PFN0eWxlUnVs
ZVN1cHBvcnRzPihtX2dyb3VwUnVsZS5nZXQoKSkuY29uZGl0aW9uVGV4dCgpOworICAgIHJldHVy
biBkb3duY2FzdDxTdHlsZVJ1bGVTdXBwb3J0cz4oZ3JvdXBSdWxlKCkpLmNvbmRpdGlvblRleHQo
KTsKK30KKwordm9pZCBDU1NTdXBwb3J0c1J1bGU6OnNldENvbmRpdGlvblRleHQoY29uc3QgU3Ry
aW5nJikKK3sKKyAgICAvLyBGSVhNRTogTm90IGltcGxlbWVudGVkIHlldC4KIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBv
cnRzUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oCmluZGV4IGZl
ODM2NTBjMWY1MDlmNmI4M2I1MjU3ZGQxOGE5NzNkNTA5NDdiNzYuLmU2Y2U0ZjY5ZjJiZWJjODFk
NjgyZWFiZTU2NWY5NmZkZWM2ZDVkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdXBwb3J0c1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxl
LmgKQEAgLTEsNCArMSw2IEBACi0vKiBDb3B5cmlnaHQgKEMpIDIwMTIgTW90b3JvbGEgTW9iaWxp
dHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBN
b3Rvcm9sYSBNb2JpbGl0eSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQpAQCAtMjgsMjkgKzMwLDIzIEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxlLmgiCisjaW5jbHVkZSAiQ1NTQ29uZGl0aW9uUnVs
ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTU1J1bGU7CiBjbGFzcyBTdHls
ZVJ1bGVTdXBwb3J0czsKIAotY2xhc3MgQ1NTU3VwcG9ydHNSdWxlIGZpbmFsIDogcHVibGljIENT
U0dyb3VwaW5nUnVsZSB7CitjbGFzcyBDU1NTdXBwb3J0c1J1bGUgZmluYWwgOiBwdWJsaWMgQ1NT
Q29uZGl0aW9uUnVsZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NTdXBwb3J0c1J1bGU+
IGNyZWF0ZShTdHlsZVJ1bGVTdXBwb3J0cyYgcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpCi0g
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdXBwb3J0c1J1bGUocnVsZSwg
c2hlZXQpKTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIH5DU1NTdXBwb3J0c1J1bGUoKSA9IGRlZmF1
bHQ7CisgICAgc3RhdGljIFJlZjxDU1NTdXBwb3J0c1J1bGU+IGNyZWF0ZShTdHlsZVJ1bGVTdXBw
b3J0cyYsIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7CiAKICAgICBTdHJpbmcgY3NzVGV4dCgpIGNv
bnN0IGZpbmFsOwotCi0gICAgU3RyaW5nIGNvbmRpdGlvblRleHQoKSBjb25zdDsKKyAgICBTdHJp
bmcgY29uZGl0aW9uVGV4dCgpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2V0Q29uZGl0aW9uVGV4
dChjb25zdCBTdHJpbmcmKSBmaW5hbDsKIAogcHJpdmF0ZToKICAgICBDU1NTdXBwb3J0c1J1bGUo
U3R5bGVSdWxlU3VwcG9ydHMmLCBDU1NTdHlsZVNoZWV0Kik7Ci0KICAgICBDU1NSdWxlOjpUeXBl
IHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBTVVBQT1JUU19SVUxFOyB9CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCmluZGV4IGZhYTJhNDUxM2IxOWQ3YmE1ZjU5
ZmNlMDdmYzM1NjcwZmYzNTcyNGMuLmEwNTNjMjExYzVjYWM5MmVjMTZmYmZhYWJmOWIzNDcyNmZj
MzZhNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCkBAIC0xLDQgKzEs
NiBAQAotLyogQ29weXJpZ2h0IChDKSAyMDEyIE1vdG9yb2xhIE1vYmlsaXR5IEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTW90b3JvbGEgTW9iaWxp
dHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKQEAgLTI2LDEwICsyOCw2IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWludGVyZmFj
ZSBDU1NTdXBwb3J0c1J1bGUgOiBDU1NSdWxlIHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NT
UnVsZUxpc3QgY3NzUnVsZXM7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBjb25k
aXRpb25UZXh0OwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIGluc2Vy
dFJ1bGUoRE9NU3RyaW5nIHJ1bGUsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkZWxldGVSdWxlKHVuc2lnbmVkIGxv
bmcgaW5kZXgpOworW0V4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIENTU1N1cHBvcnRzUnVsZSA6
IENTU0NvbmRpdGlvblJ1bGUgewogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKaW5kZXggMjEx
MmY0MGM0YzcyMDgwYmE4MGU1ZDJkMjkyOTI0Yjc2ZjE3YTFiNi4uYjQ5ZGYxZGQ3MDI3MTdiNmFm
NmVkY2EyMTNkMjY3NDdiNDQ3NDUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKQEAgLTEs
NiArMSw2IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3Jn
KQotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC04Miw3ICs4Miw3IEBAIE1lZGlhUXVlcnlT
ZXQ6On5NZWRpYVF1ZXJ5U2V0KCkgPSBkZWZhdWx0OwogYm9vbCBNZWRpYVF1ZXJ5U2V0OjpzZXQo
Y29uc3QgU3RyaW5nJiBtZWRpYVN0cmluZykKIHsKICAgICBhdXRvIHJlc3VsdCA9IGNyZWF0ZSht
ZWRpYVN0cmluZyk7Ci0gICAgbV9xdWVyaWVzLnN3YXAocmVzdWx0LT5tX3F1ZXJpZXMpOworICAg
IG1fcXVlcmllcyA9IFdURk1vdmUocmVzdWx0LT5tX3F1ZXJpZXMpOwogICAgIHJldHVybiB0cnVl
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCmluZGV4IDQ3NDE4MzYyODUzNTFjMDQ4MzZl
OTk5YTcyZTliYzRlMWY3MTMzNzEuLmZlYzgyYjEzY2U0Zjg3NjVjODVlNWYyZGE0Nzk5OGZlOGQw
ZmFiNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDExICsyNSwxMiBAQAog
CiBbCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCisgICAgRXhwb3NlZD1XaW5kb3csCiAg
ICAgR2VuZXJhdGVJc1JlYWNoYWJsZSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAog
ICAgIEpTQ3VzdG9tSGVhZGVyLAogXSBpbnRlcmZhY2UgTWVkaWFMaXN0IHsKLSAgICBhdHRyaWJ1
dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgbWVkaWFUZXh0OworICAgIHN0
cmluZ2lmaWVyIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBt
ZWRpYVRleHQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwog
CiAgICAgZ2V0dGVyIERPTVN0cmluZz8gaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggYWI1MzI3M2E2MDMzZTVlMTI0OGJiYzI2ZmNjNWYxNTA2
MWM4OTAxZi4uYzgzY2E4MmQyOTEwYTRjN2FiMTYxMDJmODE2YTQxMWYwOTg2OWMyYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAw
MyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxs
ZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNSwgMjAwNiwg
MjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTE4Nyw2ICsxODcsMTYgQEAgU3R5bGVSdWxlOjpTdHlsZVJ1bGUoY29uc3Qg
U3R5bGVSdWxlJiBvKQogCiBTdHlsZVJ1bGU6On5TdHlsZVJ1bGUoKSA9IGRlZmF1bHQ7CiAKK1Jl
ZjxTdHlsZVJ1bGU+IFN0eWxlUnVsZTo6Y3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXNCYXNlPiYm
IHByb3BlcnRpZXMsIGJvb2wgaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbiwgQ1NTU2VsZWN0b3JM
aXN0JiYgc2VsZWN0b3JzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZShX
VEZNb3ZlKHByb3BlcnRpZXMpLCBoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luLCBXVEZNb3ZlKHNl
bGVjdG9ycykpKTsKK30KKworUmVmPFN0eWxlUnVsZT4gU3R5bGVSdWxlOjpjb3B5KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGUoKnRoaXMpKTsKK30KKwogY29u
c3QgU3R5bGVQcm9wZXJ0aWVzJiBTdHlsZVJ1bGU6OnByb3BlcnRpZXMoKSBjb25zdAogewogICAg
IGlmIChtX3Byb3BlcnRpZXMtPnR5cGUoKSA9PSBEZWZlcnJlZFByb3BlcnRpZXNUeXBlKQpAQCAt
MjUzLDYgKzI2MywxMSBAQCBTdHlsZVJ1bGVQYWdlOjpTdHlsZVJ1bGVQYWdlKGNvbnN0IFN0eWxl
UnVsZVBhZ2UmIG8pCiAKIFN0eWxlUnVsZVBhZ2U6On5TdHlsZVJ1bGVQYWdlKCkgPSBkZWZhdWx0
OwogCitSZWY8U3R5bGVSdWxlUGFnZT4gU3R5bGVSdWxlUGFnZTo6Y3JlYXRlKFJlZjxTdHlsZVBy
b3BlcnRpZXM+JiYgcHJvcGVydGllcywgQ1NTU2VsZWN0b3JMaXN0JiYgc2VsZWN0b3JzKQorewor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVBhZ2UoV1RGTW92ZShwcm9wZXJ0aWVz
KSwgV1RGTW92ZShzZWxlY3RvcnMpKSk7Cit9CisKIE11dGFibGVTdHlsZVByb3BlcnRpZXMmIFN0
eWxlUnVsZVBhZ2U6Om11dGFibGVQcm9wZXJ0aWVzKCkKIHsKICAgICBpZiAoIWlzPE11dGFibGVT
dHlsZVByb3BlcnRpZXM+KG1fcHJvcGVydGllcy5nZXQoKSkpCkBAIC0yOTksMTUgKzMxNCwxNSBA
QCB2b2lkIERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0OjpwYXJzZURlZmVycmVkS2V5ZnJhbWVz
KFN0eWxlUnVsZUtleWZyYW1lcyYga2V5ZgogICAgIG1fcGFyc2VyLT5wYXJzZUtleWZyYW1lTGlz
dChtX3Rva2Vucywga2V5ZnJhbWVzUnVsZSk7CiB9CiAgICAgCi1TdHlsZVJ1bGVHcm91cDo6U3R5
bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZSB0eXBlLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJh
c2U+PiYgYWRvcHRSdWxlKQorU3R5bGVSdWxlR3JvdXA6OlN0eWxlUnVsZUdyb3VwKFN0eWxlUnVs
ZVR5cGUgdHlwZSwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJiBydWxlcykKICAgICA6
IFN0eWxlUnVsZUJhc2UodHlwZSkKKyAgICAsIG1fY2hpbGRSdWxlcyhXVEZNb3ZlKHJ1bGVzKSkK
IHsKLSAgICBtX2NoaWxkUnVsZXMuc3dhcChhZG9wdFJ1bGUpOwogfQogCi1TdHlsZVJ1bGVHcm91
cDo6U3R5bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZSB0eXBlLCBzdGQ6OnVuaXF1ZV9wdHI8RGVm
ZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYgZGVmZXJyZWRSdWxlcykKK1N0eWxlUnVsZUdyb3Vw
OjpTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlIHR5cGUsIHN0ZDo6dW5pcXVlX3B0cjxEZWZl
cnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBydWxlcykKICAgICA6IFN0eWxlUnVsZUJhc2UodHlw
ZSkKLSAgICAsIG1fZGVmZXJyZWRSdWxlcyhXVEZNb3ZlKGRlZmVycmVkUnVsZXMpKQorICAgICwg
bV9kZWZlcnJlZFJ1bGVzKFdURk1vdmUocnVsZXMpKQogewogfQogCkBAIC0zNDYsMzUgKzM2MSw0
OCBAQCB2b2lkIFN0eWxlUnVsZUdyb3VwOjpwYXJzZURlZmVycmVkUnVsZXNJZk5lZWRlZCgpIGNv
bnN0CiAgICAgbV9kZWZlcnJlZFJ1bGVzID0gbnVsbHB0cjsKIH0KICAgICAKLVN0eWxlUnVsZU1l
ZGlhOjpTdHlsZVJ1bGVNZWRpYShSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwgVmVjdG9yPFJl
ZlB0cjxTdHlsZVJ1bGVCYXNlPj4mIGFkb3B0UnVsZXMpCi0gICAgOiBTdHlsZVJ1bGVHcm91cChT
dHlsZVJ1bGVUeXBlOjpNZWRpYSwgYWRvcHRSdWxlcykKK1N0eWxlUnVsZU1lZGlhOjpTdHlsZVJ1
bGVNZWRpYShSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1
bGVCYXNlPj4mJiBydWxlcykKKyAgICA6IFN0eWxlUnVsZUdyb3VwKFN0eWxlUnVsZVR5cGU6Ok1l
ZGlhLCBXVEZNb3ZlKHJ1bGVzKSkKICAgICAsIG1fbWVkaWFRdWVyaWVzKFdURk1vdmUobWVkaWEp
KQogewogfQogCi1TdHlsZVJ1bGVNZWRpYTo6U3R5bGVSdWxlTWVkaWEoUmVmPE1lZGlhUXVlcnlT
ZXQ+JiYgbWVkaWEsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4m
JiBkZWZlcnJlZFJ1bGVzKQotICAgIDogU3R5bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZTo6TWVk
aWEsIFdURk1vdmUoZGVmZXJyZWRSdWxlcykpCitTdHlsZVJ1bGVNZWRpYTo6U3R5bGVSdWxlTWVk
aWEoUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0
eWxlR3JvdXBSdWxlTGlzdD4mJiBydWxlcykKKyAgICA6IFN0eWxlUnVsZUdyb3VwKFN0eWxlUnVs
ZVR5cGU6Ok1lZGlhLCBXVEZNb3ZlKHJ1bGVzKSkKICAgICAsIG1fbWVkaWFRdWVyaWVzKFdURk1v
dmUobWVkaWEpKQogewogfQogCi1TdHlsZVJ1bGVNZWRpYTo6U3R5bGVSdWxlTWVkaWEoY29uc3Qg
U3R5bGVSdWxlTWVkaWEmIG8pCi0gICAgOiBTdHlsZVJ1bGVHcm91cChvKQorU3R5bGVSdWxlTWVk
aWE6OlN0eWxlUnVsZU1lZGlhKGNvbnN0IFN0eWxlUnVsZU1lZGlhJiBvdGhlcikKKyAgICA6IFN0
eWxlUnVsZUdyb3VwKG90aGVyKQorICAgICwgbV9tZWRpYVF1ZXJpZXMob3RoZXIubV9tZWRpYVF1
ZXJpZXMtPmNvcHkoKSkKK3sKK30KKworUmVmPFN0eWxlUnVsZU1lZGlhPiBTdHlsZVJ1bGVNZWRp
YTo6Y3JlYXRlKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBWZWN0b3I8UmVmUHRyPFN0eWxl
UnVsZUJhc2U+PiYmIHJ1bGVzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVs
ZU1lZGlhKFdURk1vdmUobWVkaWEpLCBXVEZNb3ZlKHJ1bGVzKSkpOworfQorCitSZWY8U3R5bGVS
dWxlTWVkaWE+IFN0eWxlUnVsZU1lZGlhOjpjcmVhdGUoUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVk
aWEsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBkZWZlcnJl
ZENoaWxkUnVsZXMpCiB7Ci0gICAgaWYgKG8ubV9tZWRpYVF1ZXJpZXMpCi0gICAgICAgIG1fbWVk
aWFRdWVyaWVzID0gby5tX21lZGlhUXVlcmllcy0+Y29weSgpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFN0eWxlUnVsZU1lZGlhKFdURk1vdmUobWVkaWEpLCBXVEZNb3ZlKGRlZmVycmVkQ2hp
bGRSdWxlcykpKTsKIH0KIAorUmVmPFN0eWxlUnVsZU1lZGlhPiBTdHlsZVJ1bGVNZWRpYTo6Y29w
eSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlTWVkaWEoKnRo
aXMpKTsKK30KIAotU3R5bGVSdWxlU3VwcG9ydHM6OlN0eWxlUnVsZVN1cHBvcnRzKGNvbnN0IFN0
cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgVmVjdG9yPFJl
ZlB0cjxTdHlsZVJ1bGVCYXNlPj4mIGFkb3B0UnVsZXMpCi0gICAgOiBTdHlsZVJ1bGVHcm91cChT
dHlsZVJ1bGVUeXBlOjpTdXBwb3J0cywgYWRvcHRSdWxlcykKK1N0eWxlUnVsZVN1cHBvcnRzOjpT
dHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJpbmcmIGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0
aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYgcnVsZXMpCisg
ICAgOiBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0cywgV1RGTW92ZShydWxl
cykpCiAgICAgLCBtX2NvbmRpdGlvblRleHQoY29uZGl0aW9uVGV4dCkKICAgICAsIG1fY29uZGl0
aW9uSXNTdXBwb3J0ZWQoY29uZGl0aW9uSXNTdXBwb3J0ZWQpCiB7CiB9CiAKLVN0eWxlUnVsZVN1
cHBvcnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJpbmcmIGNvbmRpdGlvblRleHQsIGJv
b2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3Jv
dXBSdWxlTGlzdD4mJiBkZWZlcnJlZFJ1bGVzKQotICAgIDogU3R5bGVSdWxlR3JvdXAoU3R5bGVS
dWxlVHlwZTo6U3VwcG9ydHMsIFdURk1vdmUoZGVmZXJyZWRSdWxlcykpCitTdHlsZVJ1bGVTdXBw
b3J0czo6U3R5bGVSdWxlU3VwcG9ydHMoY29uc3QgU3RyaW5nJiBjb25kaXRpb25UZXh0LCBib29s
IGNvbmRpdGlvbklzU3VwcG9ydGVkLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3Vw
UnVsZUxpc3Q+JiYgcnVsZXMpCisgICAgOiBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlOjpT
dXBwb3J0cywgV1RGTW92ZShydWxlcykpCiAgICAgLCBtX2NvbmRpdGlvblRleHQoY29uZGl0aW9u
VGV4dCkKICAgICAsIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQoY29uZGl0aW9uSXNTdXBwb3J0ZWQp
CiB7CkBAIC0zODcsNiArNDE1LDE2IEBAIFN0eWxlUnVsZVN1cHBvcnRzOjpTdHlsZVJ1bGVTdXBw
b3J0cyhjb25zdCBTdHlsZVJ1bGVTdXBwb3J0cyYgbykKIHsKIH0KIAorUmVmPFN0eWxlUnVsZVN1
cHBvcnRzPiBTdHlsZVJ1bGVTdXBwb3J0czo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgY29uZGl0aW9u
VGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVC
YXNlPj4mJiBydWxlcykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVTdXBw
b3J0cyhjb25kaXRpb25UZXh0LCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgV1RGTW92ZShydWxlcykp
KTsKK30KKworUmVmPFN0eWxlUnVsZVN1cHBvcnRzPiBTdHlsZVJ1bGVTdXBwb3J0czo6Y3JlYXRl
KGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwg
c3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmIHJ1bGVzKQorewor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1cHBvcnRzKGNvbmRpdGlvblRleHQs
IGNvbmRpdGlvbklzU3VwcG9ydGVkLCBXVEZNb3ZlKHJ1bGVzKSkpOworfQorCiBTdHlsZVJ1bGVD
aGFyc2V0OjpTdHlsZVJ1bGVDaGFyc2V0KCkKICAgICA6IFN0eWxlUnVsZUJhc2UoU3R5bGVSdWxl
VHlwZTo6Q2hhcnNldCkKIHsKQEAgLTM5Nyw5ICs0MzUsNyBAQCBTdHlsZVJ1bGVDaGFyc2V0OjpT
dHlsZVJ1bGVDaGFyc2V0KGNvbnN0IFN0eWxlUnVsZUNoYXJzZXQmIG8pCiB7CiB9CiAKLVN0eWxl
UnVsZUNoYXJzZXQ6On5TdHlsZVJ1bGVDaGFyc2V0KCkgPSBkZWZhdWx0OwotCi1TdHlsZVJ1bGVO
YW1lc3BhY2U6OlN0eWxlUnVsZU5hbWVzcGFjZShBdG9tU3RyaW5nIHByZWZpeCwgQXRvbVN0cmlu
ZyB1cmkpCitTdHlsZVJ1bGVOYW1lc3BhY2U6OlN0eWxlUnVsZU5hbWVzcGFjZShjb25zdCBBdG9t
U3RyaW5nJiBwcmVmaXgsIGNvbnN0IEF0b21TdHJpbmcmIHVyaSkKICAgICA6IFN0eWxlUnVsZUJh
c2UoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlKQogICAgICwgbV9wcmVmaXgocHJlZml4KQogICAg
ICwgbV91cmkodXJpKQpAQCAtNDE1LDQgKzQ1MSw5IEBAIFN0eWxlUnVsZU5hbWVzcGFjZTo6U3R5
bGVSdWxlTmFtZXNwYWNlKGNvbnN0IFN0eWxlUnVsZU5hbWVzcGFjZSYgbykKIAogU3R5bGVSdWxl
TmFtZXNwYWNlOjp+U3R5bGVSdWxlTmFtZXNwYWNlKCkgPSBkZWZhdWx0OwogCitSZWY8U3R5bGVS
dWxlTmFtZXNwYWNlPiBTdHlsZVJ1bGVOYW1lc3BhY2U6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5n
JiBwcmVmaXgsIGNvbnN0IEF0b21TdHJpbmcmIHVyaSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTdHlsZVJ1bGVOYW1lc3BhY2UocHJlZml4LCB1cmkpKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4IGIwOTk5YjU0NzUyNjg0ZmJlODZk
NDYxMTRmMGYwODI4YTM1NTI1MDIuLjA4YTc4NzVmZGFjNTRiODc0ZTg3MTEyZmIxNDEzYWQyMTM0
ZDViYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMp
IDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBE
aXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAw
NiwgMjAwOCwgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKQEAgLTU5LDMwICs1OSwxNSBAQCBwdWJsaWM6CiAKICAgICBSZWY8
U3R5bGVSdWxlQmFzZT4gY29weSgpIGNvbnN0OwogCi0gICAgdm9pZCBkZXJlZigpIGNvbnN0Ci0g
ICAgewotICAgICAgICBpZiAoZGVyZWZCYXNlKCkpCi0gICAgICAgICAgICBjb25zdF9jYXN0PFN0
eWxlUnVsZUJhc2UmPigqdGhpcykuZGVzdHJveSgpOwotICAgIH0KKyAgICB2b2lkIGRlcmVmKCkg
Y29uc3Q7CiAKICAgICAvLyBGSVhNRTogVGhlcmUgc2hvdWxkbid0IGJlIGFueSBuZWVkIGZvciB0
aGUgbnVsbCBwYXJlbnQgdmVyc2lvbi4KICAgICBSZWY8Q1NTUnVsZT4gY3JlYXRlQ1NTT01XcmFw
cGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0ID0gbnVsbHB0cikgY29uc3Q7CiAgICAgUmVm
PENTU1J1bGU+IGNyZWF0ZUNTU09NV3JhcHBlcihDU1NSdWxlKiBwYXJlbnRSdWxlKSBjb25zdDsK
IAogcHJvdGVjdGVkOgotICAgIFN0eWxlUnVsZUJhc2UoU3R5bGVSdWxlVHlwZSB0eXBlLCBib29s
IGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4gPSBmYWxzZSkKLSAgICAgICAgOiBtX3R5cGUoc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KHR5cGUpKQotICAgICAgICAsIG1faGFzRG9jdW1lbnRTZWN1cml0
eU9yaWdpbihoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luKQotICAgIHsKLSAgICB9Ci0KLSAgICBT
dHlsZVJ1bGVCYXNlKGNvbnN0IFN0eWxlUnVsZUJhc2UmIG8pCi0gICAgICAgIDogV1RGOjpSZWZD
b3VudGVkQmFzZSgpCi0gICAgICAgICwgbV90eXBlKG8ubV90eXBlKQotICAgICAgICAsIG1faGFz
RG9jdW1lbnRTZWN1cml0eU9yaWdpbihvLm1faGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbikKLSAg
ICB7Ci0gICAgfQotCisgICAgZXhwbGljaXQgU3R5bGVSdWxlQmFzZShTdHlsZVJ1bGVUeXBlLCBi
b29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4gPSBmYWxzZSk7CisgICAgU3R5bGVSdWxlQmFz
ZShjb25zdCBTdHlsZVJ1bGVCYXNlJik7CiAgICAgflN0eWxlUnVsZUJhc2UoKSA9IGRlZmF1bHQ7
CiAKICAgICBib29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiBt
X2hhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW47IH0KQEAgLTEwMSw0NCArODYsMjUgQEAgREVDTEFS
RV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJRVIoU3R5bGVSdWxlKTsKIGNsYXNzIFN0eWxl
UnVsZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKICAgICBXVEZfTUFLRV9TVFJVQ1Rf
RkFTVF9BTExPQ0FURURfV0lUSF9IRUFQX0lERU5USUZJRVIoU3R5bGVSdWxlKTsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZT4gY3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXNCYXNl
PiYmIHByb3BlcnRpZXMsIGJvb2wgaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbiwgQ1NTU2VsZWN0
b3JMaXN0JiYgc2VsZWN0b3JzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U3R5bGVSdWxlKFdURk1vdmUocHJvcGVydGllcyksIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4s
IFdURk1vdmUoc2VsZWN0b3JzKSkpOwotICAgIH0KLSAgICAKKyAgICBzdGF0aWMgUmVmPFN0eWxl
UnVsZT4gY3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXNCYXNlPiYmLCBib29sIGhhc0RvY3VtZW50
U2VjdXJpdHlPcmlnaW4sIENTU1NlbGVjdG9yTGlzdCYmKTsKKyAgICBSZWY8U3R5bGVSdWxlPiBj
b3B5KCkgY29uc3Q7CiAgICAgflN0eWxlUnVsZSgpOwogCiAgICAgY29uc3QgQ1NTU2VsZWN0b3JM
aXN0JiBzZWxlY3Rvckxpc3QoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdG9yTGlzdDsgfQotICAg
IAorCiAgICAgY29uc3QgU3R5bGVQcm9wZXJ0aWVzJiBwcm9wZXJ0aWVzKCkgY29uc3Q7CiAgICAg
TXV0YWJsZVN0eWxlUHJvcGVydGllcyYgbXV0YWJsZVByb3BlcnRpZXMoKTsKICAgICBjb25zdCBT
dHlsZVByb3BlcnRpZXMqIHByb3BlcnRpZXNXaXRob3V0RGVmZXJyZWRQYXJzaW5nKCkgY29uc3Q7
CiAKICAgICB1c2luZyBTdHlsZVJ1bGVCYXNlOjpoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luOwog
Ci0gICAgdm9pZCB3cmFwcGVyQWRvcHRTZWxlY3Rvckxpc3QoQ1NTU2VsZWN0b3JMaXN0JiYgc2Vs
ZWN0b3JzKQotICAgIHsKLSAgICAgICAgbV9zZWxlY3Rvckxpc3QgPSBXVEZNb3ZlKHNlbGVjdG9y
cyk7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUl9KSVQpCi0gICAgICAgIG1fY29tcGlsZWRTZWxl
Y3RvcnMgPSBudWxscHRyOwotI2VuZGlmCi0gICAgfQotCi0gICAgUmVmPFN0eWxlUnVsZT4gY29w
eSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlKCp0aGlzKSk7IH0KKyAg
ICB2b2lkIHdyYXBwZXJBZG9wdFNlbGVjdG9yTGlzdChDU1NTZWxlY3Rvckxpc3QmJik7CiAKICAg
ICBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZT4+IHNwbGl0SW50b011bHRpcGxlUnVsZXNXaXRoTWF4
aW11bVNlbGVjdG9yQ29tcG9uZW50Q291bnQodW5zaWduZWQpIGNvbnN0OwogCiAjaWYgRU5BQkxF
KENTU19TRUxFQ1RPUl9KSVQpCi0gICAgQ29tcGlsZWRTZWxlY3RvciYgY29tcGlsZWRTZWxlY3Rv
ckZvckxpc3RJbmRleCh1bnNpZ25lZCBpbmRleCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmICgh
bV9jb21waWxlZFNlbGVjdG9ycykKLSAgICAgICAgICAgIG1fY29tcGlsZWRTZWxlY3RvcnMgPSBt
YWtlVW5pcXVlQXJyYXk8Q29tcGlsZWRTZWxlY3Rvcj4obV9zZWxlY3Rvckxpc3QubGlzdFNpemUo
KSk7Ci0gICAgICAgIHJldHVybiBtX2NvbXBpbGVkU2VsZWN0b3JzW2luZGV4XTsKLSAgICB9Ci0g
ICAgdm9pZCByZWxlYXNlQ29tcGlsZWRTZWxlY3RvcnMoKSBjb25zdAotICAgIHsKLSAgICAgICAg
bV9jb21waWxlZFNlbGVjdG9ycyA9IG51bGxwdHI7Ci0gICAgfQorICAgIENvbXBpbGVkU2VsZWN0
b3ImIGNvbXBpbGVkU2VsZWN0b3JGb3JMaXN0SW5kZXgodW5zaWduZWQgaW5kZXgpIGNvbnN0Owor
ICAgIHZvaWQgcmVsZWFzZUNvbXBpbGVkU2VsZWN0b3JzKCkgY29uc3QgeyBtX2NvbXBpbGVkU2Vs
ZWN0b3JzID0gbnVsbHB0cjsgfQogI2VuZGlmCiAKICAgICBzdGF0aWMgdW5zaWduZWQgYXZlcmFn
ZVNpemVJbkJ5dGVzKCk7CkBAIC0xNTcsMTEgKzEyMyw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07
CiAKLWlubGluZSBjb25zdCBTdHlsZVByb3BlcnRpZXMqIFN0eWxlUnVsZTo6cHJvcGVydGllc1dp
dGhvdXREZWZlcnJlZFBhcnNpbmcoKSBjb25zdAotewotICAgIHJldHVybiBtX3Byb3BlcnRpZXMt
PnR5cGUoKSAhPSBEZWZlcnJlZFByb3BlcnRpZXNUeXBlID8gJmRvd25jYXN0PFN0eWxlUHJvcGVy
dGllcz4obV9wcm9wZXJ0aWVzLmdldCgpKSA6IG51bGxwdHI7Ci19Ci0KIGNsYXNzIFN0eWxlUnVs
ZUZvbnRGYWNlIGZpbmFsIDogcHVibGljIFN0eWxlUnVsZUJhc2UgewogcHVibGljOgogICAgIHN0
YXRpYyBSZWY8U3R5bGVSdWxlRm9udEZhY2U+IGNyZWF0ZShSZWY8U3R5bGVQcm9wZXJ0aWVzPiYm
IHByb3BlcnRpZXMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlRm9udEZhY2UoV1RG
TW92ZShwcm9wZXJ0aWVzKSkpOyB9CkBAIC0xODIsNyArMTQzLDcgQEAgcHJpdmF0ZToKIAogY2xh
c3MgU3R5bGVSdWxlUGFnZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZVBhZ2U+IGNyZWF0ZShSZWY8U3R5bGVQcm9wZXJ0aWVz
PiYmIHByb3BlcnRpZXMsIENTU1NlbGVjdG9yTGlzdCYmIHNlbGVjdG9ycykgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTdHlsZVJ1bGVQYWdlKFdURk1vdmUocHJvcGVydGllcyksIFdURk1vdmUoc2Vs
ZWN0b3JzKSkpOyB9CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVQYWdlPiBjcmVhdGUoUmVmPFN0
eWxlUHJvcGVydGllcz4mJiwgQ1NTU2VsZWN0b3JMaXN0JiYpOwogCiAgICAgflN0eWxlUnVsZVBh
Z2UoKTsKIApAQCAtMjI0LDcgKzE4NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdyYXBwZXJSZW1v
dmVSdWxlKHVuc2lnbmVkKTsKICAgICAKIHByb3RlY3RlZDoKLSAgICBTdHlsZVJ1bGVHcm91cChT
dHlsZVJ1bGVUeXBlLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYpOworICAgIFN0eWxl
UnVsZUdyb3VwKFN0eWxlUnVsZVR5cGUsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYp
OwogICAgIFN0eWxlUnVsZUdyb3VwKFN0eWxlUnVsZVR5cGUsIHN0ZDo6dW5pcXVlX3B0cjxEZWZl
cnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJik7CiAgICAgU3R5bGVSdWxlR3JvdXAoY29uc3QgU3R5
bGVSdWxlR3JvdXAmKTsKICAgICAKQEAgLTIzNSw1NSArMTk2LDM0IEBAIHByaXZhdGU6CiAgICAg
bXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+IG1fZGVm
ZXJyZWRSdWxlczsKIH07CiAKLWlubGluZSBjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJh
c2U+PiogU3R5bGVSdWxlR3JvdXA6OmNoaWxkUnVsZXNXaXRob3V0RGVmZXJyZWRQYXJzaW5nKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gIW1fZGVmZXJyZWRSdWxlcyA/ICZtX2NoaWxkUnVsZXMgOiBu
dWxscHRyOwotfQotCiBjbGFzcyBTdHlsZVJ1bGVNZWRpYSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1
bGVHcm91cCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVNZWRpYT4gY3JlYXRl
KFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+
PiYgYWRvcHRSdWxlcykKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxl
UnVsZU1lZGlhKFdURk1vdmUobWVkaWEpLCBhZG9wdFJ1bGVzKSk7Ci0gICAgfQotCi0gICAgc3Rh
dGljIFJlZjxTdHlsZVJ1bGVNZWRpYT4gY3JlYXRlKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlh
LCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYgZGVmZXJyZWRD
aGlsZFJ1bGVzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxl
TWVkaWEoV1RGTW92ZShtZWRpYSksIFdURk1vdmUoZGVmZXJyZWRDaGlsZFJ1bGVzKSkpOwotICAg
IH0KLQotICAgIE1lZGlhUXVlcnlTZXQqIG1lZGlhUXVlcmllcygpIGNvbnN0IHsgcmV0dXJuIG1f
bWVkaWFRdWVyaWVzLmdldCgpOyB9CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVNZWRpYT4gY3Jl
YXRlKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYm
KTsKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZU1lZGlhPiBjcmVhdGUoUmVmPE1lZGlhUXVlcnlT
ZXQ+JiYsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJik7Cisg
ICAgUmVmPFN0eWxlUnVsZU1lZGlhPiBjb3B5KCkgY29uc3Q7CiAKLSAgICBSZWY8U3R5bGVSdWxl
TWVkaWE+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZU1lZGlh
KCp0aGlzKSk7IH0KKyAgICBNZWRpYVF1ZXJ5U2V0JiBtZWRpYVF1ZXJpZXMoKSBjb25zdCB7IHJl
dHVybiBtX21lZGlhUXVlcmllczsgfQogCiBwcml2YXRlOgotICAgIFN0eWxlUnVsZU1lZGlhKFJl
ZjxNZWRpYVF1ZXJ5U2V0PiYmLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgYWRvcHRS
dWxlcyk7CisgICAgU3R5bGVSdWxlTWVkaWEoUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIFZlY3RvcjxS
ZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYpOwogICAgIFN0eWxlUnVsZU1lZGlhKFJlZjxNZWRpYVF1
ZXJ5U2V0PiYmLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYp
OwogICAgIFN0eWxlUnVsZU1lZGlhKGNvbnN0IFN0eWxlUnVsZU1lZGlhJik7CiAKLSAgICBSZWZQ
dHI8TWVkaWFRdWVyeVNldD4gbV9tZWRpYVF1ZXJpZXM7CisgICAgUmVmPE1lZGlhUXVlcnlTZXQ+
IG1fbWVkaWFRdWVyaWVzOwogfTsKIAogY2xhc3MgU3R5bGVSdWxlU3VwcG9ydHMgZmluYWwgOiBw
dWJsaWMgU3R5bGVSdWxlR3JvdXAgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxl
U3VwcG9ydHM+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0
aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBhZG9wdFJ1bGVz
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlU3VwcG9ydHMo
Y29uZGl0aW9uVGV4dCwgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIGFkb3B0UnVsZXMpKTsKLSAgICB9
Ci0gICAgCi0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVTdXBwb3J0cz4gY3JlYXRlKGNvbnN0IFN0
cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgc3RkOjp1bmlx
dWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmIGRlZmVycmVkQ2hpbGRSdWxlcykK
LSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1cHBvcnRzKGNv
bmRpdGlvblRleHQsIGNvbmRpdGlvbklzU3VwcG9ydGVkLCBXVEZNb3ZlKGRlZmVycmVkQ2hpbGRS
dWxlcykpKTsKLSAgICB9CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVTdXBwb3J0cz4gY3JlYXRl
KGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwg
VmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJik7CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1
bGVTdXBwb3J0cz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25k
aXRpb25Jc1N1cHBvcnRlZCwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVM
aXN0PiYmKTsKKyAgICBSZWY8U3R5bGVSdWxlU3VwcG9ydHM+IGNvcHkoKSBjb25zdCB7IHJldHVy
biBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1cHBvcnRzKCp0aGlzKSk7IH0KIAogICAgIFN0cmlu
ZyBjb25kaXRpb25UZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb25kaXRpb25UZXh0OyB9CiAgICAg
Ym9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29uZGl0aW9uSXNT
dXBwb3J0ZWQ7IH0KLSAgICBSZWY8U3R5bGVSdWxlU3VwcG9ydHM+IGNvcHkoKSBjb25zdCB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1cHBvcnRzKCp0aGlzKSk7IH0KIAogcHJpdmF0
ZToKLSAgICBTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJpbmcmIGNvbmRpdGlvblRleHQsIGJv
b2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiBh
ZG9wdFJ1bGVzKTsKKyAgICBTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJpbmcmIGNvbmRpdGlv
blRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxl
QmFzZT4+JiYpOwogICAgIFN0eWxlUnVsZVN1cHBvcnRzKGNvbnN0IFN0cmluZyYgY29uZGl0aW9u
VGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVk
U3R5bGVHcm91cFJ1bGVMaXN0PiYmKTsKLSAgICAKICAgICBTdHlsZVJ1bGVTdXBwb3J0cyhjb25z
dCBTdHlsZVJ1bGVTdXBwb3J0cyYpOwogCiAgICAgU3RyaW5nIG1fY29uZGl0aW9uVGV4dDsKQEAg
LTI5MywyMyArMjMzLDE3IEBAIHByaXZhdGU6CiAvLyBUaGlzIGlzIG9ubHkgdXNlZCBieSB0aGUg
Q1NTIHBhcnNlci4KIGNsYXNzIFN0eWxlUnVsZUNoYXJzZXQgZmluYWwgOiBwdWJsaWMgU3R5bGVS
dWxlQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVDaGFyc2V0PiBjcmVh
dGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUNoYXJzZXQoKSk7IH0KLSAgICAK
LSAgICB+U3R5bGVSdWxlQ2hhcnNldCgpOwotICAgIAorICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxl
Q2hhcnNldD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVDaGFyc2V0
KTsgfQogICAgIFJlZjxTdHlsZVJ1bGVDaGFyc2V0PiBjb3B5KCkgY29uc3QgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTdHlsZVJ1bGVDaGFyc2V0KCp0aGlzKSk7IH0KIAogcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBTdHlsZVJ1bGVDaGFyc2V0KCk7CisgICAgU3R5bGVSdWxlQ2hhcnNldCgpOwogICAg
IFN0eWxlUnVsZUNoYXJzZXQoY29uc3QgU3R5bGVSdWxlQ2hhcnNldCYpOwogfTsKIAogY2xhc3Mg
U3R5bGVSdWxlTmFtZXNwYWNlIGZpbmFsIDogcHVibGljIFN0eWxlUnVsZUJhc2UgewogcHVibGlj
OgotICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlTmFtZXNwYWNlPiBjcmVhdGUoQXRvbVN0cmluZyBw
cmVmaXgsIEF0b21TdHJpbmcgdXJpKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU3R5bGVSdWxlTmFtZXNwYWNlKHByZWZpeCwgdXJpKSk7Ci0gICAgfQorICAgIHN0YXRpYyBS
ZWY8U3R5bGVSdWxlTmFtZXNwYWNlPiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgcHJlZml4LCBj
b25zdCBBdG9tU3RyaW5nJiB1cmkpOwogICAgIAogICAgIH5TdHlsZVJ1bGVOYW1lc3BhY2UoKTsK
IApAQCAtMzE5LDEzICsyNTMsNjEgQEAgcHVibGljOgogICAgIEF0b21TdHJpbmcgdXJpKCkgY29u
c3QgeyByZXR1cm4gbV91cmk7IH0KIAogcHJpdmF0ZToKLSAgICBTdHlsZVJ1bGVOYW1lc3BhY2Uo
QXRvbVN0cmluZyBwcmVmaXgsIEF0b21TdHJpbmcgdXJpKTsKKyAgICBTdHlsZVJ1bGVOYW1lc3Bh
Y2UoY29uc3QgQXRvbVN0cmluZyYgcHJlZml4LCBjb25zdCBBdG9tU3RyaW5nJiB1cmkpOwogICAg
IFN0eWxlUnVsZU5hbWVzcGFjZShjb25zdCBTdHlsZVJ1bGVOYW1lc3BhY2UmKTsKLSAgICAKKwog
ICAgIEF0b21TdHJpbmcgbV9wcmVmaXg7CiAgICAgQXRvbVN0cmluZyBtX3VyaTsKIH07CiAgICAg
CitpbmxpbmUgU3R5bGVSdWxlQmFzZTo6U3R5bGVSdWxlQmFzZShTdHlsZVJ1bGVUeXBlIHR5cGUs
IGJvb2wgaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbikKKyAgICA6IG1fdHlwZShzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4odHlwZSkpCisgICAgLCBtX2hhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4oaGFz
RG9jdW1lbnRTZWN1cml0eU9yaWdpbikKK3sKK30KKworaW5saW5lIFN0eWxlUnVsZUJhc2U6OlN0
eWxlUnVsZUJhc2UoY29uc3QgU3R5bGVSdWxlQmFzZSYgbykKKyAgICA6IFdURjo6UmVmQ291bnRl
ZEJhc2UoKQorICAgICwgbV90eXBlKG8ubV90eXBlKQorICAgICwgbV9oYXNEb2N1bWVudFNlY3Vy
aXR5T3JpZ2luKG8ubV9oYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luKQoreworfQorCitpbmxpbmUg
dm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXJlZigpIGNvbnN0Cit7CisgICAgaWYgKGRlcmVmQmFzZSgp
KQorICAgICAgICBjb25zdF9jYXN0PFN0eWxlUnVsZUJhc2UmPigqdGhpcykuZGVzdHJveSgpOwor
fQorCitpbmxpbmUgdm9pZCBTdHlsZVJ1bGU6OndyYXBwZXJBZG9wdFNlbGVjdG9yTGlzdChDU1NT
ZWxlY3Rvckxpc3QmJiBzZWxlY3RvcnMpCit7CisgICAgbV9zZWxlY3Rvckxpc3QgPSBXVEZNb3Zl
KHNlbGVjdG9ycyk7CisjaWYgRU5BQkxFKENTU19TRUxFQ1RPUl9KSVQpCisgICAgbV9jb21waWxl
ZFNlbGVjdG9ycyA9IG51bGxwdHI7CisjZW5kaWYKK30KKworI2lmIEVOQUJMRShDU1NfU0VMRUNU
T1JfSklUKQorCitpbmxpbmUgQ29tcGlsZWRTZWxlY3RvciYgU3R5bGVSdWxlOjpjb21waWxlZFNl
bGVjdG9yRm9yTGlzdEluZGV4KHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIGlmICghbV9j
b21waWxlZFNlbGVjdG9ycykKKyAgICAgICAgbV9jb21waWxlZFNlbGVjdG9ycyA9IG1ha2VVbmlx
dWVBcnJheTxDb21waWxlZFNlbGVjdG9yPihtX3NlbGVjdG9yTGlzdC5saXN0U2l6ZSgpKTsKKyAg
ICByZXR1cm4gbV9jb21waWxlZFNlbGVjdG9yc1tpbmRleF07Cit9CisKKyNlbmRpZgorCitpbmxp
bmUgY29uc3QgU3R5bGVQcm9wZXJ0aWVzKiBTdHlsZVJ1bGU6OnByb3BlcnRpZXNXaXRob3V0RGVm
ZXJyZWRQYXJzaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9wcm9wZXJ0aWVzLT50eXBlKCkg
IT0gRGVmZXJyZWRQcm9wZXJ0aWVzVHlwZSA/ICZkb3duY2FzdDxTdHlsZVByb3BlcnRpZXM+KG1f
cHJvcGVydGllcy5nZXQoKSkgOiBudWxscHRyOworfQorCitpbmxpbmUgY29uc3QgVmVjdG9yPFJl
ZlB0cjxTdHlsZVJ1bGVCYXNlPj4qIFN0eWxlUnVsZUdyb3VwOjpjaGlsZFJ1bGVzV2l0aG91dERl
ZmVycmVkUGFyc2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuICFtX2RlZmVycmVkUnVsZXMgPyAm
bV9jaGlsZFJ1bGVzIDogbnVsbHB0cjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiBT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZSkKQEAgLTM1Mywx
MCArMzM1LDkgQEAgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpTdHlsZVJ1
bGVOYW1lc3BhY2UpCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCiAKIFNQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlS2V5ZnJhbWUpCi1zdGF0aWMgYm9v
bCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVs
ZS5pc0tleWZyYW1lUnVsZSgpOyB9CisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNv
cmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUuaXNLZXlmcmFtZVJ1bGUoKTsg
fQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUNoYXJzZXQpCi1zdGF0aWMgYm9vbCBpc1R5cGUoY29u
c3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0NoYXJzZXRS
dWxlKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxl
QmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0NoYXJzZXRSdWxlKCk7IH0KIFNQRUNJQUxJWkVf
VFlQRV9UUkFJVFNfRU5EKCkKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
U2hlZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsCmluZGV4IDAyMzg1
MGIzNDI2MGEzM2NmZTliMDQ4NmQ5NGRhOTExYjA3OGJhMTMuLjlkZGViZDg1NDRlZDRlMDRkNWUx
M2RmMWU0OTg3OTc4YWY3YjcwOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVNoZWV0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGwKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNi0yMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBT
YW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yMSw2
ICsyMSw3IEBACiBbCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKICAgICBFeHBvcnRUb1dyYXBwZWRG
dW5jdGlvbiwKKyAgICBFeHBvc2VkPVdpbmRvdywKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlLAog
ICAgIEpTQ3VzdG9tSGVhZGVyLAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLApAQCAtMzEsNSAr
MzIsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNoZWV0IHBhcmVudFN0eWxlU2hl
ZXQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gaHJlZjsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyB0aXRsZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVk
aWFMaXN0IG1lZGlhOworICAgIFtTYW1lT2JqZWN0LCBQdXRGb3J3YXJkcz1tZWRpYVRleHRdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUxpc3QgbWVkaWE7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVTaGVldENvbnRlbnRzLmNwcAppbmRleCA5OGI4ZGNmYzBhYjA5YWMxYjcwMGFhYzE4MmIy
ZGMwYmI1ZThiMzkwLi5kMzU4YjNiODdjOWU0NzQwN2VjYmMxZjczYzFhNjU1ZGEzYWQxYWJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcApAQCAtMTUyLDcgKzE1
Miw3IEBAIHZvaWQgU3R5bGVTaGVldENvbnRlbnRzOjpwYXJzZXJBcHBlbmRSdWxlKFJlZjxTdHls
ZVJ1bGVCYXNlPiYmIHJ1bGUpCiAgICAgfQogCiAgICAgaWYgKGlzPFN0eWxlUnVsZU1lZGlhPihy
dWxlKSkKLSAgICAgICAgcmVwb3J0TWVkaWFRdWVyeVdhcm5pbmdJZk5lZWRlZChzaW5nbGVPd25l
ckRvY3VtZW50KCksIGRvd25jYXN0PFN0eWxlUnVsZU1lZGlhPihydWxlLmdldCgpKS5tZWRpYVF1
ZXJpZXMoKSk7CisgICAgICAgIHJlcG9ydE1lZGlhUXVlcnlXYXJuaW5nSWZOZWVkZWQoc2luZ2xl
T3duZXJEb2N1bWVudCgpLCAmZG93bmNhc3Q8U3R5bGVSdWxlTWVkaWE+KHJ1bGUuZ2V0KCkpLm1l
ZGlhUXVlcmllcygpKTsKIAogICAgIC8vIE5PVEU6IFRoZSBzZWxlY3RvciBsaXN0IGhhcyB0byBm
aXQgaW50byBSdWxlRGF0YS4gPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE4MzY5PgogICAgIC8vIElm
IHdlJ3JlIGFkZGluZyBhIHJ1bGUgd2l0aCBhIGh1Z2UgbnVtYmVyIG9mIHNlbGVjdG9ycywgc3Bs
aXQgaXQgdXAgaW50byBtdWx0aXBsZSBydWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlU2hlZXRMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0TGlz
dC5pZGwKaW5kZXggMTEzOWQzMTcxZDY3YWNmMGVmYjM1OWYwOWJjZTRkYzg0NzM4Y2EwOS4uODc5
MTlmMjZkYzljMTFlOTE3MmY1OWY5YmU5MWIzOGZkNzAyMDU4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVTaGVldExpc3QuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwNiwgMjAwNywgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAg
KgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgpAQCAtMjAsNiArMjAsNyBAQAogCiBbCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVu
Y3Rpb24sCisgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBs
T3duZXJOb2RlUm9vdCwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZh
Y2UgU3R5bGVTaGVldExpc3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2Vy
SW1wbC5jcHAKaW5kZXggNjAzNDhiZGZiNzBlYjRhZGM0NmMwYTcyYjk1NjI0YWM4NDU5ODQ1Yi4u
MzE0Nzg0NmM4YmY0NTNkNTI4Y2UxZDlhMjFhMWRhYTcyYWI4NDhkNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC01NTAsMTIgKzU1MCwxMiBAQCBS
ZWZQdHI8U3R5bGVSdWxlTWVkaWE+IENTU1BhcnNlckltcGw6OmNvbnN1bWVNZWRpYVJ1bGUoQ1NT
UGFyc2VyVG9rZW5SYW5nZSBwcmVsdQogICAgIGlmIChtX29ic2VydmVyV3JhcHBlcikKICAgICAg
ICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVsZUJvZHkobV9vYnNlcnZlcldy
YXBwZXItPmVuZE9mZnNldChibG9jaykpOwogCi0gICAgcmV0dXJuIFN0eWxlUnVsZU1lZGlhOjpj
cmVhdGUoTWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VNZWRpYVF1ZXJ5U2V0KHByZWx1ZGUsIE1lZGlh
UXVlcnlQYXJzZXJDb250ZXh0KG1fY29udGV4dCkpLnJlbGVhc2VOb25OdWxsKCksIHJ1bGVzKTsK
KyAgICByZXR1cm4gU3R5bGVSdWxlTWVkaWE6OmNyZWF0ZShNZWRpYVF1ZXJ5UGFyc2VyOjpwYXJz
ZU1lZGlhUXVlcnlTZXQocHJlbHVkZSwgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQobV9jb250ZXh0
KSkucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShydWxlcykpOwogfQogCiBSZWZQdHI8U3R5bGVS
dWxlU3VwcG9ydHM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVTdXBwb3J0c1J1bGUoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKQogewotICAgIENT
U1N1cHBvcnRzUGFyc2VyOjpTdXBwb3J0c1Jlc3VsdCBzdXBwb3J0ZWQgPSBDU1NTdXBwb3J0c1Bh
cnNlcjo6c3VwcG9ydHNDb25kaXRpb24ocHJlbHVkZSwgKnRoaXMsIENTU1N1cHBvcnRzUGFyc2Vy
OjpGb3JBdFJ1bGUpOworICAgIGF1dG8gc3VwcG9ydGVkID0gQ1NTU3VwcG9ydHNQYXJzZXI6OnN1
cHBvcnRzQ29uZGl0aW9uKHByZWx1ZGUsICp0aGlzLCBDU1NTdXBwb3J0c1BhcnNlcjo6Rm9yQXRS
dWxlKTsKICAgICBpZiAoc3VwcG9ydGVkID09IENTU1N1cHBvcnRzUGFyc2VyOjpJbnZhbGlkKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsgLy8gUGFyc2UgZXJyb3IsIGludmFsaWQgQHN1cHBvcnRz
IGNvbmRpdGlvbgogCkBAIC01NzcsNyArNTc3LDcgQEAgUmVmUHRyPFN0eWxlUnVsZVN1cHBvcnRz
PiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lU3VwcG9ydHNSdWxlKENTU1BhcnNlclRva2VuUmFuZ2UK
ICAgICBpZiAobV9vYnNlcnZlcldyYXBwZXIpCiAgICAgICAgIG1fb2JzZXJ2ZXJXcmFwcGVyLT5v
YnNlcnZlcigpLmVuZFJ1bGVCb2R5KG1fb2JzZXJ2ZXJXcmFwcGVyLT5lbmRPZmZzZXQoYmxvY2sp
KTsKIAotICAgIHJldHVybiBTdHlsZVJ1bGVTdXBwb3J0czo6Y3JlYXRlKHByZWx1ZGUuc2VyaWFs
aXplKCkuc3RyaXBXaGl0ZVNwYWNlKCksIHN1cHBvcnRlZCwgcnVsZXMpOworICAgIHJldHVybiBT
dHlsZVJ1bGVTdXBwb3J0czo6Y3JlYXRlKHByZWx1ZGUuc2VyaWFsaXplKCkuc3RyaXBXaGl0ZVNw
YWNlKCksIHN1cHBvcnRlZCwgV1RGTW92ZShydWxlcykpOwogfQogCiBSZWZQdHI8U3R5bGVSdWxl
Rm9udEZhY2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250RmFjZVJ1bGUoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJsb2NrKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9S
dWxlU2V0LmNwcAppbmRleCA2ZmZkYTkyMzAxZjRhZTYwNzYxYjQ0NzljNjg1YWUzMTMwNDIzNWRl
Li4zMGU0ODQ5ZmVhYTdiMzkzMTYxZGYyYzI4NDU2OGViYWViMTQ4MTllIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9SdWxlU2V0LmNwcApAQCAtMjgyLDkgKzI4Miw5IEBAIHZvaWQgUnVsZVNldDo6YWRkQ2hpbGRS
dWxlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgcnVsZXMsIE1lZGlhUXVl
CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlzPFN0eWxlUnVsZU1lZGlhPigqcnVsZSkpIHsKICAg
ICAgICAgICAgIGF1dG8mIG1lZGlhUnVsZSA9IGRvd25jYXN0PFN0eWxlUnVsZU1lZGlhPigqcnVs
ZSk7Ci0gICAgICAgICAgICBpZiAobWVkaWFRdWVyeUNvbGxlY3Rvci5wdXNoQW5kRXZhbHVhdGUo
bWVkaWFSdWxlLm1lZGlhUXVlcmllcygpKSkKKyAgICAgICAgICAgIGlmIChtZWRpYVF1ZXJ5Q29s
bGVjdG9yLnB1c2hBbmRFdmFsdWF0ZSgmbWVkaWFSdWxlLm1lZGlhUXVlcmllcygpKSkKICAgICAg
ICAgICAgICAgICBhZGRDaGlsZFJ1bGVzKG1lZGlhUnVsZS5jaGlsZFJ1bGVzKCksIG1lZGlhUXVl
cnlDb2xsZWN0b3IsIHJlc29sdmVyLCBtb2RlKTsKLSAgICAgICAgICAgIG1lZGlhUXVlcnlDb2xs
ZWN0b3IucG9wKG1lZGlhUnVsZS5tZWRpYVF1ZXJpZXMoKSk7CisgICAgICAgICAgICBtZWRpYVF1
ZXJ5Q29sbGVjdG9yLnBvcCgmbWVkaWFSdWxlLm1lZGlhUXVlcmllcygpKTsKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGlmIChpczxTdHlsZVJ1bGVGb250RmFjZT4o
KnJ1bGUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHls
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXggY2U2
MzU2MGI0NjMxOTE1Njg4YzQ5MTMyOGU5NDJlNTkzYThkMDRhNS4uZjQxYjhmMjA1ZWI4OTI3OTQ0
NDYxNTRjNGIyYzgxMThmODZhMDE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0
eWxlLmNwcApAQCAtMTY4LDEyICsxNjgsMTAgQEAgdm9pZCBVc2VyQWdlbnRTdHlsZTo6YWRkVG9E
ZWZhdWx0U3R5bGUoU3R5bGVTaGVldENvbnRlbnRzJiBzaGVldCkKICAgICAgICAgaWYgKCFpczxT
dHlsZVJ1bGVNZWRpYT4oKnJ1bGUpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGF1
dG8mIG1lZGlhUnVsZSA9IGRvd25jYXN0PFN0eWxlUnVsZU1lZGlhPigqcnVsZSk7Ci0gICAgICAg
IGF1dG8qIG1lZGlhUXVlcnkgPSBtZWRpYVJ1bGUubWVkaWFRdWVyaWVzKCk7Ci0gICAgICAgIGlm
ICghbWVkaWFRdWVyeSkKKyAgICAgICAgYXV0byYgbWVkaWFRdWVyeSA9IG1lZGlhUnVsZS5tZWRp
YVF1ZXJpZXMoKTsKKyAgICAgICAgaWYgKHNjcmVlbkV2YWwoKS5ldmFsdWF0ZShtZWRpYVF1ZXJ5
LCBudWxscHRyKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpZiAoc2NyZWVuRXZh
bCgpLmV2YWx1YXRlKCptZWRpYVF1ZXJ5LCBudWxscHRyKSkKLSAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICBpZiAocHJpbnRFdmFsKCkuZXZhbHVhdGUoKm1lZGlhUXVlcnksIG51bGxwdHIp
KQorICAgICAgICBpZiAocHJpbnRFdmFsKCkuZXZhbHVhdGUobWVkaWFRdWVyeSwgbnVsbHB0cikp
CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgbWVkaWFRdWVyeVN0eWxlU2hlZXQtPnBh
cnNlckFwcGVuZFJ1bGUobWVkaWFSdWxlLmNvcHkoKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUNTUy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0RPTS9ET01DU1MubW0KaW5kZXggMmJiNTJmMmE2ZDIwMzIzZTVlZWM4NTk3ZjM4NGZmYWZi
ODNhZDgwNy4uZjBiZDljM2YyNmRmYmZhMWZiZjNhZmU1MTFmMmNmZWMwMGM5MTQwMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUNTUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9ET00vRE9NQ1NTLm1tCkBAIC03NSwxNCArNzUsOSBAQCBDbGFzcyBr
aXRDbGFzcyhXZWJDb3JlOjpDU1NSdWxlKiBpbXBsKQogICAgICAgICByZXR1cm4gW0RPTUNTU0Zv
bnRGYWNlUnVsZSBjbGFzc107CiAgICAgY2FzZSBXZWJDb3JlOjpDU1NSdWxlOjpQQUdFX1JVTEU6
CiAgICAgICAgIHJldHVybiBbRE9NQ1NTUGFnZVJ1bGUgY2xhc3NdOwotICAgIGNhc2UgV2ViQ29y
ZTo6Q1NTUnVsZTo6S0VZRlJBTUVTX1JVTEU6Ci0gICAgY2FzZSBXZWJDb3JlOjpDU1NSdWxlOjpO
QU1FU1BBQ0VfUlVMRToKLSAgICBjYXNlIFdlYkNvcmU6OkNTU1J1bGU6OktFWUZSQU1FX1JVTEU6
Ci0gICAgY2FzZSBXZWJDb3JlOjpDU1NSdWxlOjpTVVBQT1JUU19SVUxFOgorICAgIGRlZmF1bHQ6
CiAgICAgICAgIHJldHVybiBbRE9NQ1NTUnVsZSBjbGFzc107CiAgICAgfQotICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBuaWw7CiB9CiAKIC8vLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCkBAIC05NSwxMiArOTAsOSBAQCBDbGFzcyBraXRDbGFzcyhXZWJDb3Jl
OjpEZXByZWNhdGVkQ1NTT01WYWx1ZSogaW1wbCkKICAgICAgICAgcmV0dXJuIFtET01DU1NQcmlt
aXRpdmVWYWx1ZSBjbGFzc107CiAgICAgY2FzZSBXZWJDb3JlOjpEZXByZWNhdGVkQ1NTT01WYWx1
ZTo6Q1NTX1ZBTFVFX0xJU1Q6CiAgICAgICAgIHJldHVybiBbRE9NQ1NTVmFsdWVMaXN0IGNsYXNz
XTsKLSAgICBjYXNlIFdlYkNvcmU6OkRlcHJlY2F0ZWRDU1NPTVZhbHVlOjpDU1NfSU5IRVJJVDoK
LSAgICBjYXNlIFdlYkNvcmU6OkRlcHJlY2F0ZWRDU1NPTVZhbHVlOjpDU1NfQ1VTVE9NOgorICAg
IGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBbRE9NQ1NTVmFsdWUgY2xhc3NdOwogICAgIH0KLSAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gbmlsOwogfQogCiAvLy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggYmU5OTVmODBlNzA3ZWM0MTMwMWEyZTI2NGYwZmI4MmZlMDBmNjRhOC4uYTRkNGRkMmU2MDQ5
M2FlOTA2MmQ3OTI3MDFjNzdlNGNhMWEzYjcwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDktMjIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBDU1NDb25kaXRpb25SdWxlIGFuZCBDU1NHcm91cGluZ1J1
bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjg1
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jb25kaXRpb25hbC9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2lkbGhhcm5lc3MtZXhwZWN0
ZWQudHh0OgorICAgICAgICBVcGRhdGVkIGV4cGVjdGF0aW9ucyB0byBleHBlY3QgbW9yZSB0ZXN0
cyB0byBwYXNzLgorCiAyMDIwLTA5LTIyICBTYW0gU25lZGRvbiAgPGdzbmVkZGVyc0BhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjY3MzU0KTogT25seSBpbXBvcnQgcmVzb3VyY2Ug
bW9kdWxlIG9uIERhcndpbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY29uZGl0aW9uYWwvaWRsaGFybmVzcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jb25kaXRp
b25hbC9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCBiMWI0NDFmOTk5Y2JhNzU5ZjIyOTRm
YTQ3ZWY4MmJjMmE3MmZlZTc1Li5kMjcwMWVhYjcyODRlYjYwNjE0MDIyNjcwYTRiMTEwZDJjYzli
NWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jb25kaXRpb25hbC9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jb25kaXRpb25hbC9pZGxo
YXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtNSwyOSArNSwyOSBAQCBQQVNTIFBhcnRpYWwgaW50ZXJm
YWNlIENTU1J1bGU6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkCiBQQVNTIFBhcnRpYWwgaW50
ZXJmYWNlIENTU1J1bGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBQYXJ0aWFsIG5h
bWVzcGFjZSBDU1M6IG9yaWdpbmFsIG5hbWVzcGFjZSBkZWZpbmVkIAogUEFTUyBQYXJ0aWFsIG5h
bWVzcGFjZSBDU1M6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotRkFJTCBDU1NDb25kaXRpb25S
dWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
Q1NTQ29uZGl0aW9uUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIG1p
c3NpbmcKLUZBSUwgQ1NTQ29uZGl0aW9uUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NDb25k
aXRpb25SdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgbWlzc2luZwot
RkFJTCBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxl
IiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgbWlzc2luZwotRkFJTCBDU1ND
b25kaXRpb25SdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJD
U1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCi1GQUlMIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5
ICJDU1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCi1GQUlMIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3Bl
cnR5ICJDU1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCi1GQUlMIENTU0NvbmRpdGlvblJ1bGUgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgY29uZGl0aW9uVGV4dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBleHBlY3RlZCBw
cm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgbWlzc2luZwotRkFJTCBDU1NNZWRpYVJ1bGUgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NDb25k
aXRpb25SdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgbWlzc2luZwor
UEFTUyBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggCitQQVNTIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1l
IAorUEFTUyBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBDU1NDb25kaXRpb25SdWxl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgQ1NTQ29uZGl0aW9uUnVs
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIENTU0NvbmRpdGlvblJ1
bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY29uZGl0aW9uVGV4dCAKK1BBU1MgQ1NTTWVkaWFSdWxl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3Qg
CiBQQVNTIENTU01lZGlhUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgQ1NTTWVk
aWFSdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSAKLUZBSUwgQ1NTTWVkaWFSdWxlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNT
U0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBtaXNz
aW5nCitQQVNTIENTU01lZGlhUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgQ1NTTWVkaWFSdWxlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ1NTTWVkaWFSdWxlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLUZBSUwgQ1NTTWVkaWFSdWxlIGludGVyZmFjZTog
YXR0cmlidXRlIG1lZGlhIGFzc2VydF9lcXVhbHM6IHNldHRlciBtdXN0IGJlIGZ1bmN0aW9uIGZv
ciBQdXRGb3J3YXJkcywgUmVwbGFjZWFibGUsIG9yIG5vbi1yZWFkb25seSBhdHRyaWJ1dGVzIGV4
cGVjdGVkICJmdW5jdGlvbiIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBDU1NNZWRpYVJ1bGUg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWEgCiBQQVNTIENTU01lZGlhUnVsZSBtdXN0IGJlIHBy
aW1hcnkgaW50ZXJmYWNlIG9mIGNzc01lZGlhUnVsZSAKIFBBU1MgU3RyaW5naWZpY2F0aW9uIG9m
IGNzc01lZGlhUnVsZSAKIFBBU1MgQ1NTTWVkaWFSdWxlIGludGVyZmFjZTogY3NzTWVkaWFSdWxl
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWVkaWEiIHdpdGggdGhlIHByb3BlciB0eXBlIAotRkFJ
TCBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogY3NzTWVkaWFSdWxlIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiY29uZGl0aW9uVGV4dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVy
aXRzOiBwcm9wZXJ0eSAiY29uZGl0aW9uVGV4dCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFp
bgorUEFTUyBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogY3NzTWVkaWFSdWxlIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiY29uZGl0aW9uVGV4dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNT
IENTU1J1bGUgaW50ZXJmYWNlOiBjc3NNZWRpYVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJT
VVBQT1JUU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgQ1NTU3VwcG9ydHNSdWxl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3Qg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NT
Q29uZGl0aW9uUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIG1pc3Np
bmcKK1BBU1MgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIENTU1N1cHBvcnRzUnVsZSBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZSBvYmplY3QgbmFt
ZSAKLUZBSUwgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVk
IHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCitQQVNTIENTU1N1cHBvcnRzUnVs
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgY3NzU3VwcG9ydHNSdWxlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vaWRsaGFybmVzcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCA2NmY2NWQ2Y2VlZmVkYTc0NDdlNzJiNTVlOWM1
YjI1YzIyNTFkNDM0Li45OTgxMDg4ODdmNGRkN2UzMGExYjAyNjI1NmIxZDQ5ODUxMGU3MTk2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4
dApAQCAtNTMsNyArNTMsNyBAQCBQQVNTIE1lZGlhTGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAogUEFTUyBNZWRpYUxp
c3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFTUyBNZWRpYUxpc3QgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBNZWRpYUxpc3QgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgbWVkaWFUZXh0IAotRkFJTCBNZWRpYUxpc3QgaW50ZXJmYWNlOiBzdHJpbmdp
ZmllciBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNz
aW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJ0b1N0cmluZyIgbWlz
c2luZworUEFTUyBNZWRpYUxpc3QgaW50ZXJmYWNlOiBzdHJpbmdpZmllciAKIFBBU1MgTWVkaWFM
aXN0IGludGVyZmFjZTogYXR0cmlidXRlIGxlbmd0aCAKIFBBU1MgTWVkaWFMaXN0IGludGVyZmFj
ZTogb3BlcmF0aW9uIGl0ZW0odW5zaWduZWQgbG9uZykgCiBQQVNTIE1lZGlhTGlzdCBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBhcHBlbmRNZWRpdW0oQ1NTT01TdHJpbmcpIApAQCAtNzksNyArNzksNyBA
QCBQQVNTIFN0eWxlU2hlZXQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaHJlZgogUEFTUyBTdHlsZVNo
ZWV0IGludGVyZmFjZTogYXR0cmlidXRlIG93bmVyTm9kZSAKIFBBU1MgU3R5bGVTaGVldCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBwYXJlbnRTdHlsZVNoZWV0IAogUEFTUyBTdHlsZVNoZWV0IGludGVy
ZmFjZTogYXR0cmlidXRlIHRpdGxlIAotRkFJTCBTdHlsZVNoZWV0IGludGVyZmFjZTogYXR0cmli
dXRlIG1lZGlhIGFzc2VydF9lcXVhbHM6IHNldHRlciBtdXN0IGJlIGZ1bmN0aW9uIGZvciBQdXRG
b3J3YXJkcywgUmVwbGFjZWFibGUsIG9yIG5vbi1yZWFkb25seSBhdHRyaWJ1dGVzIGV4cGVjdGVk
ICJmdW5jdGlvbiIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBTdHlsZVNoZWV0IGludGVyZmFj
ZTogYXR0cmlidXRlIG1lZGlhIAogUEFTUyBTdHlsZVNoZWV0IGludGVyZmFjZTogYXR0cmlidXRl
IGRpc2FibGVkIAogUEFTUyBDU1NTdHlsZVNoZWV0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIENTU1N0eWxlU2hlZXQgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggCkBAIC0xNjIsOCArMTYyLDggQEAgUEFTUyBDU1NSdWxlIGludGVy
ZmFjZTogY29uc3RhbnQgRk9OVF9GQUNFX1JVTEUgb24gaW50ZXJmYWNlIG9iamVjdAogUEFTUyBD
U1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9GQUNFX1JVTEUgb24gaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBQQUdFX1JV
TEUgb24gaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50
IFBBR0VfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKLUZBSUwgQ1NTUnVsZSBp
bnRlcmZhY2U6IGNvbnN0YW50IE1BUkdJTl9SVUxFIG9uIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIk1BUkdJTl9SVUxFIiBtaXNzaW5nCi1G
QUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBNQVJHSU5fUlVMRSBvbiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAi
TUFSR0lOX1JVTEUiIG1pc3NpbmcKK1BBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IE1B
UkdJTl9SVUxFIG9uIGludGVyZmFjZSBvYmplY3QgCitQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBj
b25zdGFudCBNQVJHSU5fUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1Mg
Q1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IE5BTUVTUEFDRV9SVUxFIG9uIGludGVyZmFjZSBv
YmplY3QgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBOQU1FU1BBQ0VfUlVMRSBv
biBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgQ1NTU3R5bGVSdWxlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCkBAIC0xODgs
NyArMTg4LDcgQEAgUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbNF0gbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJJTVBPUlRfUlVMRSIgd2kKIFBBU1MgQ1NTUnVsZSBpbnRlcmZh
Y2U6IHNoZWV0LmNzc1J1bGVzWzRdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiTUVESUFfUlVMRSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NS
dWxlc1s0XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfRkFDRV9SVUxFIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzRdIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiUEFHRV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZB
SUwgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzRdIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiTUFSR0lOX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czog
cHJvcGVydHkgIk1BUkdJTl9SVUxFIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNT
IENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1s0XSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIk1BUkdJTl9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgQ1NTUnVsZSBpbnRl
cmZhY2U6IHNoZWV0LmNzc1J1bGVzWzRdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiTkFNRVNQQUNF
X1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBDU1NJbXBvcnRSdWxlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIENT
U0ltcG9ydFJ1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCkBAIC0xOTcsNyArMTk3LDcgQEAg
UEFTUyBDU1NJbXBvcnRSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2IKIFBBU1MgQ1NTSW1wb3J0UnVsZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIENTU0ltcG9ydFJ1bGUgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBDU1NJbXBvcnRSdWxlIGludGVyZmFjZTogYXR0cmli
dXRlIGhyZWYgCi1GQUlMIENTU0ltcG9ydFJ1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWEg
YXNzZXJ0X2VxdWFsczogc2V0dGVyIG11c3QgYmUgZnVuY3Rpb24gZm9yIFB1dEZvcndhcmRzLCBS
ZXBsYWNlYWJsZSwgb3Igbm9uLXJlYWRvbmx5IGF0dHJpYnV0ZXMgZXhwZWN0ZWQgImZ1bmN0aW9u
IiBidXQgZ290ICJ1bmRlZmluZWQiCitQQVNTIENTU0ltcG9ydFJ1bGUgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgbWVkaWEgCiBQQVNTIENTU0ltcG9ydFJ1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc3R5
bGVTaGVldCAKIFBBU1MgQ1NTSW1wb3J0UnVsZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9m
IHNoZWV0LmNzc1J1bGVzWzBdIAogUEFTUyBTdHJpbmdpZmljYXRpb24gb2Ygc2hlZXQuY3NzUnVs
ZXNbMF0gCkBAIC0yMTQsMjEgKzIxNCwyNSBAQCBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVl
dC5jc3NSdWxlc1swXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIklNUE9SVF9SVUxFIiB3aQogUEFT
UyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMF0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJNRURJQV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgQ1NTUnVsZSBpbnRl
cmZhY2U6IHNoZWV0LmNzc1J1bGVzWzBdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9GQUNF
X1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hl
ZXQuY3NzUnVsZXNbMF0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJQQUdFX1JVTEUiIHdpdGggdGhl
IHByb3BlciB0eXBlIAotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMF0g
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
YXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90
b3R5cGUgY2hhaW4KK1BBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzBdIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAog
UEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMF0gbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJOQU1FU1BBQ0VfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1GQUlMIENTU0dy
b3VwaW5nUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVs
ZSIgbWlzc2luZwotRkFJTCBDU1NHcm91cGluZ1J1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NT
R3JvdXBpbmdSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBtaXNzaW5n
Ci1GQUlMIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxl
IiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0dy
b3VwaW5nUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NH
cm91cGluZ1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNv
bnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NH
cm91cGluZ1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1
bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NH
cm91cGluZ1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogYXR0
cmlidXRlIGNzc1J1bGVzIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0dyb3Vw
aW5nUnVsZSIgbWlzc2luZwotRkFJTCBDU1NHcm91cGluZ1J1bGUgaW50ZXJmYWNlOiBvcGVyYXRp
b24gaW5zZXJ0UnVsZShDU1NPTVN0cmluZywgb3B0aW9uYWwgdW5zaWduZWQgbG9uZykgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTR3JvdXBp
bmdSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBtaXNzaW5nCi1GQUlM
IENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVSdWxlKHVuc2lnbmVk
IGxvbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIg
bWlzc2luZwotRkFJTCBDU1NQYWdlUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkg
IkNTU0dyb3VwaW5nUnVsZSIgbWlzc2luZworUEFTUyBDU1NHcm91cGluZ1J1bGUgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgQ1NT
R3JvdXBpbmdSdWxlIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBDU1NHcm91cGluZ1J1
bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBDU1NHcm91cGluZ1J1bGUgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
CitQQVNTIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkg
CitQQVNTIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
CitQQVNTIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjc3NSdWxlcyAKK1BB
U1MgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogb3BlcmF0aW9uIGluc2VydFJ1bGUoQ1NTT01T
dHJpbmcsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcpIAorUEFTUyBDU1NHcm91cGluZ1J1bGUgaW50
ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlUnVsZSh1bnNpZ25lZCBsb25nKSAKK0ZBSUwgQ1NTUGFn
ZVJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCBhc3NlcnRfZXF1YWxzOiBwcm90b3R5cGUgb2YgQ1NTUGFnZVJ1bGUgaXMgbm90IENTU0dy
b3VwaW5nUnVsZSBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gQ1NTR3JvdXBpbmdSdWxlKCkg
eworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9uIENTU1J1
bGUoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIFBBU1MgQ1NTUGFnZVJ1bGUgaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGggCiBQQVNTIENTU1BhZ2VSdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSAK
LUZBSUwgQ1NTUGFnZVJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBleHBlY3RlZCBwcm9wZXJ0
eSAiQ1NTR3JvdXBpbmdSdWxlIiBtaXNzaW5nCitGQUlMIENTU1BhZ2VSdWxlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFz
c2VydF9lcXVhbHM6IHByb3RvdHlwZSBvZiBDU1NQYWdlUnVsZS5wcm90b3R5cGUgaXMgbm90IENT
U0dyb3VwaW5nUnVsZS5wcm90b3R5cGUgZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IENTU0dyb3Vw
aW5nUnVsZV0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IENTU1J1bGVdIgogUEFTUyBDU1NQYWdl
UnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIENTU1BhZ2VSdWxl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKIFBBU1MgQ1NTUGFnZVJ1bGUgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgc2VsZWN0b3JUZXh0IApAQCAtMjUyLDcgKzI1Niw3IEBAIFBBU1Mg
Q1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzJdIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiSU1QT1JUX1JVTEUiIHdpCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxl
c1syXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIk1FRElBX1JVTEUiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMl0gbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJGT05UX0ZBQ0VfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNT
IENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1syXSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIlBBR0VfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1GQUlMIENTU1J1bGUgaW50ZXJm
YWNlOiBzaGVldC5jc3NSdWxlc1syXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIk1BUkdJTl9SVUxF
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJNQVJHSU5f
UlVMRSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBDU1NSdWxlIGludGVyZmFj
ZTogc2hlZXQuY3NzUnVsZXNbMl0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NS
dWxlc1syXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIk5BTUVTUEFDRV9SVUxFIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIEZBSUwgQ1NTTWFyZ2luUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU01hcmdpblJ1bGUiIGV4cGVjdGVkIHByb3Bl
cnR5ICJDU1NNYXJnaW5SdWxlIiBtaXNzaW5nCiBGQUlMIENTU01hcmdpblJ1bGUgaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiQ1NTTWFyZ2luUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU01hcmdpblJ1
bGUiIG1pc3NpbmcKQEAgLTMwMCw3ICszMDQsNyBAQCBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBz
aGVldC5jc3NSdWxlc1sxXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIklNUE9SVF9SVUxFIiB3aQog
UEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMV0gbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJNRURJQV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgQ1NTUnVsZSBp
bnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzFdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9G
QUNFX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTog
c2hlZXQuY3NzUnVsZXNbMV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJQQUdFX1JVTEUiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNb
MV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUiIG5vdCBmb3VuZCBpbiBw
cm90b3R5cGUgY2hhaW4KK1BBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzFd
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBl
IAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMV0gbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJOQU1FU1BBQ0VfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENT
U1N0eWxlRGVjbGFyYXRpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQ1NTU3R5bGVEZWNsYXJhdGlvbiBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCAK
</data>
<flag name="commit-queue"
          id="425136"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409430</attachid>
            <date>2020-09-22 17:43:56 -0700</date>
            <delta_ts>2020-09-24 10:53:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216855-20200922174355.patch</filename>
            <type>text/plain</type>
            <size>90891</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdhZTJlODgzZjMyZDMz
NWFkZTRjMjk5YWU3N2EzMjQ5MjFjOTZkMi4uZmYwYmI5NTA1YTEzNzc0NDNiMDQzMTM4NGMyZmE4
MjMxYjBmMzBhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNSBAQAorMjAyMC0wOS0yMiAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENTU0NvbmRpdGlvblJ1
bGUgYW5kIENTU0dyb3VwaW5nUnVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE2ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQgQ1NTQ29uZGl0aW9uUnVsZS5p
ZGwgYW5kIENTU0dyb3VwaW5nUnVsZS5pZGwuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0OiBVcGRhdGVkLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0OiBVcGRhdGVkLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTog
QWRkZWQgQ1NTQ29uZGl0aW9uUnVsZS5pZGwgYW5kIENTU0dyb3VwaW5nUnVsZS5pZGwuCisgICAg
ICAgICogSGVhZGVycy5jbWFrZTogQWRkZWQgQ1NTQ29uZGl0aW9uUnVsZS5oLgorICAgICAgICAq
IFNvdXJjZXMudHh0OiBBZGQgQ1NTQ29uZGl0aW9uUnVsZS5jcHAsIEpTQ1NTQ29uZGl0aW9SdWxl
LmNwcCwKKyAgICAgICAgYW5kIEpTQ1NTR3JvdXBpbmdSdWxlLmNwcC4KKworICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgYWxsIHRoZSBmaWxlcy4KKwor
ICAgICAgICAqIGNzcy9DU1NDb25kaXRpb25SdWxlLmNwcDogQWRkZWQuCisgICAgICAgICogY3Nz
L0NTU0NvbmRpdGlvblJ1bGUuaDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU0NvbmRpdGlvblJ1
bGUuaWRsOiBBZGRlZC4KKworICAgICAgICAqIGNzcy9DU1NHcm91cGluZ1J1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTR3JvdXBpbmdSdWxlOjp+Q1NTR3JvdXBpbmdSdWxlKTogVXNlIGEg
cmFuZ2UtYmFzZWQgZm9yIGxvb3AKKyAgICAgICAgYW5kIG51bGxwdHIuCisgICAgICAgIChXZWJD
b3JlOjpDU1NHcm91cGluZ1J1bGU6OmFwcGVuZENTU1RleHRGb3JJdGVtcyBjb25zdCk6IFVzZSB2
YXJpYWRpYworICAgICAgICBhcHBlbmQgdG8gY2xlYW4gdGhpcyB1cCBhIGJpdC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU0dyb3VwaW5nUnVsZTo6aXRlbSBjb25zdCk6IFVzZSBhdXRvLgorCisgICAg
ICAgICogY3NzL0NTU0dyb3VwaW5nUnVsZS5oOiBNYWRlIG1fZ3JvdXBSdWxlIHByaXZhdGUgaW5z
dGVhZCBvZiBwcm90ZWN0ZWQuCisgICAgICAgIERpZCBzb21lIG90aGVyIHR3ZWFrcy4KKworICAg
ICAgICAqIGNzcy9DU1NHcm91cGluZ1J1bGUuaWRsOiBBZGRlZC4KKworICAgICAgICAqIGNzcy9D
U1NJbXBvcnRSdWxlLmlkbDogQWRkZWQgW0V4cG9zZWQ9V2luZG93XSwgY2hhbmdlZCBocmVmIHRv
IGJlIGEKKyAgICAgICAgVVNWU3RyaW5nLCBhZGRlZCBbU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9
bWVkaWFUZXh0XSB0byBtZWRpYQorICAgICAgICBhbmQgW1NhbWVPYmplY3RdIHRvIHN0eWxlU2hl
ZXQuCisKKyAgICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU01lZGlhUnVsZTo6Q1NTTWVkaWFSdWxlKTogRGVyaXZlIGZyb20gQ1NTQ29uZGl0aW9uUnVs
ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6bWVkaWFRdWVyaWVzIGNvbnN0KTog
UmV0dXJuIGEgcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpjc3NU
ZXh0IGNvbnN0KTogU3RyZWFtbGluZSBzaW5jZSB3ZSBkb24ndCBuZWVkIGEKKyAgICAgICAgbnVs
bCBjaGVjay4KKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6Y29uZGl0aW9uVGV4dCBj
b25zdCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpzZXRDb25kaXRp
b25UZXh0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6Om1lZGlhIGNv
bnN0KTogU3RyZWFtbGluZSBzaW5jZSB3ZSBkb24ndCBuZWVkIGEKKyAgICAgICAgbnVsbCBjaGVj
ay4KKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6cmVhdHRhY2gpOiBEaXR0by4KKwor
ICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaDogRGVyaXZlIGZyb20gQ1NTQ29uZGl0aW9uUnVs
ZS4KKworICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaWRsOiBEZXJpdmUgZnJvbSBDU1NDb25k
aXRpb25SdWxlLiBBZGRlZAorICAgICAgICBbRXhwb3NlZD1XaW5kb3ddLiBBZGRlZCBbU2FtZU9i
amVjdCwgUHV0Rm9yd2FyZHM9bWVkaWFUZXh0XSB0byBtZWRpYS4KKyAgICAgICAgUmVtb3ZlZCBp
bnNlcnRSdWxlIGFuZCBkZWxldGVSdWxlIHNpbmNlIHRoZXkgYXJlIG5vdyBpbmhlcml0ZWQgZnJv
bQorICAgICAgICBDU1NHcm91cGluZ1J1bGUuCisKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOiBB
ZGRlZCBNQVJHSU5fUlVMRSBjb25zdGFudCBldmVuIHRob3VnaCB3ZSBkb24ndCBoYXZlCisgICAg
ICAgIHRoYXQgcnVsZSB0eXBlLiBNb3ZlZCBpbmxpbmUgZnVuY3Rpb25zIG91dCBvZiB0aGUgY2xh
c3MgYm9keSB0byBoZWxwCisgICAgICAgIGNsYXJpdHkgYSBiaXQuCisKKyAgICAgICAgKiBjc3Mv
Q1NTUnVsZS5pZGw6IEFkZGVkIFtFeHBvc2VkPVdpbmRvd10sIGNoYW5nZWQgYSBmZXcgdGhpbmdz
IHRvIG1hdGNoCisgICAgICAgIHRoZSBzcGVjaWZpY2F0aW9uLgorCisgICAgICAgICogY3NzL0NT
U1N0eWxlUnVsZS5pZGw6IEFkZGVkIFtFeHBvc2VkPVdpbmRvd10uIEFkZGVkIFtTYW1lT2JqZWN0
XQorICAgICAgICB0byBzdHlsZS4KKworICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmlkbDog
QWRkZWQgW0V4cG9zZWQ9V2luZG93XS4KKworICAgICAgICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3VwcG9ydHNSdWxlOjpDU1NTdXBwb3J0c1J1bGUp
OiBEZXJpdmUgZnJvbSBDU1NDb25kaXRpb25SdWxlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3Vw
cG9ydHNSdWxlOjpjcmVhdGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRz
UnVsZTo6Y3NzVGV4dCBjb25zdCk6IFVzZSB2YXJpYWRpYyBhcHBlbmQuCisgICAgICAgIChXZWJD
b3JlOjpDU1NTdXBwb3J0c1J1bGU6OmNvbmRpdGlvblRleHQgY29uc3QpOiBVcGRhdGVkIHRvIHVz
ZSBncm91cFJ1bGUuCisgICAgICAgIChXZWJDb3JlOjpDU1NTdXBwb3J0c1J1bGU6OnNldENvbmRp
dGlvblRleHQpOiBBZGRlZC4gTm90IGltcGxlbWVudGVkIHlldC4KKworICAgICAgICAqIGNzcy9D
U1NTdXBwb3J0c1J1bGUuaDogRGVyaXZlIGZyb20gQ1NTQ29uZGl0aW9uUnVsZS4KKworICAgICAg
ICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUuaWRsOiBEZXJpdmUgZnJvbSBDU1NDb25kaXRpb25SdWxl
LgorICAgICAgICBBZGRlZCBbRXhwb3NlZD1XaW5kb3ddLgorCisgICAgICAgICogY3NzL01lZGlh
TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5U2V0OjpzZXQpOiBVc2UgbW92
ZSBpbnN0ZWFkIG9mIHN3YXAuCisKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmlkbDogQWRkZWQg
W0V4cG9zZWQ9V2luZG93XSBhbmQgbWFya2VkIG1lZGlhVGV4dCBhcworICAgICAgICB0aGUgc3Ry
aW5naWZpZXIuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZTo6Y3JlYXRlKTogTW92ZWQgaGVyZSBmcm9tIHRoZSBoZWFkZXIuCisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJ1bGU6OmNvcHkgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUnVsZVBhZ2U6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlR3JvdXA6OlN0eWxlUnVsZUdyb3VwKTogVXNlIG1vdmUgaW5zdGVhZCBvZiBzd2Fw
LgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlTWVkaWE6OmNyZWF0ZSk6IFVzZSBtb3ZlIGlu
c3RlYWQgb2Ygc3dhcC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZU1lZGlhOjpjb3B5IGNv
bnN0KTogTW92ZWQgb3V0IG9mIHRoZSBoZWFkZXIuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGVTdXBwb3J0czo6U3R5bGVSdWxlU3VwcG9ydHMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUnVsZVN1cHBvcnRzOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZU5hbWVzcGFjZTo6U3R5bGVSdWxlTmFtZXNwYWNlKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJ1bGVOYW1lc3BhY2U6OmNyZWF0ZSk6IERpdHRvLgorCisgICAgICAgICog
Y3NzL1N0eWxlUnVsZS5oOiBNb3ZlZCBmdW5jdGlvbiBib2RpZXMgb3V0IG9mIHRoZSBjbGFzcwor
ICAgICAgICBkZWZpbnRpaW9uIGZvciBjbGFyaXR5LgorCisgICAgICAgICogY3NzL1N0eWxlU2hl
ZXQuaWRsOiBBZGRlZCBbRXhwb3NlZD1XaW5kb3ddIGFuZAorICAgICAgICBbU2FtZU9iamVjdCwg
UHV0Rm9yd2FyZHM9bWVkaWFUZXh0XSBmb3IgbWVkaWEuCisKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6
cGFyc2VyQXBwZW5kUnVsZSk6IFVwZGF0ZWQgc2luY2UKKyAgICAgICAgbWVkaWFRdWVyaWVzIHJl
dHVybnMgYSByZWZlcmVuY2UuCisKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldExpc3QuaWRsOiBB
ZGRlZCBbRXhwb3NlZD1XaW5kb3ddLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVNZWRpYVJ1
bGUpOiBVc2UgV1RGTW92ZSBzaW5jZQorICAgICAgICB0aGUgY3JlYXRlIGZ1bmN0aW9uIG5vdyB0
YWtlcyBhbiBydmFsdWUgcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1w
bDo6Y29uc3VtZVN1cHBvcnRzUnVsZSk6IERpdHRvLgorCisgICAgICAgICogc3R5bGUvUnVsZVNl
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6YWRkQ2hpbGRSdWxlcyk6
IFVwZGF0ZWQgc2luY2UgbWVkaWFRdWVyaWVzCisgICAgICAgIHJldHVybnMgYSByZWZlcmVuY2Uu
CisgICAgICAgICogc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGU6OlVzZXJBZ2VudFN0eWxlOjphZGRUb0RlZmF1bHRTdHlsZSk6IERpdHRvLgorCiAyMDIw
LTA5LTIyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
SUZDXSBVc2VkIGdlb21ldHJ5IGZvciBpbmxpbmUgbGV2ZWwgYm94ZXMgc2hvdWxkIGJlIGluIHRo
ZSBjb29yZGluYXRlIHN5c3RlbSBvZiB0aGUgZm9ybWF0dGluZyBjb250ZXh0IHJvb3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA2OGZlNzU0OTk1NTYwNmJlNjZlOWRkYzVhYmM2MzM0
NDQzNmIzNDE2Li5hYWU2NjVmMDM1NTQ5OWZkN2Y1ZjkwZWViMTViNzNlYjZjNTUzNzI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDktMjIgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBDU1NDb25kaXRpb25S
dWxlIGFuZCBDU1NHcm91cGluZ1J1bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNjg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogRE9NL0RPTUNTUy5tbToKKyAgICAgICAgKGtpdENsYXNzKTogQWRk
ZWQgYSBkZWZhdWx0IGNhc2Ugc2luY2Ugd2UgZG9uJ3QgaW50ZW5kIHRvIGxpc3QgZXZlcnkgc2lu
Z2xlIHJ1bGUgdHlwZSBoZXJlLgorCiAyMDIwLTA5LTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIGRlcHJlY2F0ZWQgc2NyaXB0
IGFuZCBzdHlsZXNoZWV0IGluamVjdGlvbiBTUEksIHJlcGxhY2VkIHdpdGggbW9yZSBpbmNsdXNp
dmVseS1uYW1lZCBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOTZmYmU3Njg3YWVmNzJkYjhk
YThlYmQ1MGJmZDBhMzVjNjRmMDRkZC4uYTlmYTM4Y2MyMmNlZjBhZjI2YWVkMWM0NmFiOTU0NjE3
NjhlODczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTY4OSw3ICs2ODksOSBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNyeXB0by9wYXJhbWV0ZXJzL1JzYU9hZXBQYXJh
bXMuaWRsCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvUnNhUHNzUGFyYW1zLmlkbAogCisgICAgY3Nz
L0NTU0NvbmRpdGlvblJ1bGUuaWRsCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyAgICBj
c3MvQ1NTR3JvdXBpbmdSdWxlLmlkbAogICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAogICAgIGNz
cy9DU1NLZXlmcmFtZVJ1bGUuaWRsCiAgICAgY3NzL0NTU0tleWZyYW1lc1J1bGUuaWRsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBjYTVm
OGFkYzllN2JhNmVkNGYxNzEyMGM1YTFlZjM1M2NhN2VhNTc2Li5kYjY3NDE3MzBlMzgyNDlmZWY3
NzViY2NhODk0YzQ2Zjg4N2E0MjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTU4OCw3ICs1ODgsOSBAQCAkKFBST0pFQ1RfRElSKS9j
cnlwdG8vcGFyYW1ldGVycy9Sc2FIYXNoZWRLZXlHZW5QYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElS
KS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FLZXlHZW5QYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9j
cnlwdG8vcGFyYW1ldGVycy9Sc2FPYWVwUGFyYW1zLmlkbAogJChQUk9KRUNUX0RJUikvY3J5cHRv
L3BhcmFtZXRlcnMvUnNhUHNzUGFyYW1zLmlkbAorJChQUk9KRUNUX0RJUikvY3NzL0NTU0NvbmRp
dGlvblJ1bGUuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbAorJChQ
Uk9KRUNUX0RJUikvY3NzL0NTU0dyb3VwaW5nUnVsZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9D
U1NJbXBvcnRSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0tleWZyYW1lUnVsZS5pZGwK
ICQoUFJPSkVDVF9ESVIpL2Nzcy9DU1NLZXlmcmFtZXNSdWxlLmlkbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA5ODdjODEyMzQwMjA0
ZmY5Y2YwZDlhM2VlOGJiMTM0Yzk2Nzk4NTBjLi4xY2JiMjFlOTIzZDZmOTlhYzNlMjA3ZmViYzVl
YWI1NTg0MTBjMjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdApAQCAtMjQzLDggKzI0MywxMiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NEQVRBU2VjdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ0RBVEFTZWN0aW9uLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQW5pbWF0aW9uLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NBbmltYXRp
b24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1ND
b25kaXRpb25SdWxlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDU1NDb25kaXRpb25SdWxlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NHcm91cGluZ1J1bGUuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0dyb3Vw
aW5nUnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU0ltcG9ydFJ1bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NLZXlmcmFtZVJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCAwYzdiNzJmZTUxODZjN2U3ZmU1NWZiMDQ0NThlZTczNjA2YzgwYTU4Li4w
ZmIxMDUxZTRhNWQwM2ZjNmQzZDVlN2Q4MThhOWQxMmQxZjExM2Y4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTY0Miw3ICs2NDIsOSBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FLZXlHZW5QYXJhbXMuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL1JzYU9hZXBQYXJhbXMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL2NyeXB0by9wYXJhbWV0ZXJzL1JzYVBzc1BhcmFtcy5pZGwgXAorICAgICQoV2Vi
Q29yZSkvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NG
b250RmFjZVJ1bGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2Nzcy9DU1NHcm91cGluZ1J1bGUuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTS2V5ZnJh
bWVzUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggMzhjMDZiOGJiZGNjMWExMDgxN2Fm
OTgxOWMwMWM2MGVlMjhkZjI1OC4uYTk4NTVkNWM4ZGYyNmJlYWUzZDBkYjkyNWIzYTI5YjM3OTlj
ZTVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zMTAsNiArMzEwLDcgQEAgc2V0KFdlYkNvcmVf
UFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGNyeXB0by9TZXJpYWxpemVkQ3J5cHRvS2V5
V3JhcC5oCiAKICAgICBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oCisgICAgY3NzL0NTU0NvbmRp
dGlvblJ1bGUuaAogICAgIGNzcy9DU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmgKICAgICBjc3MvQ1NT
Rm9udEZhY2VSdWxlLmgKICAgICBjc3MvQ1NTRm9udEZhbWlseS5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IGI3YWQ0YzFmYTk2YjlkYWYxMzQ0MTgxNjEyN2YzNGNjNDI0NDBiZGMuLjJkOGFhNTA0ZTZjY2Y3
MDE1NTk0MGNhYmNjMmE1ZjNiN2QwZmQwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC02NjMsNiArNjYz
LDcgQEAgY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKIGNzcy9DU1NDYWxjdWxhdGlv
blZhbHVlLmNwcAogY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcAogY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKK2Nzcy9DU1NDb25kaXRpb25SdWxlLmNwcAogY3NzL0NTU0NvbnRlbnRE
aXN0cmlidXRpb25WYWx1ZS5jcHAKIGNzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHAKIGNzcy9DU1ND
dXJzb3JJbWFnZVZhbHVlLmNwcApAQCAtMjY5Miw3ICsyNjkzLDkgQEAgSlNCbG9iUHJvcGVydHlC
YWcuY3BwCiBKU0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuY3BwCiBKU0NEQVRBU2VjdGlvbi5j
cHAKIEpTQ1NTQW5pbWF0aW9uLmNwcAorSlNDU1NDb25kaXRpb25SdWxlLmNwcAogSlNDU1NGb250
RmFjZVJ1bGUuY3BwCitKU0NTU0dyb3VwaW5nUnVsZS5jcHAKIEpTQ1NTSW1wb3J0UnVsZS5jcHAK
IEpTQ1NTS2V5ZnJhbWVSdWxlLmNwcAogSlNDU1NLZXlmcmFtZXNSdWxlLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk0OGE5
MzNjYTc1OWY3NTRjNDNjYjFhOWMwOGZlNjZlZjQzMzY2YzYuLjI5MTAwN2QzZGQ1M2YzODE5NGVi
MmI3YTNlM2Q1ODk5NGRkZWNjY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI2NTUsNiArMjY1NSw5IEBACiAJCTkzMDdGMUQ4
MEFGMkQ1OTAwMERCQTMxQSAvKiBIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA3RjFENjBBRjJENTkwMDBEQkEzMUEgLyogSGl0
VGVzdFJlc3VsdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTkzMDg0MTM0MUNEREIxNTUwMEIwOTU4QyAvKiBKU0RPTUNvbnZlcnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDg0MTMzMUNEREIxNTUw
MEIwOTU4QyAvKiBKU0RPTUNvbnZlcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk5MzA5MDg5MTBBRjdFREU0MDA4MURGMDEgLyogSGl0VGVzdFJl
cXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
MDkwODkwMEFGN0VERTQwMDgxREYwMSAvKiBIaXRUZXN0UmVxdWVzdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTkzMEFBQzlBMjUwRUI4NDkwMDEz
REE5RiAvKiBDU1NDb25kaXRpb25SdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5MzBBQUM5ODI1MEVCODE3MDAxM0RBOUYgLyogQ1NTQ29uZGl0aW9u
UnVsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTkzMEFBQzlGMjUwRUQ0MDkwMDEzREE5RiAvKiBKU0NTU0NvbmRpdGlvblJ1bGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMEFBQzlEMjUwRUQ0MDkw
MDEzREE5RiAvKiBKU0NTU0NvbmRpdGlvblJ1bGUuaCAqLzsgfTsKKwkJOTMwQUFDQTIyNTBFRDQx
MTAwMTNEQTlGIC8qIEpTQ1NTR3JvdXBpbmdSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzBBQUNBMDI1MEVENDExMDAxM0RBOUYgLyogSlNDU1NH
cm91cGluZ1J1bGUuaCAqLzsgfTsKIAkJOTMxNTNCREExNDE4MUY3QTAwRkNGNUJFIC8qIG1pc3Np
bmdJbWFnZUAyeC5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzMTUzQkQ5MTQxODFGN0EwMEZDRjVCRSAvKiBtaXNzaW5nSW1hZ2VAMngucG5nICov
OyB9OwogCQk5MzE1M0JEQzE0MTk1OUJDMDBGQ0Y1QkUgLyogdGV4dEFyZWFSZXNpemVDb3JuZXIu
cG5nIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzE1
M0JEQjE0MTk1OUJCMDBGQ0Y1QkUgLyogdGV4dEFyZWFSZXNpemVDb3JuZXIucG5nICovOyB9Owog
CQk5MzE1M0JFMjE0MTk1QTU3MDBGQ0Y1QkUgLyogbWlzc2luZ0ltYWdlLnBuZyBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxNTNCRTExNDE5NUE1NzAw
RkNGNUJFIC8qIG1pc3NpbmdJbWFnZS5wbmcgKi87IH07CkBAIC0xMTAzNSw2ICsxMTAzOCwxNCBA
QAogCQk5MzA3RjFENjBBRjJENTkwMDBEQkEzMUEgLyogSGl0VGVzdFJlc3VsdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGl0VGVzdFJlc3VsdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5MzA4NDEzMzFDRERCMTU1MDBCMDk1OEMgLyogSlNET01Db252ZXJ0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQ29udmVydC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA5MDg5MDBBRjdFREU0MDA4MURGMDEgLyogSGl0
VGVzdFJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpdFRlc3RS
ZXF1ZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMEFBQzk2MjUwRUI4MTcw
MDEzREE5RiAvKiBDU1NDb25kaXRpb25SdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0Nv
bmRpdGlvblJ1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5MzBBQUM5ODI1
MEVCODE3MDAxM0RBOUYgLyogQ1NTQ29uZGl0aW9uUnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1ND
b25kaXRpb25SdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMEFBQzk5MjUw
RUI4MTgwMDEzREE5RiAvKiBDU1NDb25kaXRpb25SdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NDb25kaXRpb25S
dWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwQUFDOUIyNTBFQzJGMzAw
MTNEQTlGIC8qIENTU0dyb3VwaW5nUnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTR3JvdXBpbmdSdWxlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwQUFDOUMyNTBFRDQwODAwMTNEQTlGIC8q
IEpTQ1NTQ29uZGl0aW9uUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NTU0NvbmRpdGlvblJ1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5MzBBQUM5RDI1MEVENDA5MDAxM0RBOUYgLyogSlNDU1NDb25kaXRpb25SdWxlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ1NTQ29uZGl0aW9uUnVsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5MzBBQUNBMDI1MEVENDExMDAxM0RBOUYgLyogSlNDU1NH
cm91cGluZ1J1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDU1NHcm91
cGluZ1J1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwQUFDQTEyNTBFRDQx
MTAwMTNEQTlGIC8qIEpTQ1NTR3JvdXBpbmdSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQ1NTR3JvdXBpbmdSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTMwQzkwREMxOUNGOTY1MzAwRDZDMjFBIC8qIElubGluZUl0ZXJhdG9yLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElubGluZUl0ZXJhdG9yLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMxNTNCRDkxNDE4MUY3QTAwRkNGNUJF
IC8qIG1pc3NpbmdJbWFnZUAyeC5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSAibWlzc2luZ0ltYWdlQDJ4LnBuZyI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMTUzQkRCMTQxOTU5QkIwMEZDRjVCRSAv
KiB0ZXh0QXJlYVJlc2l6ZUNvcm5lci5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSB0ZXh0QXJlYVJlc2l6ZUNvcm5l
ci5wbmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDgwOSw4ICsyNDgyMCwxMiBA
QAogCQlBODNCNzkwRTBDQ0FGRjk3MDAwQjA4MjUgLyogQ1NTICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk5MzBBQUM5QzI1MEVENDA4MDAxM0RBOUYgLyog
SlNDU1NDb25kaXRpb25SdWxlLmNwcCAqLywKKwkJCQk5MzBBQUM5RDI1MEVENDA5MDAxM0RBOUYg
LyogSlNDU1NDb25kaXRpb25SdWxlLmggKi8sCiAJCQkJQkM0NkMxRjIwQzBEREM4RjAwMjBDRkMz
IC8qIEpTQ1NTRm9udEZhY2VSdWxlLmNwcCAqLywKIAkJCQlCQzQ2QzFGMzBDMEREQzhGMDAyMENG
QzMgLyogSlNDU1NGb250RmFjZVJ1bGUuaCAqLywKKwkJCQk5MzBBQUNBMTI1MEVENDExMDAxM0RB
OUYgLyogSlNDU1NHcm91cGluZ1J1bGUuY3BwICovLAorCQkJCTkzMEFBQ0EwMjUwRUQ0MTEwMDEz
REE5RiAvKiBKU0NTU0dyb3VwaW5nUnVsZS5oICovLAogCQkJCUJDNDZDMUY0MEMwRERDOEYwMDIw
Q0ZDMyAvKiBKU0NTU0ltcG9ydFJ1bGUuY3BwICovLAogCQkJCUJDNDZDMUY1MEMwRERDOEYwMDIw
Q0ZDMyAvKiBKU0NTU0ltcG9ydFJ1bGUuaCAqLywKIAkJCQkzMTZGRTA2RDBFNkNDQkVFMDBCRjYw
ODggLyogSlNDU1NLZXlmcmFtZVJ1bGUuY3BwICovLApAQCAtMjg1NDMsNiArMjg1NTgsOSBAQAog
CQkJCUJDNjA0OUNCMERCNTYwQzIwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oICovLAogCQkJ
CUJDRUE0NzdDMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwICovLAogCQkJCUJDRUE0NzdEMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uaCAqLywKKwkJCQk5MzBBQUM5NjI1MEVCODE3MDAxM0RBOUYgLyogQ1NTQ29u
ZGl0aW9uUnVsZS5jcHAgKi8sCisJCQkJOTMwQUFDOTgyNTBFQjgxNzAwMTNEQTlGIC8qIENTU0Nv
bmRpdGlvblJ1bGUuaCAqLywKKwkJCQk5MzBBQUM5OTI1MEVCODE4MDAxM0RBOUYgLyogQ1NTQ29u
ZGl0aW9uUnVsZS5pZGwgKi8sCiAJCQkJOURBQzdDNTIxQUYyQ0FBMTAwNDM3QzQ0IC8qIENTU0Nv
bnRlbnREaXN0cmlidXRpb25WYWx1ZS5jcHAgKi8sCiAJCQkJOURBQzdDNTMxQUYyQ0FBMTAwNDM3
QzQ0IC8qIENTU0NvbnRlbnREaXN0cmlidXRpb25WYWx1ZS5oICovLAogCQkJCTJEOEZFQkRBMTQz
RTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5jcHAgKi8sCkBAIC0yODU5Myw2ICsy
ODYxMSw3IEBACiAJCQkJQ0QzRTI1MjIxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWUuaCAqLywKIAkJCQlGQkY4OTA0NDE2OUU5RjFGMDA1MkQ4NkUgLyogQ1NTR3Jv
dXBpbmdSdWxlLmNwcCAqLywKIAkJCQlGQjMwNTZDMTE2OUU1REFDMDA5NkEyMzIgLyogQ1NTR3Jv
dXBpbmdSdWxlLmggKi8sCisJCQkJOTMwQUFDOUIyNTBFQzJGMzAwMTNEQTlGIC8qIENTU0dyb3Vw
aW5nUnVsZS5pZGwgKi8sCiAJCQkJQkM3NzJCMzYwQzRFQTkxRTAwODMyODVGIC8qIENTU0hlbHBl
ci5oICovLAogCQkJCUJDMjNFNzZCMERBRTg4QTkwMDlGREM5MSAvKiBDU1NJbWFnZUdlbmVyYXRv
clZhbHVlLmNwcCAqLywKIAkJCQlCQzIzRUU5MTBEQUVEMkJDMDA5RkRDOTEgLyogQ1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZS5oICovLApAQCAtMzA4NDYsNiArMzA4NjUsNyBAQAogCQkJCTQ5QUUyRDhG
MTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzYwNDlDQzBEQjU2MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTkzMEFBQzlBMjUwRUI4NDkwMDEzREE5
RiAvKiBDU1NDb25kaXRpb25SdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5REFDN0M1NTFBRjJD
QUEyMDA0MzdDNDQgLyogQ1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyRDhGRUJERDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBp
biBIZWFkZXJzICovLAogCQkJCUFBMjFFQ0NEMEFCRjBGQzYwMDJCODM0QyAvKiBDU1NDdXJzb3JJ
bWFnZVZhbHVlLmggaW4gSGVhZGVycyAqLywKQEAgLTMxOTU1LDcgKzMxOTc1LDkgQEAKIAkJCQk3
QzlBQ0FDMDFGM0NGMUFGMDBGM0FBMDkgLyogSlNDcnlwdG9Sc2FIYXNoZWRLZXlBbGdvcml0aG0u
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDOUFDQUMyMUYzQ0YxQUYwMEYzQUEwOSAvKiBKU0NyeXB0
b1JzYUtleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFCMjg0MjcyMDNDRUM0QzAw
MzZBQTVEIC8qIEpTQ1NTQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk5MzBBQUM5RjI1
MEVENDA5MDAxM0RBOUYgLyogSlNDU1NDb25kaXRpb25SdWxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzQ2QzFGRDBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1bGUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTkzMEFBQ0EyMjUwRUQ0MTEwMDEzREE5RiAvKiBKU0NTU0dyb3VwaW5nUnVs
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM0NkMxRkYwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NT
SW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE2RkUwNzIwRTZDQ0JFRTAwQkY2MDg4
IC8qIEpTQ1NTS2V5ZnJhbWVSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTZGRTA3NDBFNkND
QkVFMDBCRjYwODggLyogSlNDU1NLZXlmcmFtZXNSdWxlLmggaW4gSGVhZGVycyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb25kaXRpb25SdWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb25kaXRpb25SdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjBjMjVhOTJjZmJl
M2Y5ZThmYmNjYWZkNGJhZjAxMzAyMGM0Nzg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbmRpdGlvblJ1bGUuY3BwCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NDb25kaXRpb25SdWxlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTQ29uZGl0aW9uUnVsZTo6Q1NTQ29uZGl0aW9uUnVs
ZShTdHlsZVJ1bGVHcm91cCYgZ3JvdXAsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKKyAgICA6IENT
U0dyb3VwaW5nUnVsZShncm91cCwgcGFyZW50KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29uZGl0aW9uUnVsZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzVkYTdk
ZjM1MjBkNzE0Mzg1MzVhMjUyNDFjYzgxZGU1MzcyZTAwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaApAQCAtMCwwICsxLDM1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlICJDU1NHcm91cGluZ1J1bGUuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBDU1NDb25kaXRpb25SdWxlIDogcHVibGljIENTU0dyb3VwaW5nUnVs
ZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCBTdHJpbmcgY29uZGl0aW9uVGV4dCgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29uZGl0aW9uVGV4dChjb25zdCBTdHJpbmcmKSA9IDA7
CisKK3Byb3RlY3RlZDoKKyAgICBDU1NDb25kaXRpb25SdWxlKFN0eWxlUnVsZUdyb3VwJiwgQ1NT
U3R5bGVTaGVldCogcGFyZW50KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb25kaXRpb25SdWxlLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb25kaXRpb25SdWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Mjg0OWUwYjhmMTVj
MTNmMDliMzUwMGZkNjQxMTY4ZjRkYjA3OWJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsCkBAIC0wLDAgKzEsMjQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCit0eXBlZGVm
IFVTVlN0cmluZyBDU1NPTVN0cmluZzsKKworW0V4cG9zZWQ9V2luZG93XSBpbnRlcmZhY2UgQ1NT
Q29uZGl0aW9uUnVsZSA6IENTU0dyb3VwaW5nUnVsZSB7CisgICAgYXR0cmlidXRlIENTU09NU3Ry
aW5nIGNvbmRpdGlvblRleHQ7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyb3VwaW5nUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmNw
cAppbmRleCBjNmM1YzM5NTQwYTVjNTA1Y2RmNGQ1OWM3NDZjMzkxODVjOWUwM2IyLi4zODc2MTI3
MDg3ZDlmYzk5ZmU3OWU2ZmQ1MWE1YTdhODhiMGNkZjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
R3JvdXBpbmdSdWxlLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw2IEBACiAgKi8KIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgotCiAjaW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxlLmgiCiAKICNpbmNs
dWRlICJDU1NQYXJzZXIuaCIKQEAgLTUwLDkgKzQ5LDkgQEAgQ1NTR3JvdXBpbmdSdWxlOjpDU1NH
cm91cGluZ1J1bGUoU3R5bGVSdWxlR3JvdXAmIGdyb3VwUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFy
ZW4KIENTU0dyb3VwaW5nUnVsZTo6fkNTU0dyb3VwaW5nUnVsZSgpCiB7CiAgICAgQVNTRVJUKG1f
Y2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9ncm91cFJ1bGUtPmNoaWxkUnVsZXMo
KS5zaXplKCkpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1fY2hpbGRSdWxlQ1NTT01XcmFw
cGVyc1tpXSkKLSAgICAgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXS0+c2V0UGFy
ZW50UnVsZSgwKTsKKyAgICBmb3IgKGF1dG8mIHdyYXBwZXIgOiBtX2NoaWxkUnVsZUNTU09NV3Jh
cHBlcnMpIHsKKyAgICAgICAgaWYgKHdyYXBwZXIpCisgICAgICAgICAgICB3cmFwcGVyLT5zZXRQ
YXJlbnRSdWxlKG51bGxwdHIpOwogICAgIH0KIH0KIApAQCAtMTExLDE0ICsxMTAsMTAgQEAgRXhj
ZXB0aW9uT3I8dm9pZD4gQ1NTR3JvdXBpbmdSdWxlOjpkZWxldGVSdWxlKHVuc2lnbmVkIGluZGV4
KQogICAgIHJldHVybiB7IH07CiB9CiAKLXZvaWQgQ1NTR3JvdXBpbmdSdWxlOjphcHBlbmRDc3NU
ZXh0Rm9ySXRlbXMoU3RyaW5nQnVpbGRlciYgcmVzdWx0KSBjb25zdAordm9pZCBDU1NHcm91cGlu
Z1J1bGU6OmFwcGVuZENTU1RleHRGb3JJdGVtcyhTdHJpbmdCdWlsZGVyJiByZXN1bHQpIGNvbnN0
CiB7Ci0gICAgdW5zaWduZWQgc2l6ZSA9IGxlbmd0aCgpOwotICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiAgIik7
Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoaXRlbShpKS0+Y3NzVGV4dCgpKTsKLSAgICAgICAgcmVz
dWx0LmFwcGVuZCgnXG4nKTsKLSAgICB9CisgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9
IGxlbmd0aCgpOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCIgICIsIGl0
ZW0oaSktPmNzc1RleHQoKSwgJ1xuJyk7CiB9CiAKIHVuc2lnbmVkIENTU0dyb3VwaW5nUnVsZTo6
bGVuZ3RoKCkgY29uc3QKQEAgLTEzMSw3ICsxMjYsNyBAQCBDU1NSdWxlKiBDU1NHcm91cGluZ1J1
bGU6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0CiAgICAgaWYgKGluZGV4ID49IGxlbmd0aCgp
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdy
YXBwZXJzLnNpemUoKSA9PSBtX2dyb3VwUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7Ci0gICAg
UmVmUHRyPENTU1J1bGU+JiBydWxlID0gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XTsK
KyAgICBhdXRvJiBydWxlID0gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XTsKICAgICBp
ZiAoIXJ1bGUpCiAgICAgICAgIHJ1bGUgPSBtX2dyb3VwUnVsZS0+Y2hpbGRSdWxlcygpW2luZGV4
XS0+Y3JlYXRlQ1NTT01XcmFwcGVyKGNvbnN0X2Nhc3Q8Q1NTR3JvdXBpbmdSdWxlKj4odGhpcykp
OwogICAgIHJldHVybiBydWxlLmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0dyb3VwaW5nUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5o
CmluZGV4IGY1NGEzOTcxOTRlNWY5NzQ2NWUyYTVlMTg2ZDg1MmJmNDA5ZDUyMzEuLmNmN2FhOTgx
NWIxYTc0N2EzMjJmNGIwMjFhNzM4YTRhMGQ4OGI5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NHcm91cGluZ1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jv
dXBpbmdSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxs
ZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNiwgMjAwOCwgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyAoc2FtQHdlYmtpdC5vcmcpCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMzYsMjQgKzM2LDE5
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DU1NHcm91cGluZ1J1bGUoKTsKIAogICAgIFdFQkNP
UkVfRVhQT1JUIENTU1J1bGVMaXN0JiBjc3NSdWxlcygpIGNvbnN0OwotCiAgICAgV0VCQ09SRV9F
WFBPUlQgRXhjZXB0aW9uT3I8dW5zaWduZWQ+IGluc2VydFJ1bGUoY29uc3QgU3RyaW5nJiBydWxl
LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8dm9pZD4g
ZGVsZXRlUnVsZSh1bnNpZ25lZCBpbmRleCk7Ci0gICAgICAgIAotICAgIC8vIEZvciBDU1NSdWxl
TGlzdAogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OwogICAgIENTU1J1bGUqIGl0ZW0odW5z
aWduZWQgaW5kZXgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6Ci0gICAgQ1NTR3JvdXBpbmdSdWxlKFN0
eWxlUnVsZUdyb3VwJiBncm91cFJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7Ci0gICAgCisg
ICAgQ1NTR3JvdXBpbmdSdWxlKFN0eWxlUnVsZUdyb3VwJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50
KTsKKyAgICBjb25zdCBTdHlsZVJ1bGVHcm91cCYgZ3JvdXBSdWxlKCkgY29uc3QgeyByZXR1cm4g
bV9ncm91cFJ1bGU7IH0KICAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKSBvdmVycmlk
ZTsKLQotICAgIHZvaWQgYXBwZW5kQ3NzVGV4dEZvckl0ZW1zKFN0cmluZ0J1aWxkZXImKSBjb25z
dDsKLQotICAgIFJlZjxTdHlsZVJ1bGVHcm91cD4gbV9ncm91cFJ1bGU7CisgICAgdm9pZCBhcHBl
bmRDU1NUZXh0Rm9ySXRlbXMoU3RyaW5nQnVpbGRlciYpIGNvbnN0OwogCiBwcml2YXRlOgorICAg
IFJlZjxTdHlsZVJ1bGVHcm91cD4gbV9ncm91cFJ1bGU7CiAgICAgbXV0YWJsZSBWZWN0b3I8UmVm
UHRyPENTU1J1bGU+PiBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnM7CiAgICAgbXV0YWJsZSBzdGQ6
OnVuaXF1ZV9wdHI8Q1NTUnVsZUxpc3Q+IG1fcnVsZUxpc3RDU1NPTVdyYXBwZXI7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjhjNzU4MGFjZjIy
OTY5MTJiNmYxZDExY2I2NjZjZTkyODczYzFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5pZGwKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKK3R5cGVkZWYg
VVNWU3RyaW5nIENTU09NU3RyaW5nOworCitbRXhwb3NlZD1XaW5kb3ddCitpbnRlcmZhY2UgQ1NT
R3JvdXBpbmdSdWxlIDogQ1NTUnVsZSB7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBDU1NSdWxlTGlzdCBjc3NSdWxlczsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2ln
bmVkIGxvbmcgaW5zZXJ0UnVsZShDU1NPTVN0cmluZyBydWxlLCBvcHRpb25hbCB1bnNpZ25lZCBs
b25nIGluZGV4ID0gMCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRl
UnVsZSh1bnNpZ25lZCBsb25nIGluZGV4KTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5pZGwKaW5kZXggZjU2ZWY5ZmMwZjE5MTc1OGJkZDkxZDE1YjQzNjFiNDZkYzJhMjJjMi4uMDg2
OTY0N2Y3ZWE1OWQ2YjNhYWYzODc2ZTA1MGY2MTBjY2MxYjk5YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbXBvcnRSdWxlLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKQEAgLTE4LDEwICsxOCwxMCBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAg
Ki8KIAotLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKK1tFeHBvc2VkPVdpbmRvd10KIGlu
dGVyZmFjZSBDU1NJbXBvcnRSdWxlIDogQ1NTUnVsZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZz8gaHJlZjsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFMaXN0IG1lZGlh
OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0IHN0eWxlU2hlZXQ7CisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBocmVmOworICAgIFtTYW1lT2JqZWN0LCBQdXRG
b3J3YXJkcz1tZWRpYVRleHRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUxpc3QgbWVkaWE7Cisg
ICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0IHN0eWxlU2hl
ZXQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCmluZGV4IDE1ZTlkYzA1MzUx
ODMzMjI4MjdlYjZjYjA0NTdiNDU3Y2MyOGE4MTMuLmUwMWVlNTQwYmEyOTM3Mzk4OWVmMjg5MDM5
YTEwZGUwNzBlNmNiODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCkBAIC0xLDcg
KzEsNyBAQAogLyoqCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcp
CiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29w
eXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDEyIEFwcGxlIEluYy4KKyAqIENvcHlyaWdo
dCAoQykgMjAwMi0yMDIwIEFwcGxlIEluYy4KICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0zMSw3ICszMSw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIENTU01lZGlhUnVsZTo6Q1NTTWVkaWFSdWxlKFN0eWxlUnVs
ZU1lZGlhJiBtZWRpYVJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICA6IENTU0dyb3Vw
aW5nUnVsZShtZWRpYVJ1bGUsIHBhcmVudCkKKyAgICA6IENTU0NvbmRpdGlvblJ1bGUobWVkaWFS
dWxlLCBwYXJlbnQpCiB7CiB9CiAKQEAgLTQxLDM4ICs0MSw0MiBAQCBDU1NNZWRpYVJ1bGU6On5D
U1NNZWRpYVJ1bGUoKQogICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyLT5jbGVhclBhcmVudFJ1
bGUoKTsKIH0KIAotTWVkaWFRdWVyeVNldCogQ1NTTWVkaWFSdWxlOjptZWRpYVF1ZXJpZXMoKSBj
b25zdAorTWVkaWFRdWVyeVNldCYgQ1NTTWVkaWFSdWxlOjptZWRpYVF1ZXJpZXMoKSBjb25zdAog
ewotICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4obV9ncm91cFJ1bGUuZ2V0KCkp
Lm1lZGlhUXVlcmllcygpOworICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4oZ3Jv
dXBSdWxlKCkpLm1lZGlhUXVlcmllcygpOwogfQogCiBTdHJpbmcgQ1NTTWVkaWFSdWxlOjpjc3NU
ZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKLSAgICByZXN1bHQuYXBw
ZW5kTGl0ZXJhbCgiQG1lZGlhICIpOwotICAgIGlmIChtZWRpYVF1ZXJpZXMoKSkgewotICAgICAg
ICByZXN1bHQuYXBwZW5kKG1lZGlhUXVlcmllcygpLT5tZWRpYVRleHQoKSwgJyAnKTsKLSAgICB9
Ci0gICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoInsgXG4iKTsKLSAgICBhcHBlbmRDc3NUZXh0Rm9y
SXRlbXMocmVzdWx0KTsKKyAgICByZXN1bHQuYXBwZW5kKCJAbWVkaWEgIiwgY29uZGl0aW9uVGV4
dCgpLCAiIHsgXG4iKTsKKyAgICBhcHBlbmRDU1NUZXh0Rm9ySXRlbXMocmVzdWx0KTsKICAgICBy
ZXN1bHQuYXBwZW5kKCd9Jyk7CiAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwogfQogCitT
dHJpbmcgQ1NTTWVkaWFSdWxlOjpjb25kaXRpb25UZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bWVkaWFRdWVyaWVzKCkubWVkaWFUZXh0KCk7Cit9CisKK3ZvaWQgQ1NTTWVkaWFSdWxlOjpzZXRD
b25kaXRpb25UZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBtZWRpYVF1ZXJpZXMoKS5z
ZXQodGV4dCk7Cit9CisKIE1lZGlhTGlzdCogQ1NTTWVkaWFSdWxlOjptZWRpYSgpIGNvbnN0CiB7
Ci0gICAgaWYgKCFtZWRpYVF1ZXJpZXMoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
aWYgKCFtX21lZGlhQ1NTT01XcmFwcGVyKQotICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyID0g
TWVkaWFMaXN0OjpjcmVhdGUobWVkaWFRdWVyaWVzKCksIGNvbnN0X2Nhc3Q8Q1NTTWVkaWFSdWxl
Kj4odGhpcykpOworICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyID0gTWVkaWFMaXN0OjpjcmVh
dGUoJm1lZGlhUXVlcmllcygpLCBjb25zdF9jYXN0PENTU01lZGlhUnVsZSo+KHRoaXMpKTsKICAg
ICByZXR1cm4gbV9tZWRpYUNTU09NV3JhcHBlci5nZXQoKTsKIH0KIAogdm9pZCBDU1NNZWRpYVJ1
bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCiB7Ci0gICAgQ1NTR3JvdXBpbmdSdWxl
OjpyZWF0dGFjaChydWxlKTsKLSAgICBpZiAobV9tZWRpYUNTU09NV3JhcHBlciAmJiBtZWRpYVF1
ZXJpZXMoKSkKLSAgICAgICAgbV9tZWRpYUNTU09NV3JhcHBlci0+cmVhdHRhY2gobWVkaWFRdWVy
aWVzKCkpOworICAgIENTU0NvbmRpdGlvblJ1bGU6OnJlYXR0YWNoKHJ1bGUpOworICAgIGlmICht
X21lZGlhQ1NTT01XcmFwcGVyKQorICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyLT5yZWF0dGFj
aCgmbWVkaWFRdWVyaWVzKCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTWVkaWFSdWxlLmgKaW5kZXggMjE2MGZhY2E5ZTRhNjgzMzUwMTc2MzYzMGNiODM4MjU5
MmY4NGQ2MC4uNDU0OGMxZDA5OGU3OGNhYzM4NWNhOWVkYjUxODBhMDQ1Y2RiMmJjNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0y
MDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVl
bGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA2LCAyMDA4
LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwMi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0y
Miw3ICsyMiw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxl
LmgiCisjaW5jbHVkZSAiQ1NTQ29uZGl0aW9uUnVsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTMwLDEwICszMCw5IEBAIGNsYXNzIE1lZGlhTGlzdDsKIGNsYXNzIE1lZGlhUXVlcnlT
ZXQ7CiBjbGFzcyBTdHlsZVJ1bGVNZWRpYTsKIAotY2xhc3MgQ1NTTWVkaWFSdWxlIGZpbmFsIDog
cHVibGljIENTU0dyb3VwaW5nUnVsZSB7CitjbGFzcyBDU1NNZWRpYVJ1bGUgZmluYWwgOiBwdWJs
aWMgQ1NTQ29uZGl0aW9uUnVsZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxDU1NNZWRpYVJ1
bGU+IGNyZWF0ZShTdHlsZVJ1bGVNZWRpYSYgcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWVkaWFSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KLQogICAg
IHZpcnR1YWwgfkNTU01lZGlhUnVsZSgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFMaXN0
KiBtZWRpYSgpIGNvbnN0OwpAQCAtNDQsOSArNDMsMTEgQEAgcHJpdmF0ZToKICAgICBDU1NSdWxl
OjpUeXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBNRURJQV9SVUxFOyB9CiAgICAgdm9p
ZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlJikgZmluYWw7CiAgICAgU3RyaW5nIGNzc1RleHQoKSBj
b25zdCBmaW5hbDsKKyAgICBTdHJpbmcgY29uZGl0aW9uVGV4dCgpIGNvbnN0IGZpbmFsOworICAg
IHZvaWQgc2V0Q29uZGl0aW9uVGV4dChjb25zdCBTdHJpbmcmKSBmaW5hbDsKKworICAgIE1lZGlh
UXVlcnlTZXQmIG1lZGlhUXVlcmllcygpIGNvbnN0OwogCi0gICAgTWVkaWFRdWVyeVNldCogbWVk
aWFRdWVyaWVzKCkgY29uc3Q7Ci0gICAgCiAgICAgbXV0YWJsZSBSZWZQdHI8TWVkaWFMaXN0PiBt
X21lZGlhQ1NTT01XcmFwcGVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU01lZGlhUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbApp
bmRleCAzOWFmOTQxYWM3ZTk1MTMwY2ZmY2U3MGIxYjU2MjQzMjc0YmZhNjg5Li5iMDJjZTc0YzY3
YWJlNjhmN2IyMGU4MTE1OTg1MjA5YTc4NWExZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFS
dWxlLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2
IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTE4
LDEwICsxOCw3IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi1pbnRl
cmZhY2UgQ1NTTWVkaWFSdWxlIDogQ1NTUnVsZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIE1l
ZGlhTGlzdCBtZWRpYTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgY3NzUnVs
ZXM7Ci0KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgaW5zZXJ0UnVsZShv
cHRpb25hbCBET01TdHJpbmcgcnVsZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCB1bnNpZ25lZCBs
b25nIGluZGV4ID0gMCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRl
UnVsZShvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4ID0gMCk7CitbRXhwb3NlZD1XaW5kb3dd
CitpbnRlcmZhY2UgQ1NTTWVkaWFSdWxlIDogQ1NTQ29uZGl0aW9uUnVsZSB7CisgICAgW1NhbWVP
YmplY3QsIFB1dEZvcndhcmRzPW1lZGlhVGV4dF0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhTGlz
dCBtZWRpYTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCA0ZGE1YjYzNDQwNzA0MjhkZWIzY2Rm
ZTI0MjlkNDU2MjM2MmRjNzQxLi5jMDM0NjI2NGI0NjNjZWYzNWQ5OTUxYzI1ZmJjMTA3OWNiN2E0
OGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTkt
MjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11
ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNiwgMjAw
NywgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQW5kcmVhcyBLbGluZyAoa2xpbmdAd2Via2l0Lm9yZykKICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBA
IC00NCw1NCArNDQsMzEgQEAgcHVibGljOgogICAgICAgICBNRURJQV9SVUxFLAogICAgICAgICBG
T05UX0ZBQ0VfUlVMRSwKICAgICAgICAgUEFHRV9SVUxFLAotICAgICAgICAvLyA3IHdhcyBWQVJJ
QUJMRVNfUlVMRTsgd2Ugbm93IG1hdGNoIG90aGVyIGJyb3dzZXJzIHdpdGggNyBhcwotICAgICAg
ICAvLyBLRVlGUkFNRVNfUlVMRToKLSAgICAgICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MTI5Mz4uCiAgICAgICAgIEtFWUZSQU1FU19SVUxFLAogICAgICAg
ICBLRVlGUkFNRV9SVUxFLAotICAgICAgICBOQU1FU1BBQ0VfUlVMRSA9IDEwLCAvLyBNYXRjaGVz
IG90aGVyIGJyb3dzZXJzLgorICAgICAgICBNQVJHSU5fUlVMRSwKKyAgICAgICAgTkFNRVNQQUNF
X1JVTEUsCiAgICAgICAgIFNVUFBPUlRTX1JVTEUgPSAxMiwKICAgICB9OwogCiAgICAgZW51bSBE
ZXByZWNhdGVkVHlwZSB7Ci0gICAgICAgIFdFQktJVF9LRVlGUkFNRVNfUlVMRSA9IDcsCi0gICAg
ICAgIFdFQktJVF9LRVlGUkFNRV9SVUxFID0gOAorICAgICAgICBXRUJLSVRfS0VZRlJBTUVTX1JV
TEUgPSBLRVlGUkFNRVNfUlVMRSwKKyAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUgPSBLRVlG
UkFNRV9SVUxFCiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAwOwog
ICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKSA9IDA7CiAKLSAgICB2b2lkIHNldFBhcmVudFN0eWxl
U2hlZXQoQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCkKLSAgICB7Ci0gICAgICAgIG1fcGFyZW50
SXNSdWxlID0gZmFsc2U7Ci0gICAgICAgIG1fcGFyZW50U3R5bGVTaGVldCA9IHN0eWxlU2hlZXQ7
Ci0gICAgfQotCi0gICAgdm9pZCBzZXRQYXJlbnRSdWxlKENTU1J1bGUqIHJ1bGUpCi0gICAgewot
ICAgICAgICBtX3BhcmVudElzUnVsZSA9IHRydWU7Ci0gICAgICAgIG1fcGFyZW50UnVsZSA9IHJ1
bGU7Ci0gICAgfQotCi0gICAgQ1NTU3R5bGVTaGVldCogcGFyZW50U3R5bGVTaGVldCgpIGNvbnN0
Ci0gICAgewotICAgICAgICBpZiAobV9wYXJlbnRJc1J1bGUpCi0gICAgICAgICAgICByZXR1cm4g
bV9wYXJlbnRSdWxlID8gbV9wYXJlbnRSdWxlLT5wYXJlbnRTdHlsZVNoZWV0KCkgOiAwOwotICAg
ICAgICByZXR1cm4gbV9wYXJlbnRTdHlsZVNoZWV0OwotICAgIH0KLQotICAgIENTU1J1bGUqIHBh
cmVudFJ1bGUoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudElzUnVsZSA/IG1fcGFyZW50UnVsZSA6
IDA7IH0KKyAgICB2b2lkIHNldFBhcmVudFN0eWxlU2hlZXQoQ1NTU3R5bGVTaGVldCopOworICAg
IHZvaWQgc2V0UGFyZW50UnVsZShDU1NSdWxlKik7CisgICAgQ1NTU3R5bGVTaGVldCogcGFyZW50
U3R5bGVTaGVldCgpIGNvbnN0OworICAgIENTU1J1bGUqIHBhcmVudFJ1bGUoKSBjb25zdCB7IHJl
dHVybiBtX3BhcmVudElzUnVsZSA/IG1fcGFyZW50UnVsZSA6IG51bGxwdHI7IH0KIAogICAgIFdF
QkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldENzc1RleHQoY29uc3QgU3RyaW5nJik7
CiAKIHByb3RlY3RlZDoKLSAgICBDU1NSdWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICAg
ICAgOiBtX2hhc0NhY2hlZFNlbGVjdG9yVGV4dChmYWxzZSkKLSAgICAgICAgLCBtX3BhcmVudElz
UnVsZShmYWxzZSkKLSAgICAgICAgLCBtX3BhcmVudFN0eWxlU2hlZXQocGFyZW50KQotICAgIHsK
LSAgICB9CisgICAgZXhwbGljaXQgQ1NTUnVsZShDU1NTdHlsZVNoZWV0Kik7CiAKICAgICBib29s
IGhhc0NhY2hlZFNlbGVjdG9yVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ2FjaGVkU2VsZWN0
b3JUZXh0OyB9CiAgICAgdm9pZCBzZXRIYXNDYWNoZWRTZWxlY3RvclRleHQoYm9vbCBoYXNDYWNo
ZWRTZWxlY3RvclRleHQpIGNvbnN0IHsgbV9oYXNDYWNoZWRTZWxlY3RvclRleHQgPSBoYXNDYWNo
ZWRTZWxlY3RvclRleHQ7IH0KQEAgLTEwMSwxMyArNzgsMzggQEAgcHJvdGVjdGVkOgogcHJpdmF0
ZToKICAgICBtdXRhYmxlIHVuc2lnbmVkIGNoYXIgbV9oYXNDYWNoZWRTZWxlY3RvclRleHQgOiAx
OwogICAgIHVuc2lnbmVkIGNoYXIgbV9wYXJlbnRJc1J1bGUgOiAxOwotCiAgICAgdW5pb24gewog
ICAgICAgICBDU1NSdWxlKiBtX3BhcmVudFJ1bGU7CiAgICAgICAgIENTU1N0eWxlU2hlZXQqIG1f
cGFyZW50U3R5bGVTaGVldDsKICAgICB9OwogfTsKIAoraW5saW5lIENTU1J1bGU6OkNTU1J1bGUo
Q1NTU3R5bGVTaGVldCogcGFyZW50KQorICAgIDogbV9oYXNDYWNoZWRTZWxlY3RvclRleHQoZmFs
c2UpCisgICAgLCBtX3BhcmVudElzUnVsZShmYWxzZSkKKyAgICAsIG1fcGFyZW50U3R5bGVTaGVl
dChwYXJlbnQpCit7Cit9CisKK2lubGluZSB2b2lkIENTU1J1bGU6OnNldFBhcmVudFN0eWxlU2hl
ZXQoQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCkKK3sKKyAgICBtX3BhcmVudElzUnVsZSA9IGZh
bHNlOworICAgIG1fcGFyZW50U3R5bGVTaGVldCA9IHN0eWxlU2hlZXQ7Cit9CisKK2lubGluZSB2
b2lkIENTU1J1bGU6OnNldFBhcmVudFJ1bGUoQ1NTUnVsZSogcnVsZSkKK3sKKyAgICBtX3BhcmVu
dElzUnVsZSA9IHRydWU7CisgICAgbV9wYXJlbnRSdWxlID0gcnVsZTsKK30KKworaW5saW5lIENT
U1N0eWxlU2hlZXQqIENTU1J1bGU6OnBhcmVudFN0eWxlU2hlZXQoKSBjb25zdAoreworICAgIGlm
IChtX3BhcmVudElzUnVsZSkKKyAgICAgICAgcmV0dXJuIG1fcGFyZW50UnVsZSA/IG1fcGFyZW50
UnVsZS0+cGFyZW50U3R5bGVTaGVldCgpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gbV9wYXJlbnRT
dHlsZVNoZWV0OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNkZWZpbmUgU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19DU1NfUlVMRShUb1ZhbHVlVHlwZU5hbWUsIHByZWRpY2F0ZSkgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuaWRsCmluZGV4IDJkNDA2YmFkMDhmNmViMzJiNmU0OGNjY2Y5YmM1NDIz
N2VmOGU1MmIuLmI1MGFhMDgzNmZkYWI4MTgyMjBkNDM5ZjQwMWIxNjQxYzMzYjI0MmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDA2LCAyMDA3LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAq
CiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCkBAIC0yMSwxMSArMjEsMTYgQEAKIFsKICAgICBDdXN0b21Ub0pTT2JqZWN0LAog
ICAgIEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9uLAorICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEdl
bmVyYXRlSXNSZWFjaGFibGUsCiAgICAgSlNDdXN0b21IZWFkZXIsCiAgICAgSlNDdXN0b21NYXJr
RnVuY3Rpb24sCiBdIGludGVyZmFjZSBDU1NSdWxlIHsKLSAgICAvLyBSdWxlVHlwZQorICAgIGF0
dHJpYnV0ZSBET01TdHJpbmc/IGNzc1RleHQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1
bGU/IHBhcmVudFJ1bGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlU2hlZXQ/IHBh
cmVudFN0eWxlU2hlZXQ7CisKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQg
dHlwZTsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBVTktOT1dOX1JVTEUgPSAwOwogICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFNUWUxFX1JVTEUgPSAxOwogICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IENIQVJTRVRfUlVMRSA9IDI7CkBAIC0zNSwxNyArNDAsMTEgQEAKICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBQQUdFX1JVTEUgPSA2OwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEtFWUZS
QU1FU19SVUxFID0gNzsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBLRVlGUkFNRV9SVUxFID0g
ODsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNQVJHSU5fUlVMRSA9IDk7CiAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgTkFNRVNQQUNFX1JVTEUgPSAxMDsKICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBTVVBQT1JUU19SVUxFID0gMTI7CiAKICAgICAvLyBMZWdhY3kgc3lub255bXMgZm9yIHRo
ZSBhYm92ZSwga2VwdCB0byBhdm9pZCBicmVha2luZyBleGlzdGluZyBjb250ZW50LgogICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9LRVlGUkFNRVNfUlVMRSA9IDc7CiAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgV0VCS0lUX0tFWUZSQU1FX1JVTEUgPSA4OwotCi0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHR5cGU7Ci0KLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5n
PyBjc3NUZXh0OwotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlU2hlZXQ/IHBhcmVu
dFN0eWxlU2hlZXQ7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGU/IHBhcmVudFJ1bGU7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbAppbmRleCA1YmE2MWVjOWZiZjBkZDZi
MWM1NjZmM2E5OWU5ZTgzZmU1NDEwNzM2Li43MTc5NTcxY2U5ZDlhNjhjODE0ZjBiY2JjM2RhNWNh
YjMxOTE5NjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53
ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTE4LDEwICsxOCw4IEBACiAgKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0vLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZl
bCAyOgorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIENTU1N0eWxlUnVsZSA6IENTU1J1bGUg
ewogICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IHNlbGVjdG9yVGV4dDsKLQotICAgIFtQdXRGb3J3
YXJkcz1jc3NUZXh0XSByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiBzdHls
ZTsKKyAgICBbU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9Y3NzVGV4dF0gcmVhZG9ubHkgYXR0cmli
dXRlIENTU1N0eWxlRGVjbGFyYXRpb24gc3R5bGU7CiB9OwotCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTaGVldC5pZGwKaW5kZXggZmZhMzg3NjYzZTcxYWQyNTk0YTgxYTM3NzJlODJkOWE5YzJjMmU0
OS4uNzgyZjllMGU5NzMyZGQzYjdiNmFlODRmNTIwMTE1MDlkYTVlYjc4YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNoZWV0LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29t
PgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKQEAgLTE4LDE3ICsxOCwxNCBAQAogICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCiAgKi8KIAorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIENTU1N0eWxlU2hl
ZXQgOiBTdHlsZVNoZWV0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZSBvd25lclJ1
bGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOwotCiAgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIGluc2VydFJ1bGUoRE9NU3RyaW5nIHJ1
bGUsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKLQogICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5kZWZpbmVkIGRlbGV0ZVJ1bGUodW5zaWduZWQgbG9uZyBpbmRleCk7CiAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgcnVsZXM7Ci0KLSAgICAvLyBUaGUgZm9s
bG93aW5nIHR3byBvcGVyYXRpb25zIGFyZSBXZWJLaXQtc3BlY2lmaWMuCiAgICAgW01heVRocm93
RXhjZXB0aW9uXSBsb25nIGFkZFJ1bGUob3B0aW9uYWwgRE9NU3RyaW5nIHNlbGVjdG9yID0gInVu
ZGVmaW5lZCIsIG9wdGlvbmFsIERPTVN0cmluZyBzdHlsZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25h
bCB1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5l
ZCByZW1vdmVSdWxlKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCmluZGV4IGUxM2UxM2I4NWVkYmJiZDY0NjI2
M2I2ZTMyNDZhNzk2OWNiYTcxOTYuLmZjMWRhZDhhOGQzYjI0MDZkNWFhMzQ0MmNiNjM2Mzg5NmI5
MjM1MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCkBAIC0xLDQgKzEs
NiBAQAotLyogQ29weXJpZ2h0IChDKSAyMDEyIE1vdG9yb2xhIE1vYmlsaXR5IEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTW90b3JvbGEgTW9iaWxp
dHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKQEAgLTM1LDI3ICszNywzMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNTU1N1
cHBvcnRzUnVsZTo6Q1NTU3VwcG9ydHNSdWxlKFN0eWxlUnVsZVN1cHBvcnRzJiBzdXBwb3J0c1J1
bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICA6IENTU0dyb3VwaW5nUnVsZShzdXBwb3J0
c1J1bGUsIHBhcmVudCkKK0NTU1N1cHBvcnRzUnVsZTo6Q1NTU3VwcG9ydHNSdWxlKFN0eWxlUnVs
ZVN1cHBvcnRzJiBydWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NDb25kaXRp
b25SdWxlKHJ1bGUsIHBhcmVudCkKIHsKIH0KIAorUmVmPENTU1N1cHBvcnRzUnVsZT4gQ1NTU3Vw
cG9ydHNSdWxlOjpjcmVhdGUoU3R5bGVSdWxlU3VwcG9ydHMmIHJ1bGUsIENTU1N0eWxlU2hlZXQq
IHBhcmVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdXBwb3J0c1J1bGUocnVs
ZSwgcGFyZW50KSk7Cit9CisKIFN0cmluZyBDU1NTdXBwb3J0c1J1bGU6OmNzc1RleHQoKSBjb25z
dAogewogICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwotCi0gICAgcmVzdWx0LmFwcGVuZExpdGVy
YWwoIkBzdXBwb3J0cyAiKTsKLSAgICByZXN1bHQuYXBwZW5kKGNvbmRpdGlvblRleHQoKSk7Ci0g
ICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiB7XG4iKTsKLSAgICBhcHBlbmRDc3NUZXh0Rm9ySXRl
bXMocmVzdWx0KTsKKyAgICByZXN1bHQuYXBwZW5kKCJAc3VwcG9ydHMgIiwgY29uZGl0aW9uVGV4
dCgpLCAiIHtcbiIpOworICAgIGFwcGVuZENTU1RleHRGb3JJdGVtcyhyZXN1bHQpOwogICAgIHJl
c3VsdC5hcHBlbmQoJ30nKTsKLQogICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKIH0KIAog
U3RyaW5nIENTU1N1cHBvcnRzUnVsZTo6Y29uZGl0aW9uVGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGRvd25jYXN0PFN0eWxlUnVsZVN1cHBvcnRzPihtX2dyb3VwUnVsZS5nZXQoKSkuY29uZGl0
aW9uVGV4dCgpOworICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVTdXBwb3J0cz4oZ3JvdXBS
dWxlKCkpLmNvbmRpdGlvblRleHQoKTsKK30KKwordm9pZCBDU1NTdXBwb3J0c1J1bGU6OnNldENv
bmRpdGlvblRleHQoY29uc3QgU3RyaW5nJikKK3sKKyAgICAvLyBGSVhNRTogTm90IGltcGxlbWVu
dGVkIHlldC4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1
cHBvcnRzUnVsZS5oCmluZGV4IGZlODM2NTBjMWY1MDlmNmI4M2I1MjU3ZGQxOGE5NzNkNTA5NDdi
NzYuLmU2Y2U0ZjY5ZjJiZWJjODFkNjgyZWFiZTU2NWY5NmZkZWM2ZDVkOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmgKQEAgLTEsNCArMSw2IEBACi0vKiBDb3B5cmlnaHQgKEMp
IDIwMTIgTW90b3JvbGEgTW9iaWxpdHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMjgsMjkgKzMwLDIz
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxlLmgiCisjaW5j
bHVkZSAiQ1NTQ29uZGl0aW9uUnVsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IENTU1J1bGU7CiBjbGFzcyBTdHlsZVJ1bGVTdXBwb3J0czsKIAotY2xhc3MgQ1NTU3VwcG9ydHNS
dWxlIGZpbmFsIDogcHVibGljIENTU0dyb3VwaW5nUnVsZSB7CitjbGFzcyBDU1NTdXBwb3J0c1J1
bGUgZmluYWwgOiBwdWJsaWMgQ1NTQ29uZGl0aW9uUnVsZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFJlZjxDU1NTdXBwb3J0c1J1bGU+IGNyZWF0ZShTdHlsZVJ1bGVTdXBwb3J0cyYgcnVsZSwgQ1NT
U3R5bGVTaGVldCogc2hlZXQpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBD
U1NTdXBwb3J0c1J1bGUocnVsZSwgc2hlZXQpKTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIH5DU1NT
dXBwb3J0c1J1bGUoKSA9IGRlZmF1bHQ7CisgICAgc3RhdGljIFJlZjxDU1NTdXBwb3J0c1J1bGU+
IGNyZWF0ZShTdHlsZVJ1bGVTdXBwb3J0cyYsIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7CiAKICAg
ICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IGZpbmFsOwotCi0gICAgU3RyaW5nIGNvbmRpdGlvblRl
eHQoKSBjb25zdDsKKyAgICBTdHJpbmcgY29uZGl0aW9uVGV4dCgpIGNvbnN0IGZpbmFsOworICAg
IHZvaWQgc2V0Q29uZGl0aW9uVGV4dChjb25zdCBTdHJpbmcmKSBmaW5hbDsKIAogcHJpdmF0ZToK
ICAgICBDU1NTdXBwb3J0c1J1bGUoU3R5bGVSdWxlU3VwcG9ydHMmLCBDU1NTdHlsZVNoZWV0Kik7
Ci0KICAgICBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBTVVBQT1JU
U19SVUxFOyB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9y
dHNSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCmluZGV4
IGZhYTJhNDUxM2IxOWQ3YmE1ZjU5ZmNlMDdmYzM1NjcwZmYzNTcyNGMuLmEwNTNjMjExYzVjYWM5
MmVjMTZmYmZhYWJmOWIzNDcyNmZjMzZhNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdXBwb3J0c1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0
c1J1bGUuaWRsCkBAIC0xLDQgKzEsNiBAQAotLyogQ29weXJpZ2h0IChDKSAyMDEyIE1vdG9yb2xh
IE1vYmlsaXR5IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgTW90b3JvbGEgTW9iaWxpdHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTI2LDEwICsyOCw2IEBACiAgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLWludGVyZmFjZSBDU1NTdXBwb3J0c1J1bGUgOiBDU1NSdWxlIHsKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgY3NzUnVsZXM7Ci0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBjb25kaXRpb25UZXh0OwotCi0gICAgW01heVRocm93RXhjZXB0aW9u
XSB1bnNpZ25lZCBsb25nIGluc2VydFJ1bGUoRE9NU3RyaW5nIHJ1bGUsIG9wdGlvbmFsIHVuc2ln
bmVkIGxvbmcgaW5kZXggPSAwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBk
ZWxldGVSdWxlKHVuc2lnbmVkIGxvbmcgaW5kZXgpOworW0V4cG9zZWQ9V2luZG93XQoraW50ZXJm
YWNlIENTU1N1cHBvcnRzUnVsZSA6IENTU0NvbmRpdGlvblJ1bGUgewogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhTGlzdC5jcHAKaW5kZXggMjExMmY0MGM0YzcyMDgwYmE4MGU1ZDJkMjkyOTI0Yjc2ZjE3YTFi
Ni4uYjQ5ZGYxZGQ3MDI3MTdiNmFmNmVkY2EyMTNkMjY3NDdiNDQ3NDUxMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhTGlzdC5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJz
IEtub2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC04Miw3
ICs4Miw3IEBAIE1lZGlhUXVlcnlTZXQ6On5NZWRpYVF1ZXJ5U2V0KCkgPSBkZWZhdWx0OwogYm9v
bCBNZWRpYVF1ZXJ5U2V0OjpzZXQoY29uc3QgU3RyaW5nJiBtZWRpYVN0cmluZykKIHsKICAgICBh
dXRvIHJlc3VsdCA9IGNyZWF0ZShtZWRpYVN0cmluZyk7Ci0gICAgbV9xdWVyaWVzLnN3YXAocmVz
dWx0LT5tX3F1ZXJpZXMpOworICAgIG1fcXVlcmllcyA9IFdURk1vdmUocmVzdWx0LT5tX3F1ZXJp
ZXMpOwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCmluZGV4
IDQ3NDE4MzYyODUzNTFjMDQ4MzZlOTk5YTcyZTliYzRlMWY3MTMzNzEuLmZlYzgyYjEzY2U0Zjg3
NjVjODVlNWYyZGE0Nzk5OGZlOGQwZmFiNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYUxpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTI1LDExICsyNSwxMiBAQAogCiBbCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCisg
ICAgRXhwb3NlZD1XaW5kb3csCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZSwKICAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIEpTQ3VzdG9tSGVhZGVyLAogXSBpbnRlcmZhY2UgTWVk
aWFMaXN0IHsKLSAgICBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJp
bmcgbWVkaWFUZXh0OworICAgIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1w
dHlTdHJpbmddIERPTVN0cmluZyBtZWRpYVRleHQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOwogCiAgICAgZ2V0dGVyIERPTVN0cmluZz8gaXRlbSh1bnNpZ25l
ZCBsb25nIGluZGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggYWI1MzI3M2E2MDMz
ZTVlMTI0OGJiYzI2ZmNjNWYxNTA2MWM4OTAxZi4uYzgzY2E4MmQyOTEwYTRjN2FiMTYxMDJmODE2
YTQxMWYwOTg2OWMyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTEsNyArMSw3IEBA
CiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMp
IDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAo
QykgMjAwMiwgMjAwNSwgMjAwNiwgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTE4Nyw2ICsxODcsMTYgQEAgU3R5bGVS
dWxlOjpTdHlsZVJ1bGUoY29uc3QgU3R5bGVSdWxlJiBvKQogCiBTdHlsZVJ1bGU6On5TdHlsZVJ1
bGUoKSA9IGRlZmF1bHQ7CiAKK1JlZjxTdHlsZVJ1bGU+IFN0eWxlUnVsZTo6Y3JlYXRlKFJlZjxT
dHlsZVByb3BlcnRpZXNCYXNlPiYmIHByb3BlcnRpZXMsIGJvb2wgaGFzRG9jdW1lbnRTZWN1cml0
eU9yaWdpbiwgQ1NTU2VsZWN0b3JMaXN0JiYgc2VsZWN0b3JzKQoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFN0eWxlUnVsZShXVEZNb3ZlKHByb3BlcnRpZXMpLCBoYXNEb2N1bWVudFNlY3Vy
aXR5T3JpZ2luLCBXVEZNb3ZlKHNlbGVjdG9ycykpKTsKK30KKworUmVmPFN0eWxlUnVsZT4gU3R5
bGVSdWxlOjpjb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1
bGUoKnRoaXMpKTsKK30KKwogY29uc3QgU3R5bGVQcm9wZXJ0aWVzJiBTdHlsZVJ1bGU6OnByb3Bl
cnRpZXMoKSBjb25zdAogewogICAgIGlmIChtX3Byb3BlcnRpZXMtPnR5cGUoKSA9PSBEZWZlcnJl
ZFByb3BlcnRpZXNUeXBlKQpAQCAtMjUzLDYgKzI2MywxMSBAQCBTdHlsZVJ1bGVQYWdlOjpTdHls
ZVJ1bGVQYWdlKGNvbnN0IFN0eWxlUnVsZVBhZ2UmIG8pCiAKIFN0eWxlUnVsZVBhZ2U6On5TdHls
ZVJ1bGVQYWdlKCkgPSBkZWZhdWx0OwogCitSZWY8U3R5bGVSdWxlUGFnZT4gU3R5bGVSdWxlUGFn
ZTo6Y3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXM+JiYgcHJvcGVydGllcywgQ1NTU2VsZWN0b3JM
aXN0JiYgc2VsZWN0b3JzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVBh
Z2UoV1RGTW92ZShwcm9wZXJ0aWVzKSwgV1RGTW92ZShzZWxlY3RvcnMpKSk7Cit9CisKIE11dGFi
bGVTdHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZVBhZ2U6Om11dGFibGVQcm9wZXJ0aWVzKCkKIHsK
ICAgICBpZiAoIWlzPE11dGFibGVTdHlsZVByb3BlcnRpZXM+KG1fcHJvcGVydGllcy5nZXQoKSkp
CkBAIC0yOTksMTUgKzMxNCwxNSBAQCB2b2lkIERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0Ojpw
YXJzZURlZmVycmVkS2V5ZnJhbWVzKFN0eWxlUnVsZUtleWZyYW1lcyYga2V5ZgogICAgIG1fcGFy
c2VyLT5wYXJzZUtleWZyYW1lTGlzdChtX3Rva2Vucywga2V5ZnJhbWVzUnVsZSk7CiB9CiAgICAg
Ci1TdHlsZVJ1bGVHcm91cDo6U3R5bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZSB0eXBlLCBWZWN0
b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgYWRvcHRSdWxlKQorU3R5bGVSdWxlR3JvdXA6OlN0
eWxlUnVsZUdyb3VwKFN0eWxlUnVsZVR5cGUgdHlwZSwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVC
YXNlPj4mJiBydWxlcykKICAgICA6IFN0eWxlUnVsZUJhc2UodHlwZSkKKyAgICAsIG1fY2hpbGRS
dWxlcyhXVEZNb3ZlKHJ1bGVzKSkKIHsKLSAgICBtX2NoaWxkUnVsZXMuc3dhcChhZG9wdFJ1bGUp
OwogfQogCi1TdHlsZVJ1bGVHcm91cDo6U3R5bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZSB0eXBl
LCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYgZGVmZXJyZWRS
dWxlcykKK1N0eWxlUnVsZUdyb3VwOjpTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlIHR5cGUs
IHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBydWxlcykKICAg
ICA6IFN0eWxlUnVsZUJhc2UodHlwZSkKLSAgICAsIG1fZGVmZXJyZWRSdWxlcyhXVEZNb3ZlKGRl
ZmVycmVkUnVsZXMpKQorICAgICwgbV9kZWZlcnJlZFJ1bGVzKFdURk1vdmUocnVsZXMpKQogewog
fQogCkBAIC0zNDYsMzUgKzM2MSw0OCBAQCB2b2lkIFN0eWxlUnVsZUdyb3VwOjpwYXJzZURlZmVy
cmVkUnVsZXNJZk5lZWRlZCgpIGNvbnN0CiAgICAgbV9kZWZlcnJlZFJ1bGVzID0gbnVsbHB0cjsK
IH0KICAgICAKLVN0eWxlUnVsZU1lZGlhOjpTdHlsZVJ1bGVNZWRpYShSZWY8TWVkaWFRdWVyeVNl
dD4mJiBtZWRpYSwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mIGFkb3B0UnVsZXMpCi0g
ICAgOiBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlOjpNZWRpYSwgYWRvcHRSdWxlcykKK1N0
eWxlUnVsZU1lZGlhOjpTdHlsZVJ1bGVNZWRpYShSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwg
VmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJiBydWxlcykKKyAgICA6IFN0eWxlUnVsZUdy
b3VwKFN0eWxlUnVsZVR5cGU6Ok1lZGlhLCBXVEZNb3ZlKHJ1bGVzKSkKICAgICAsIG1fbWVkaWFR
dWVyaWVzKFdURk1vdmUobWVkaWEpKQogewogfQogCi1TdHlsZVJ1bGVNZWRpYTo6U3R5bGVSdWxl
TWVkaWEoUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJl
ZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBkZWZlcnJlZFJ1bGVzKQotICAgIDogU3R5bGVSdWxlR3Jv
dXAoU3R5bGVSdWxlVHlwZTo6TWVkaWEsIFdURk1vdmUoZGVmZXJyZWRSdWxlcykpCitTdHlsZVJ1
bGVNZWRpYTo6U3R5bGVSdWxlTWVkaWEoUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIHN0ZDo6
dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBydWxlcykKKyAgICA6IFN0
eWxlUnVsZUdyb3VwKFN0eWxlUnVsZVR5cGU6Ok1lZGlhLCBXVEZNb3ZlKHJ1bGVzKSkKICAgICAs
IG1fbWVkaWFRdWVyaWVzKFdURk1vdmUobWVkaWEpKQogewogfQogCi1TdHlsZVJ1bGVNZWRpYTo6
U3R5bGVSdWxlTWVkaWEoY29uc3QgU3R5bGVSdWxlTWVkaWEmIG8pCi0gICAgOiBTdHlsZVJ1bGVH
cm91cChvKQorU3R5bGVSdWxlTWVkaWE6OlN0eWxlUnVsZU1lZGlhKGNvbnN0IFN0eWxlUnVsZU1l
ZGlhJiBvdGhlcikKKyAgICA6IFN0eWxlUnVsZUdyb3VwKG90aGVyKQorICAgICwgbV9tZWRpYVF1
ZXJpZXMob3RoZXIubV9tZWRpYVF1ZXJpZXMtPmNvcHkoKSkKK3sKK30KKworUmVmPFN0eWxlUnVs
ZU1lZGlhPiBTdHlsZVJ1bGVNZWRpYTo6Y3JlYXRlKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlh
LCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYmIHJ1bGVzKQoreworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFN0eWxlUnVsZU1lZGlhKFdURk1vdmUobWVkaWEpLCBXVEZNb3ZlKHJ1bGVz
KSkpOworfQorCitSZWY8U3R5bGVSdWxlTWVkaWE+IFN0eWxlUnVsZU1lZGlhOjpjcmVhdGUoUmVm
PE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3Jv
dXBSdWxlTGlzdD4mJiBkZWZlcnJlZENoaWxkUnVsZXMpCiB7Ci0gICAgaWYgKG8ubV9tZWRpYVF1
ZXJpZXMpCi0gICAgICAgIG1fbWVkaWFRdWVyaWVzID0gby5tX21lZGlhUXVlcmllcy0+Y29weSgp
OworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZU1lZGlhKFdURk1vdmUobWVkaWEp
LCBXVEZNb3ZlKGRlZmVycmVkQ2hpbGRSdWxlcykpKTsKIH0KIAorUmVmPFN0eWxlUnVsZU1lZGlh
PiBTdHlsZVJ1bGVNZWRpYTo6Y29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU3R5bGVSdWxlTWVkaWEoKnRoaXMpKTsKK30KIAotU3R5bGVSdWxlU3VwcG9ydHM6OlN0eWxl
UnVsZVN1cHBvcnRzKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25J
c1N1cHBvcnRlZCwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mIGFkb3B0UnVsZXMpCi0g
ICAgOiBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0cywgYWRvcHRSdWxlcykK
K1N0eWxlUnVsZVN1cHBvcnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJpbmcmIGNvbmRp
dGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8U3R5bGVS
dWxlQmFzZT4+JiYgcnVsZXMpCisgICAgOiBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlOjpT
dXBwb3J0cywgV1RGTW92ZShydWxlcykpCiAgICAgLCBtX2NvbmRpdGlvblRleHQoY29uZGl0aW9u
VGV4dCkKICAgICAsIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQoY29uZGl0aW9uSXNTdXBwb3J0ZWQp
CiB7CiB9CiAKLVN0eWxlUnVsZVN1cHBvcnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJp
bmcmIGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIHN0ZDo6dW5pcXVl
X3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBkZWZlcnJlZFJ1bGVzKQotICAgIDog
U3R5bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZTo6U3VwcG9ydHMsIFdURk1vdmUoZGVmZXJyZWRS
dWxlcykpCitTdHlsZVJ1bGVTdXBwb3J0czo6U3R5bGVSdWxlU3VwcG9ydHMoY29uc3QgU3RyaW5n
JiBjb25kaXRpb25UZXh0LCBib29sIGNvbmRpdGlvbklzU3VwcG9ydGVkLCBzdGQ6OnVuaXF1ZV9w
dHI8RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYgcnVsZXMpCisgICAgOiBTdHlsZVJ1bGVH
cm91cChTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0cywgV1RGTW92ZShydWxlcykpCiAgICAgLCBtX2Nv
bmRpdGlvblRleHQoY29uZGl0aW9uVGV4dCkKICAgICAsIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQo
Y29uZGl0aW9uSXNTdXBwb3J0ZWQpCiB7CkBAIC0zODcsNiArNDE1LDE2IEBAIFN0eWxlUnVsZVN1
cHBvcnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHlsZVJ1bGVTdXBwb3J0cyYgbykKIHsK
IH0KIAorUmVmPFN0eWxlUnVsZVN1cHBvcnRzPiBTdHlsZVJ1bGVTdXBwb3J0czo6Y3JlYXRlKGNv
bnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgVmVj
dG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJiBydWxlcykKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTdHlsZVJ1bGVTdXBwb3J0cyhjb25kaXRpb25UZXh0LCBjb25kaXRpb25Jc1N1cHBv
cnRlZCwgV1RGTW92ZShydWxlcykpKTsKK30KKworUmVmPFN0eWxlUnVsZVN1cHBvcnRzPiBTdHls
ZVJ1bGVTdXBwb3J0czo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBj
b25kaXRpb25Jc1N1cHBvcnRlZCwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1
bGVMaXN0PiYmIHJ1bGVzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1
cHBvcnRzKGNvbmRpdGlvblRleHQsIGNvbmRpdGlvbklzU3VwcG9ydGVkLCBXVEZNb3ZlKHJ1bGVz
KSkpOworfQorCiBTdHlsZVJ1bGVDaGFyc2V0OjpTdHlsZVJ1bGVDaGFyc2V0KCkKICAgICA6IFN0
eWxlUnVsZUJhc2UoU3R5bGVSdWxlVHlwZTo6Q2hhcnNldCkKIHsKQEAgLTM5Nyw5ICs0MzUsNyBA
QCBTdHlsZVJ1bGVDaGFyc2V0OjpTdHlsZVJ1bGVDaGFyc2V0KGNvbnN0IFN0eWxlUnVsZUNoYXJz
ZXQmIG8pCiB7CiB9CiAKLVN0eWxlUnVsZUNoYXJzZXQ6On5TdHlsZVJ1bGVDaGFyc2V0KCkgPSBk
ZWZhdWx0OwotCi1TdHlsZVJ1bGVOYW1lc3BhY2U6OlN0eWxlUnVsZU5hbWVzcGFjZShBdG9tU3Ry
aW5nIHByZWZpeCwgQXRvbVN0cmluZyB1cmkpCitTdHlsZVJ1bGVOYW1lc3BhY2U6OlN0eWxlUnVs
ZU5hbWVzcGFjZShjb25zdCBBdG9tU3RyaW5nJiBwcmVmaXgsIGNvbnN0IEF0b21TdHJpbmcmIHVy
aSkKICAgICA6IFN0eWxlUnVsZUJhc2UoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlKQogICAgICwg
bV9wcmVmaXgocHJlZml4KQogICAgICwgbV91cmkodXJpKQpAQCAtNDE1LDQgKzQ1MSw5IEBAIFN0
eWxlUnVsZU5hbWVzcGFjZTo6U3R5bGVSdWxlTmFtZXNwYWNlKGNvbnN0IFN0eWxlUnVsZU5hbWVz
cGFjZSYgbykKIAogU3R5bGVSdWxlTmFtZXNwYWNlOjp+U3R5bGVSdWxlTmFtZXNwYWNlKCkgPSBk
ZWZhdWx0OwogCitSZWY8U3R5bGVSdWxlTmFtZXNwYWNlPiBTdHlsZVJ1bGVOYW1lc3BhY2U6OmNy
ZWF0ZShjb25zdCBBdG9tU3RyaW5nJiBwcmVmaXgsIGNvbnN0IEF0b21TdHJpbmcmIHVyaSkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVOYW1lc3BhY2UocHJlZml4LCB1cmkp
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4
IGIwOTk5YjU0NzUyNjg0ZmJlODZkNDYxMTRmMGYwODI4YTM1NTI1MDIuLjA4YTc4NzVmZGFjNTRi
ODc0ZTg3MTEyZmIxNDEzYWQyMTM0ZDViYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTEs
NyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3Jn
KQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENv
cHlyaWdodCAoQykgMjAwMiwgMjAwNiwgMjAwOCwgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTU5LDMwICs1OSwxNSBA
QCBwdWJsaWM6CiAKICAgICBSZWY8U3R5bGVSdWxlQmFzZT4gY29weSgpIGNvbnN0OwogCi0gICAg
dm9pZCBkZXJlZigpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoZGVyZWZCYXNlKCkpCi0gICAg
ICAgICAgICBjb25zdF9jYXN0PFN0eWxlUnVsZUJhc2UmPigqdGhpcykuZGVzdHJveSgpOwotICAg
IH0KKyAgICB2b2lkIGRlcmVmKCkgY29uc3Q7CiAKICAgICAvLyBGSVhNRTogVGhlcmUgc2hvdWxk
bid0IGJlIGFueSBuZWVkIGZvciB0aGUgbnVsbCBwYXJlbnQgdmVyc2lvbi4KICAgICBSZWY8Q1NT
UnVsZT4gY3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0ID0gbnVs
bHB0cikgY29uc3Q7CiAgICAgUmVmPENTU1J1bGU+IGNyZWF0ZUNTU09NV3JhcHBlcihDU1NSdWxl
KiBwYXJlbnRSdWxlKSBjb25zdDsKIAogcHJvdGVjdGVkOgotICAgIFN0eWxlUnVsZUJhc2UoU3R5
bGVSdWxlVHlwZSB0eXBlLCBib29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4gPSBmYWxzZSkK
LSAgICAgICAgOiBtX3R5cGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHR5cGUpKQotICAgICAgICAs
IG1faGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbihoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luKQot
ICAgIHsKLSAgICB9Ci0KLSAgICBTdHlsZVJ1bGVCYXNlKGNvbnN0IFN0eWxlUnVsZUJhc2UmIG8p
Ci0gICAgICAgIDogV1RGOjpSZWZDb3VudGVkQmFzZSgpCi0gICAgICAgICwgbV90eXBlKG8ubV90
eXBlKQotICAgICAgICAsIG1faGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbihvLm1faGFzRG9jdW1l
bnRTZWN1cml0eU9yaWdpbikKLSAgICB7Ci0gICAgfQotCisgICAgZXhwbGljaXQgU3R5bGVSdWxl
QmFzZShTdHlsZVJ1bGVUeXBlLCBib29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4gPSBmYWxz
ZSk7CisgICAgU3R5bGVSdWxlQmFzZShjb25zdCBTdHlsZVJ1bGVCYXNlJik7CiAgICAgflN0eWxl
UnVsZUJhc2UoKSA9IGRlZmF1bHQ7CiAKICAgICBib29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmln
aW4oKSBjb25zdCB7IHJldHVybiBtX2hhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW47IH0KQEAgLTEw
MSw0NCArODYsMjUgQEAgREVDTEFSRV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJRVIoU3R5
bGVSdWxlKTsKIGNsYXNzIFN0eWxlUnVsZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsK
ICAgICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9BTExPQ0FURURfV0lUSF9IRUFQX0lERU5USUZJRVIo
U3R5bGVSdWxlKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZT4gY3JlYXRlKFJl
ZjxTdHlsZVByb3BlcnRpZXNCYXNlPiYmIHByb3BlcnRpZXMsIGJvb2wgaGFzRG9jdW1lbnRTZWN1
cml0eU9yaWdpbiwgQ1NTU2VsZWN0b3JMaXN0JiYgc2VsZWN0b3JzKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlKFdURk1vdmUocHJvcGVydGllcyksIGhhc0Rv
Y3VtZW50U2VjdXJpdHlPcmlnaW4sIFdURk1vdmUoc2VsZWN0b3JzKSkpOwotICAgIH0KLSAgICAK
KyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZT4gY3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXNCYXNl
PiYmLCBib29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4sIENTU1NlbGVjdG9yTGlzdCYmKTsK
KyAgICBSZWY8U3R5bGVSdWxlPiBjb3B5KCkgY29uc3Q7CiAgICAgflN0eWxlUnVsZSgpOwogCiAg
ICAgY29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QoKSBjb25zdCB7IHJldHVybiBt
X3NlbGVjdG9yTGlzdDsgfQotICAgIAorCiAgICAgY29uc3QgU3R5bGVQcm9wZXJ0aWVzJiBwcm9w
ZXJ0aWVzKCkgY29uc3Q7CiAgICAgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgbXV0YWJsZVByb3Bl
cnRpZXMoKTsKICAgICBjb25zdCBTdHlsZVByb3BlcnRpZXMqIHByb3BlcnRpZXNXaXRob3V0RGVm
ZXJyZWRQYXJzaW5nKCkgY29uc3Q7CiAKICAgICB1c2luZyBTdHlsZVJ1bGVCYXNlOjpoYXNEb2N1
bWVudFNlY3VyaXR5T3JpZ2luOwogCi0gICAgdm9pZCB3cmFwcGVyQWRvcHRTZWxlY3Rvckxpc3Qo
Q1NTU2VsZWN0b3JMaXN0JiYgc2VsZWN0b3JzKQotICAgIHsKLSAgICAgICAgbV9zZWxlY3Rvckxp
c3QgPSBXVEZNb3ZlKHNlbGVjdG9ycyk7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUl9KSVQpCi0g
ICAgICAgIG1fY29tcGlsZWRTZWxlY3RvcnMgPSBudWxscHRyOwotI2VuZGlmCi0gICAgfQotCi0g
ICAgUmVmPFN0eWxlUnVsZT4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5
bGVSdWxlKCp0aGlzKSk7IH0KKyAgICB2b2lkIHdyYXBwZXJBZG9wdFNlbGVjdG9yTGlzdChDU1NT
ZWxlY3Rvckxpc3QmJik7CiAKICAgICBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZT4+IHNwbGl0SW50
b011bHRpcGxlUnVsZXNXaXRoTWF4aW11bVNlbGVjdG9yQ29tcG9uZW50Q291bnQodW5zaWduZWQp
IGNvbnN0OwogCiAjaWYgRU5BQkxFKENTU19TRUxFQ1RPUl9KSVQpCi0gICAgQ29tcGlsZWRTZWxl
Y3RvciYgY29tcGlsZWRTZWxlY3RvckZvckxpc3RJbmRleCh1bnNpZ25lZCBpbmRleCkgY29uc3QK
LSAgICB7Ci0gICAgICAgIGlmICghbV9jb21waWxlZFNlbGVjdG9ycykKLSAgICAgICAgICAgIG1f
Y29tcGlsZWRTZWxlY3RvcnMgPSBtYWtlVW5pcXVlQXJyYXk8Q29tcGlsZWRTZWxlY3Rvcj4obV9z
ZWxlY3Rvckxpc3QubGlzdFNpemUoKSk7Ci0gICAgICAgIHJldHVybiBtX2NvbXBpbGVkU2VsZWN0
b3JzW2luZGV4XTsKLSAgICB9Ci0gICAgdm9pZCByZWxlYXNlQ29tcGlsZWRTZWxlY3RvcnMoKSBj
b25zdAotICAgIHsKLSAgICAgICAgbV9jb21waWxlZFNlbGVjdG9ycyA9IG51bGxwdHI7Ci0gICAg
fQorICAgIENvbXBpbGVkU2VsZWN0b3ImIGNvbXBpbGVkU2VsZWN0b3JGb3JMaXN0SW5kZXgodW5z
aWduZWQgaW5kZXgpIGNvbnN0OworICAgIHZvaWQgcmVsZWFzZUNvbXBpbGVkU2VsZWN0b3JzKCkg
Y29uc3QgeyBtX2NvbXBpbGVkU2VsZWN0b3JzID0gbnVsbHB0cjsgfQogI2VuZGlmCiAKICAgICBz
dGF0aWMgdW5zaWduZWQgYXZlcmFnZVNpemVJbkJ5dGVzKCk7CkBAIC0xNTcsMTEgKzEyMyw2IEBA
IHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWlubGluZSBjb25zdCBTdHlsZVByb3BlcnRpZXMqIFN0
eWxlUnVsZTo6cHJvcGVydGllc1dpdGhvdXREZWZlcnJlZFBhcnNpbmcoKSBjb25zdAotewotICAg
IHJldHVybiBtX3Byb3BlcnRpZXMtPnR5cGUoKSAhPSBEZWZlcnJlZFByb3BlcnRpZXNUeXBlID8g
JmRvd25jYXN0PFN0eWxlUHJvcGVydGllcz4obV9wcm9wZXJ0aWVzLmdldCgpKSA6IG51bGxwdHI7
Ci19Ci0KIGNsYXNzIFN0eWxlUnVsZUZvbnRGYWNlIGZpbmFsIDogcHVibGljIFN0eWxlUnVsZUJh
c2UgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlRm9udEZhY2U+IGNyZWF0ZShS
ZWY8U3R5bGVQcm9wZXJ0aWVzPiYmIHByb3BlcnRpZXMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U3R5bGVSdWxlRm9udEZhY2UoV1RGTW92ZShwcm9wZXJ0aWVzKSkpOyB9CkBAIC0xODIsNyArMTQz
LDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgU3R5bGVSdWxlUGFnZSBmaW5hbCA6IHB1YmxpYyBTdHls
ZVJ1bGVCYXNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZVBhZ2U+IGNyZWF0
ZShSZWY8U3R5bGVQcm9wZXJ0aWVzPiYmIHByb3BlcnRpZXMsIENTU1NlbGVjdG9yTGlzdCYmIHNl
bGVjdG9ycykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVQYWdlKFdURk1vdmUocHJv
cGVydGllcyksIFdURk1vdmUoc2VsZWN0b3JzKSkpOyB9CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1
bGVQYWdlPiBjcmVhdGUoUmVmPFN0eWxlUHJvcGVydGllcz4mJiwgQ1NTU2VsZWN0b3JMaXN0JiYp
OwogCiAgICAgflN0eWxlUnVsZVBhZ2UoKTsKIApAQCAtMjI0LDcgKzE4NSw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHdyYXBwZXJSZW1vdmVSdWxlKHVuc2lnbmVkKTsKICAgICAKIHByb3RlY3RlZDoK
LSAgICBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVs
ZUJhc2U+PiYpOworICAgIFN0eWxlUnVsZUdyb3VwKFN0eWxlUnVsZVR5cGUsIFZlY3RvcjxSZWZQ
dHI8U3R5bGVSdWxlQmFzZT4+JiYpOwogICAgIFN0eWxlUnVsZUdyb3VwKFN0eWxlUnVsZVR5cGUs
IHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJik7CiAgICAgU3R5
bGVSdWxlR3JvdXAoY29uc3QgU3R5bGVSdWxlR3JvdXAmKTsKICAgICAKQEAgLTIzNSw1NSArMTk2
LDM0IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHls
ZUdyb3VwUnVsZUxpc3Q+IG1fZGVmZXJyZWRSdWxlczsKIH07CiAKLWlubGluZSBjb25zdCBWZWN0
b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiogU3R5bGVSdWxlR3JvdXA6OmNoaWxkUnVsZXNXaXRo
b3V0RGVmZXJyZWRQYXJzaW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gIW1fZGVmZXJyZWRSdWxl
cyA/ICZtX2NoaWxkUnVsZXMgOiBudWxscHRyOwotfQotCiBjbGFzcyBTdHlsZVJ1bGVNZWRpYSBm
aW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVHcm91cCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxT
dHlsZVJ1bGVNZWRpYT4gY3JlYXRlKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBWZWN0b3I8
UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgYWRvcHRSdWxlcykKLSAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZU1lZGlhKFdURk1vdmUobWVkaWEpLCBhZG9wdFJ1bGVz
KSk7Ci0gICAgfQotCi0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVNZWRpYT4gY3JlYXRlKFJlZjxN
ZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3Vw
UnVsZUxpc3Q+JiYgZGVmZXJyZWRDaGlsZFJ1bGVzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU3R5bGVSdWxlTWVkaWEoV1RGTW92ZShtZWRpYSksIFdURk1vdmUoZGVmZXJy
ZWRDaGlsZFJ1bGVzKSkpOwotICAgIH0KLQotICAgIE1lZGlhUXVlcnlTZXQqIG1lZGlhUXVlcmll
cygpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFRdWVyaWVzLmdldCgpOyB9CisgICAgc3RhdGljIFJl
ZjxTdHlsZVJ1bGVNZWRpYT4gY3JlYXRlKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBWZWN0b3I8UmVm
UHRyPFN0eWxlUnVsZUJhc2U+PiYmKTsKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZU1lZGlhPiBj
cmVhdGUoUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxl
R3JvdXBSdWxlTGlzdD4mJik7CisgICAgUmVmPFN0eWxlUnVsZU1lZGlhPiBjb3B5KCkgY29uc3Q7
CiAKLSAgICBSZWY8U3R5bGVSdWxlTWVkaWE+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IFN0eWxlUnVsZU1lZGlhKCp0aGlzKSk7IH0KKyAgICBNZWRpYVF1ZXJ5U2V0JiBtZWRp
YVF1ZXJpZXMoKSBjb25zdCB7IHJldHVybiBtX21lZGlhUXVlcmllczsgfQogCiBwcml2YXRlOgot
ICAgIFN0eWxlUnVsZU1lZGlhKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBWZWN0b3I8UmVmUHRyPFN0
eWxlUnVsZUJhc2U+PiYgYWRvcHRSdWxlcyk7CisgICAgU3R5bGVSdWxlTWVkaWEoUmVmPE1lZGlh
UXVlcnlTZXQ+JiYsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYpOwogICAgIFN0eWxl
UnVsZU1lZGlhKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRT
dHlsZUdyb3VwUnVsZUxpc3Q+JiYpOwogICAgIFN0eWxlUnVsZU1lZGlhKGNvbnN0IFN0eWxlUnVs
ZU1lZGlhJik7CiAKLSAgICBSZWZQdHI8TWVkaWFRdWVyeVNldD4gbV9tZWRpYVF1ZXJpZXM7Cisg
ICAgUmVmPE1lZGlhUXVlcnlTZXQ+IG1fbWVkaWFRdWVyaWVzOwogfTsKIAogY2xhc3MgU3R5bGVS
dWxlU3VwcG9ydHMgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlR3JvdXAgewogcHVibGljOgotICAg
IHN0YXRpYyBSZWY8U3R5bGVSdWxlU3VwcG9ydHM+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGNvbmRp
dGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8U3R5bGVS
dWxlQmFzZT4+JiBhZG9wdFJ1bGVzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU3R5bGVSdWxlU3VwcG9ydHMoY29uZGl0aW9uVGV4dCwgY29uZGl0aW9uSXNTdXBwb3J0ZWQs
IGFkb3B0UnVsZXMpKTsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVTdXBw
b3J0cz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25J
c1N1cHBvcnRlZCwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYm
IGRlZmVycmVkQ2hpbGRSdWxlcykKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFN0eWxlUnVsZVN1cHBvcnRzKGNvbmRpdGlvblRleHQsIGNvbmRpdGlvbklzU3VwcG9ydGVkLCBX
VEZNb3ZlKGRlZmVycmVkQ2hpbGRSdWxlcykpKTsKLSAgICB9CisgICAgc3RhdGljIFJlZjxTdHls
ZVJ1bGVTdXBwb3J0cz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBj
b25kaXRpb25Jc1N1cHBvcnRlZCwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJik7Cisg
ICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVTdXBwb3J0cz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgY29u
ZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgc3RkOjp1bmlxdWVfcHRyPERl
ZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmKTsKKyAgICBSZWY8U3R5bGVSdWxlU3VwcG9ydHM+
IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1cHBvcnRzKCp0
aGlzKSk7IH0KIAogICAgIFN0cmluZyBjb25kaXRpb25UZXh0KCkgY29uc3QgeyByZXR1cm4gbV9j
b25kaXRpb25UZXh0OyB9CiAgICAgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQ7IH0KLSAgICBSZWY8U3R5bGVSdWxlU3VwcG9y
dHM+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1cHBvcnRz
KCp0aGlzKSk7IH0KIAogcHJpdmF0ZToKLSAgICBTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJp
bmcmIGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQ
dHI8U3R5bGVSdWxlQmFzZT4+JiBhZG9wdFJ1bGVzKTsKKyAgICBTdHlsZVJ1bGVTdXBwb3J0cyhj
b25zdCBTdHJpbmcmIGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZl
Y3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYpOwogICAgIFN0eWxlUnVsZVN1cHBvcnRzKGNv
bnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgc3Rk
Ojp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmKTsKLSAgICAKICAgICBT
dHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHlsZVJ1bGVTdXBwb3J0cyYpOwogCiAgICAgU3RyaW5n
IG1fY29uZGl0aW9uVGV4dDsKQEAgLTI5MywyMyArMjMzLDE3IEBAIHByaXZhdGU6CiAvLyBUaGlz
IGlzIG9ubHkgdXNlZCBieSB0aGUgQ1NTIHBhcnNlci4KIGNsYXNzIFN0eWxlUnVsZUNoYXJzZXQg
ZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxT
dHlsZVJ1bGVDaGFyc2V0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVs
ZUNoYXJzZXQoKSk7IH0KLSAgICAKLSAgICB+U3R5bGVSdWxlQ2hhcnNldCgpOwotICAgIAorICAg
IHN0YXRpYyBSZWY8U3R5bGVSdWxlQ2hhcnNldD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTdHlsZVJ1bGVDaGFyc2V0KTsgfQogICAgIFJlZjxTdHlsZVJ1bGVDaGFyc2V0PiBjb3B5
KCkgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVDaGFyc2V0KCp0aGlzKSk7
IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBTdHlsZVJ1bGVDaGFyc2V0KCk7CisgICAgU3R5
bGVSdWxlQ2hhcnNldCgpOwogICAgIFN0eWxlUnVsZUNoYXJzZXQoY29uc3QgU3R5bGVSdWxlQ2hh
cnNldCYpOwogfTsKIAogY2xhc3MgU3R5bGVSdWxlTmFtZXNwYWNlIGZpbmFsIDogcHVibGljIFN0
eWxlUnVsZUJhc2UgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlTmFtZXNwYWNl
PiBjcmVhdGUoQXRvbVN0cmluZyBwcmVmaXgsIEF0b21TdHJpbmcgdXJpKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlTmFtZXNwYWNlKHByZWZpeCwgdXJpKSk7
Ci0gICAgfQorICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlTmFtZXNwYWNlPiBjcmVhdGUoY29uc3Qg
QXRvbVN0cmluZyYgcHJlZml4LCBjb25zdCBBdG9tU3RyaW5nJiB1cmkpOwogICAgIAogICAgIH5T
dHlsZVJ1bGVOYW1lc3BhY2UoKTsKIApAQCAtMzE5LDEzICsyNTMsNjEgQEAgcHVibGljOgogICAg
IEF0b21TdHJpbmcgdXJpKCkgY29uc3QgeyByZXR1cm4gbV91cmk7IH0KIAogcHJpdmF0ZToKLSAg
ICBTdHlsZVJ1bGVOYW1lc3BhY2UoQXRvbVN0cmluZyBwcmVmaXgsIEF0b21TdHJpbmcgdXJpKTsK
KyAgICBTdHlsZVJ1bGVOYW1lc3BhY2UoY29uc3QgQXRvbVN0cmluZyYgcHJlZml4LCBjb25zdCBB
dG9tU3RyaW5nJiB1cmkpOwogICAgIFN0eWxlUnVsZU5hbWVzcGFjZShjb25zdCBTdHlsZVJ1bGVO
YW1lc3BhY2UmKTsKLSAgICAKKwogICAgIEF0b21TdHJpbmcgbV9wcmVmaXg7CiAgICAgQXRvbVN0
cmluZyBtX3VyaTsKIH07CiAgICAgCitpbmxpbmUgU3R5bGVSdWxlQmFzZTo6U3R5bGVSdWxlQmFz
ZShTdHlsZVJ1bGVUeXBlIHR5cGUsIGJvb2wgaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbikKKyAg
ICA6IG1fdHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4odHlwZSkpCisgICAgLCBtX2hhc0RvY3Vt
ZW50U2VjdXJpdHlPcmlnaW4oaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbikKK3sKK30KKworaW5s
aW5lIFN0eWxlUnVsZUJhc2U6OlN0eWxlUnVsZUJhc2UoY29uc3QgU3R5bGVSdWxlQmFzZSYgbykK
KyAgICA6IFdURjo6UmVmQ291bnRlZEJhc2UoKQorICAgICwgbV90eXBlKG8ubV90eXBlKQorICAg
ICwgbV9oYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luKG8ubV9oYXNEb2N1bWVudFNlY3VyaXR5T3Jp
Z2luKQoreworfQorCitpbmxpbmUgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXJlZigpIGNvbnN0Cit7
CisgICAgaWYgKGRlcmVmQmFzZSgpKQorICAgICAgICBjb25zdF9jYXN0PFN0eWxlUnVsZUJhc2Um
PigqdGhpcykuZGVzdHJveSgpOworfQorCitpbmxpbmUgdm9pZCBTdHlsZVJ1bGU6OndyYXBwZXJB
ZG9wdFNlbGVjdG9yTGlzdChDU1NTZWxlY3Rvckxpc3QmJiBzZWxlY3RvcnMpCit7CisgICAgbV9z
ZWxlY3Rvckxpc3QgPSBXVEZNb3ZlKHNlbGVjdG9ycyk7CisjaWYgRU5BQkxFKENTU19TRUxFQ1RP
Ul9KSVQpCisgICAgbV9jb21waWxlZFNlbGVjdG9ycyA9IG51bGxwdHI7CisjZW5kaWYKK30KKwor
I2lmIEVOQUJMRShDU1NfU0VMRUNUT1JfSklUKQorCitpbmxpbmUgQ29tcGlsZWRTZWxlY3RvciYg
U3R5bGVSdWxlOjpjb21waWxlZFNlbGVjdG9yRm9yTGlzdEluZGV4KHVuc2lnbmVkIGluZGV4KSBj
b25zdAoreworICAgIGlmICghbV9jb21waWxlZFNlbGVjdG9ycykKKyAgICAgICAgbV9jb21waWxl
ZFNlbGVjdG9ycyA9IG1ha2VVbmlxdWVBcnJheTxDb21waWxlZFNlbGVjdG9yPihtX3NlbGVjdG9y
TGlzdC5saXN0U2l6ZSgpKTsKKyAgICByZXR1cm4gbV9jb21waWxlZFNlbGVjdG9yc1tpbmRleF07
Cit9CisKKyNlbmRpZgorCitpbmxpbmUgY29uc3QgU3R5bGVQcm9wZXJ0aWVzKiBTdHlsZVJ1bGU6
OnByb3BlcnRpZXNXaXRob3V0RGVmZXJyZWRQYXJzaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9wcm9wZXJ0aWVzLT50eXBlKCkgIT0gRGVmZXJyZWRQcm9wZXJ0aWVzVHlwZSA/ICZkb3duY2Fz
dDxTdHlsZVByb3BlcnRpZXM+KG1fcHJvcGVydGllcy5nZXQoKSkgOiBudWxscHRyOworfQorCitp
bmxpbmUgY29uc3QgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4qIFN0eWxlUnVsZUdyb3Vw
OjpjaGlsZFJ1bGVzV2l0aG91dERlZmVycmVkUGFyc2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJu
ICFtX2RlZmVycmVkUnVsZXMgPyAmbV9jaGlsZFJ1bGVzIDogbnVsbHB0cjsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6
OlN0eWxlUnVsZSkKQEAgLTM1MywxMCArMzM1LDkgQEAgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19C
RUdJTihXZWJDb3JlOjpTdHlsZVJ1bGVOYW1lc3BhY2UpCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0VORCgpCiAKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxl
S2V5ZnJhbWUpCi1zdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFz
ZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0tleWZyYW1lUnVsZSgpOyB9CisgICAgc3RhdGljIGJv
b2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1
bGUuaXNLZXlmcmFtZVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQogCiBT
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUNoYXJzZXQpCi1z
dGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyBy
ZXR1cm4gcnVsZS5pc0NoYXJzZXRSdWxlKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29u
c3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0NoYXJzZXRS
dWxlKCk7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKLQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
U2hlZXQuaWRsCmluZGV4IDAyMzg1MGIzNDI2MGEzM2NmZTliMDQ4NmQ5NGRhOTExYjA3OGJhMTMu
LjlkZGViZDg1NDRlZDRlMDRkNWUxM2RmMWU0OTg3OTc4YWY3YjcwOGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVTaGVldC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCkBAIC0yMSw2ICsyMSw3IEBACiBbCiAgICAgQ3VzdG9tVG9KU09iamVjdCwK
ICAgICBFeHBvcnRUb1dyYXBwZWRGdW5jdGlvbiwKKyAgICBFeHBvc2VkPVdpbmRvdywKICAgICBH
ZW5lcmF0ZUlzUmVhY2hhYmxlLAogICAgIEpTQ3VzdG9tSGVhZGVyLAogICAgIEpTQ3VzdG9tTWFy
a0Z1bmN0aW9uLApAQCAtMzEsNSArMzIsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHls
ZVNoZWV0IHBhcmVudFN0eWxlU2hlZXQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
Zz8gaHJlZjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyB0aXRsZTsKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFMaXN0IG1lZGlhOworICAgIFtTYW1lT2JqZWN0LCBQdXRG
b3J3YXJkcz1tZWRpYVRleHRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUxpc3QgbWVkaWE7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAppbmRleCA5OGI4ZGNm
YzBhYjA5YWMxYjcwMGFhYzE4MmIyZGMwYmI1ZThiMzkwLi5kMzU4YjNiODdjOWU0NzQwN2VjYmMx
ZjczYzFhNjU1ZGEzYWQxYWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRl
bnRzLmNwcApAQCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgU3R5bGVTaGVldENvbnRlbnRzOjpwYXJz
ZXJBcHBlbmRSdWxlKFJlZjxTdHlsZVJ1bGVCYXNlPiYmIHJ1bGUpCiAgICAgfQogCiAgICAgaWYg
KGlzPFN0eWxlUnVsZU1lZGlhPihydWxlKSkKLSAgICAgICAgcmVwb3J0TWVkaWFRdWVyeVdhcm5p
bmdJZk5lZWRlZChzaW5nbGVPd25lckRvY3VtZW50KCksIGRvd25jYXN0PFN0eWxlUnVsZU1lZGlh
PihydWxlLmdldCgpKS5tZWRpYVF1ZXJpZXMoKSk7CisgICAgICAgIHJlcG9ydE1lZGlhUXVlcnlX
YXJuaW5nSWZOZWVkZWQoc2luZ2xlT3duZXJEb2N1bWVudCgpLCAmZG93bmNhc3Q8U3R5bGVSdWxl
TWVkaWE+KHJ1bGUuZ2V0KCkpLm1lZGlhUXVlcmllcygpKTsKIAogICAgIC8vIE5PVEU6IFRoZSBz
ZWxlY3RvciBsaXN0IGhhcyB0byBmaXQgaW50byBSdWxlRGF0YS4gPGh0dHA6Ly93ZWJraXQub3Jn
L2IvMTE4MzY5PgogICAgIC8vIElmIHdlJ3JlIGFkZGluZyBhIHJ1bGUgd2l0aCBhIGh1Z2UgbnVt
YmVyIG9mIHNlbGVjdG9ycywgc3BsaXQgaXQgdXAgaW50byBtdWx0aXBsZSBydWxlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5pZGwKaW5kZXggMTEzOWQzMTcxZDY3YWNmMGVmYjM1OWYw
OWJjZTRkYzg0NzM4Y2EwOS4uODc5MTlmMjZkYzljMTFlOTE3MmY1OWY5YmU5MWIzOGZkNzAyMDU4
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldExpc3QuaWRsCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2Ft
LndlaW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjAsNiArMjAsNyBAQAogCiBbCiAg
ICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCisgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgR2Vu
ZXJhdGVJc1JlYWNoYWJsZT1JbXBsT3duZXJOb2RlUm9vdCwKICAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgU3R5bGVTaGVldExpc3QgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKaW5kZXggNjAzNDhiZGZiNzBlYjRhZGM0NmMw
YTcyYjk1NjI0YWM4NDU5ODQ1Yi4uMzE0Nzg0NmM4YmY0NTNkNTI4Y2UxZDlhMjFhMWRhYTcyYWI4
NDhkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBA
IC01NTAsMTIgKzU1MCwxMiBAQCBSZWZQdHI8U3R5bGVSdWxlTWVkaWE+IENTU1BhcnNlckltcGw6
OmNvbnN1bWVNZWRpYVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdQogICAgIGlmIChtX29i
c2VydmVyV3JhcHBlcikKICAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5k
UnVsZUJvZHkobV9vYnNlcnZlcldyYXBwZXItPmVuZE9mZnNldChibG9jaykpOwogCi0gICAgcmV0
dXJuIFN0eWxlUnVsZU1lZGlhOjpjcmVhdGUoTWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VNZWRpYVF1
ZXJ5U2V0KHByZWx1ZGUsIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0KG1fY29udGV4dCkpLnJlbGVh
c2VOb25OdWxsKCksIHJ1bGVzKTsKKyAgICByZXR1cm4gU3R5bGVSdWxlTWVkaWE6OmNyZWF0ZShN
ZWRpYVF1ZXJ5UGFyc2VyOjpwYXJzZU1lZGlhUXVlcnlTZXQocHJlbHVkZSwgTWVkaWFRdWVyeVBh
cnNlckNvbnRleHQobV9jb250ZXh0KSkucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShydWxlcykp
OwogfQogCiBSZWZQdHI8U3R5bGVSdWxlU3VwcG9ydHM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVT
dXBwb3J0c1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJh
bmdlIGJsb2NrKQogewotICAgIENTU1N1cHBvcnRzUGFyc2VyOjpTdXBwb3J0c1Jlc3VsdCBzdXBw
b3J0ZWQgPSBDU1NTdXBwb3J0c1BhcnNlcjo6c3VwcG9ydHNDb25kaXRpb24ocHJlbHVkZSwgKnRo
aXMsIENTU1N1cHBvcnRzUGFyc2VyOjpGb3JBdFJ1bGUpOworICAgIGF1dG8gc3VwcG9ydGVkID0g
Q1NTU3VwcG9ydHNQYXJzZXI6OnN1cHBvcnRzQ29uZGl0aW9uKHByZWx1ZGUsICp0aGlzLCBDU1NT
dXBwb3J0c1BhcnNlcjo6Rm9yQXRSdWxlKTsKICAgICBpZiAoc3VwcG9ydGVkID09IENTU1N1cHBv
cnRzUGFyc2VyOjpJbnZhbGlkKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsgLy8gUGFyc2UgZXJy
b3IsIGludmFsaWQgQHN1cHBvcnRzIGNvbmRpdGlvbgogCkBAIC01NzcsNyArNTc3LDcgQEAgUmVm
UHRyPFN0eWxlUnVsZVN1cHBvcnRzPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lU3VwcG9ydHNSdWxl
KENTU1BhcnNlclRva2VuUmFuZ2UKICAgICBpZiAobV9vYnNlcnZlcldyYXBwZXIpCiAgICAgICAg
IG1fb2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLmVuZFJ1bGVCb2R5KG1fb2JzZXJ2ZXJXcmFw
cGVyLT5lbmRPZmZzZXQoYmxvY2spKTsKIAotICAgIHJldHVybiBTdHlsZVJ1bGVTdXBwb3J0czo6
Y3JlYXRlKHByZWx1ZGUuc2VyaWFsaXplKCkuc3RyaXBXaGl0ZVNwYWNlKCksIHN1cHBvcnRlZCwg
cnVsZXMpOworICAgIHJldHVybiBTdHlsZVJ1bGVTdXBwb3J0czo6Y3JlYXRlKHByZWx1ZGUuc2Vy
aWFsaXplKCkuc3RyaXBXaGl0ZVNwYWNlKCksIHN1cHBvcnRlZCwgV1RGTW92ZShydWxlcykpOwog
fQogCiBSZWZQdHI8U3R5bGVSdWxlRm9udEZhY2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250
RmFjZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdl
IGJsb2NrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAppbmRleCA2ZmZkYTkyMzAxZjRhZTYwNzYx
YjQ0NzljNjg1YWUzMTMwNDIzNWRlLi4zMGU0ODQ5ZmVhYTdiMzkzMTYxZGYyYzI4NDU2OGViYWVi
MTQ4MTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApAQCAtMjgyLDkgKzI4Miw5IEBAIHZv
aWQgUnVsZVNldDo6YWRkQ2hpbGRSdWxlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJh
c2U+PiYgcnVsZXMsIE1lZGlhUXVlCiAgICAgICAgIH0KICAgICAgICAgaWYgKGlzPFN0eWxlUnVs
ZU1lZGlhPigqcnVsZSkpIHsKICAgICAgICAgICAgIGF1dG8mIG1lZGlhUnVsZSA9IGRvd25jYXN0
PFN0eWxlUnVsZU1lZGlhPigqcnVsZSk7Ci0gICAgICAgICAgICBpZiAobWVkaWFRdWVyeUNvbGxl
Y3Rvci5wdXNoQW5kRXZhbHVhdGUobWVkaWFSdWxlLm1lZGlhUXVlcmllcygpKSkKKyAgICAgICAg
ICAgIGlmIChtZWRpYVF1ZXJ5Q29sbGVjdG9yLnB1c2hBbmRFdmFsdWF0ZSgmbWVkaWFSdWxlLm1l
ZGlhUXVlcmllcygpKSkKICAgICAgICAgICAgICAgICBhZGRDaGlsZFJ1bGVzKG1lZGlhUnVsZS5j
aGlsZFJ1bGVzKCksIG1lZGlhUXVlcnlDb2xsZWN0b3IsIHJlc29sdmVyLCBtb2RlKTsKLSAgICAg
ICAgICAgIG1lZGlhUXVlcnlDb2xsZWN0b3IucG9wKG1lZGlhUnVsZS5tZWRpYVF1ZXJpZXMoKSk7
CisgICAgICAgICAgICBtZWRpYVF1ZXJ5Q29sbGVjdG9yLnBvcCgmbWVkaWFSdWxlLm1lZGlhUXVl
cmllcygpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGlmIChp
czxTdHlsZVJ1bGVGb250RmFjZT4oKnJ1bGUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdl
bnRTdHlsZS5jcHAKaW5kZXggY2U2MzU2MGI0NjMxOTE1Njg4YzQ5MTMyOGU5NDJlNTkzYThkMDRh
NS4uZjQxYjhmMjA1ZWI4OTI3OTQ0NDYxNTRjNGIyYzgxMThmODZhMDE4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtMTY4LDEyICsxNjgsMTAgQEAgdm9pZCBV
c2VyQWdlbnRTdHlsZTo6YWRkVG9EZWZhdWx0U3R5bGUoU3R5bGVTaGVldENvbnRlbnRzJiBzaGVl
dCkKICAgICAgICAgaWYgKCFpczxTdHlsZVJ1bGVNZWRpYT4oKnJ1bGUpKQogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIGF1dG8mIG1lZGlhUnVsZSA9IGRvd25jYXN0PFN0eWxlUnVsZU1l
ZGlhPigqcnVsZSk7Ci0gICAgICAgIGF1dG8qIG1lZGlhUXVlcnkgPSBtZWRpYVJ1bGUubWVkaWFR
dWVyaWVzKCk7Ci0gICAgICAgIGlmICghbWVkaWFRdWVyeSkKKyAgICAgICAgYXV0byYgbWVkaWFR
dWVyeSA9IG1lZGlhUnVsZS5tZWRpYVF1ZXJpZXMoKTsKKyAgICAgICAgaWYgKHNjcmVlbkV2YWwo
KS5ldmFsdWF0ZShtZWRpYVF1ZXJ5LCBudWxscHRyKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICBpZiAoc2NyZWVuRXZhbCgpLmV2YWx1YXRlKCptZWRpYVF1ZXJ5LCBudWxscHRyKSkK
LSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpZiAocHJpbnRFdmFsKCkuZXZhbHVhdGUo
Km1lZGlhUXVlcnksIG51bGxwdHIpKQorICAgICAgICBpZiAocHJpbnRFdmFsKCkuZXZhbHVhdGUo
bWVkaWFRdWVyeSwgbnVsbHB0cikpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgbWVk
aWFRdWVyeVN0eWxlU2hlZXQtPnBhcnNlckFwcGVuZFJ1bGUobWVkaWFSdWxlLmNvcHkoKSk7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUNTUy5tbSBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01DU1MubW0KaW5kZXggMmJiNTJmMmE2ZDIw
MzIzZTVlZWM4NTk3ZjM4NGZmYWZiODNhZDgwNy4uZjBiZDljM2YyNmRmYmZhMWZiZjNhZmU1MTFm
MmNmZWMwMGM5MTQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RP
TUNTUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NQ1NTLm1tCkBAIC03
NSwxNCArNzUsOSBAQCBDbGFzcyBraXRDbGFzcyhXZWJDb3JlOjpDU1NSdWxlKiBpbXBsKQogICAg
ICAgICByZXR1cm4gW0RPTUNTU0ZvbnRGYWNlUnVsZSBjbGFzc107CiAgICAgY2FzZSBXZWJDb3Jl
OjpDU1NSdWxlOjpQQUdFX1JVTEU6CiAgICAgICAgIHJldHVybiBbRE9NQ1NTUGFnZVJ1bGUgY2xh
c3NdOwotICAgIGNhc2UgV2ViQ29yZTo6Q1NTUnVsZTo6S0VZRlJBTUVTX1JVTEU6Ci0gICAgY2Fz
ZSBXZWJDb3JlOjpDU1NSdWxlOjpOQU1FU1BBQ0VfUlVMRToKLSAgICBjYXNlIFdlYkNvcmU6OkNT
U1J1bGU6OktFWUZSQU1FX1JVTEU6Ci0gICAgY2FzZSBXZWJDb3JlOjpDU1NSdWxlOjpTVVBQT1JU
U19SVUxFOgorICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBbRE9NQ1NTUnVsZSBjbGFzc107
CiAgICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBuaWw7CiB9CiAK
IC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05NSwxMiArOTAsOSBAQCBD
bGFzcyBraXRDbGFzcyhXZWJDb3JlOjpEZXByZWNhdGVkQ1NTT01WYWx1ZSogaW1wbCkKICAgICAg
ICAgcmV0dXJuIFtET01DU1NQcmltaXRpdmVWYWx1ZSBjbGFzc107CiAgICAgY2FzZSBXZWJDb3Jl
OjpEZXByZWNhdGVkQ1NTT01WYWx1ZTo6Q1NTX1ZBTFVFX0xJU1Q6CiAgICAgICAgIHJldHVybiBb
RE9NQ1NTVmFsdWVMaXN0IGNsYXNzXTsKLSAgICBjYXNlIFdlYkNvcmU6OkRlcHJlY2F0ZWRDU1NP
TVZhbHVlOjpDU1NfSU5IRVJJVDoKLSAgICBjYXNlIFdlYkNvcmU6OkRlcHJlY2F0ZWRDU1NPTVZh
bHVlOjpDU1NfQ1VTVE9NOgorICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBbRE9NQ1NTVmFs
dWUgY2xhc3NdOwogICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4g
bmlsOwogfQogCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYmU5OTVmODBlNzA3ZWM0MTMwMWEyZTI2NGYwZmI4MmZl
MDBmNjRhOC4uYTRkNGRkMmU2MDQ5M2FlOTA2MmQ3OTI3MDFjNzdlNGNhMWEzYjcwZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDktMjIgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBDU1NDb25kaXRpb25S
dWxlIGFuZCBDU1NHcm91cGluZ1J1bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNjg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jb25kaXRpb25hbC9pZGxo
YXJuZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
c29tL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGVkIGV4cGVjdGF0aW9u
cyB0byBleHBlY3QgbW9yZSB0ZXN0cyB0byBwYXNzLgorCiAyMDIwLTA5LTIyICBTYW0gU25lZGRv
biAgPGdzbmVkZGVyc0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjY3MzU0KTog
T25seSBpbXBvcnQgcmVzb3VyY2UgbW9kdWxlIG9uIERhcndpbgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY29uZGl0aW9uYWwvaWRs
aGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jb25kaXRpb25hbC9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCBi
MWI0NDFmOTk5Y2JhNzU5ZjIyOTRmYTQ3ZWY4MmJjMmE3MmZlZTc1Li5kMjcwMWVhYjcyODRlYjYw
NjE0MDIyNjcwYTRiMTEwZDJjYzliNWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jb25kaXRpb25hbC9pZGxoYXJuZXNzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jb25kaXRpb25hbC9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtNSwyOSArNSwyOSBA
QCBQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIENTU1J1bGU6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZp
bmVkCiBQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIENTU1J1bGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBQYXJ0aWFsIG5hbWVzcGFjZSBDU1M6IG9yaWdpbmFsIG5hbWVzcGFjZSBkZWZp
bmVkIAogUEFTUyBQYXJ0aWFsIG5hbWVzcGFjZSBDU1M6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
IAotRkFJTCBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkg
IkNTU0NvbmRpdGlvblJ1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTQ29uZGl0aW9uUnVsZSBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTQ29u
ZGl0aW9uUnVsZSIgbWlzc2luZwotRkFJTCBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJDU1NDb25kaXRpb25SdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVs
ZSIgbWlzc2luZwotRkFJTCBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUi
IGV4cGVjdGVkIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCi1GQUlMIENTU0Nv
bmRpdGlvblJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1
bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCi1GQUlMIENT
U0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlv
blJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCi1GQUlM
IENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY29uZGl0aW9uVGV4dCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NDb25k
aXRpb25SdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgbWlzc2luZwot
RkFJTCBDU1NNZWRpYVJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTQ29u
ZGl0aW9uUnVsZSIgbWlzc2luZworUEFTUyBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIENTU0NvbmRp
dGlvblJ1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIENTU0NvbmRpdGlvblJ1bGUg
aW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAor
UEFTUyBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAK
K1BBU1MgQ1NTQ29uZGl0aW9uUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
CitQQVNTIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY29uZGl0aW9uVGV4
dCAKK1BBU1MgQ1NTTWVkaWFSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIENTU01lZGlhUnVsZSBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aCAKIFBBU1MgQ1NTTWVkaWFSdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSAKLUZBSUwg
Q1NTTWVkaWFSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJD
U1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCitQQVNTIENTU01lZGlhUnVsZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBB
U1MgQ1NTTWVkaWFSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1Mg
Q1NTTWVkaWFSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLUZBSUwgQ1NT
TWVkaWFSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIGFzc2VydF9lcXVhbHM6IHNldHRl
ciBtdXN0IGJlIGZ1bmN0aW9uIGZvciBQdXRGb3J3YXJkcywgUmVwbGFjZWFibGUsIG9yIG5vbi1y
ZWFkb25seSBhdHRyaWJ1dGVzIGV4cGVjdGVkICJmdW5jdGlvbiIgYnV0IGdvdCAidW5kZWZpbmVk
IgorUEFTUyBDU1NNZWRpYVJ1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWEgCiBQQVNTIENT
U01lZGlhUnVsZSBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGNzc01lZGlhUnVsZSAKIFBB
U1MgU3RyaW5naWZpY2F0aW9uIG9mIGNzc01lZGlhUnVsZSAKIFBBU1MgQ1NTTWVkaWFSdWxlIGlu
dGVyZmFjZTogY3NzTWVkaWFSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWVkaWEiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAotRkFJTCBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogY3NzTWVk
aWFSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29uZGl0aW9uVGV4dCIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiY29uZGl0aW9uVGV4dCIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTog
Y3NzTWVkaWFSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29uZGl0aW9uVGV4dCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjc3NNZWRpYVJ1bGUgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJTVVBQT1JUU19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
LUZBSUwgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNT
U0NvbmRpdGlvblJ1bGUiIG1pc3NpbmcKK1BBU1MgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIENTU1N1
cHBvcnRzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxl
IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLUZBSUwgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0Nv
bmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBtaXNzaW5n
CitQQVNTIENTU1N1cHBvcnRzUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgY3NzU3VwcG9ydHNSdWxlIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vaWRs
aGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3NvbS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCA2NmY2NWQ2
Y2VlZmVkYTc0NDdlNzJiNTVlOWM1YjI1YzIyNTFkNDM0Li45OTgxMDg4ODdmNGRkN2UzMGExYjAy
NjI1NmIxZDQ5ODUxMGU3MTk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtNTMsNyArNTMsNyBAQCBQQVNTIE1lZGlhTGlzdCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdAogUEFTUyBNZWRpYUxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5
IAogUEFTUyBNZWRpYUxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFT
UyBNZWRpYUxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWFUZXh0IAotRkFJTCBNZWRpYUxp
c3QgaW50ZXJmYWNlOiBzdHJpbmdpZmllciBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHBy
b3BlcnR5ICJ0b1N0cmluZyIgbWlzc2luZworUEFTUyBNZWRpYUxpc3QgaW50ZXJmYWNlOiBzdHJp
bmdpZmllciAKIFBBU1MgTWVkaWFMaXN0IGludGVyZmFjZTogYXR0cmlidXRlIGxlbmd0aCAKIFBB
U1MgTWVkaWFMaXN0IGludGVyZmFjZTogb3BlcmF0aW9uIGl0ZW0odW5zaWduZWQgbG9uZykgCiBQ
QVNTIE1lZGlhTGlzdCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcHBlbmRNZWRpdW0oQ1NTT01TdHJp
bmcpIApAQCAtNzksNyArNzksNyBAQCBQQVNTIFN0eWxlU2hlZXQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgaHJlZgogUEFTUyBTdHlsZVNoZWV0IGludGVyZmFjZTogYXR0cmlidXRlIG93bmVyTm9kZSAK
IFBBU1MgU3R5bGVTaGVldCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwYXJlbnRTdHlsZVNoZWV0IAog
UEFTUyBTdHlsZVNoZWV0IGludGVyZmFjZTogYXR0cmlidXRlIHRpdGxlIAotRkFJTCBTdHlsZVNo
ZWV0IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIGFzc2VydF9lcXVhbHM6IHNldHRlciBtdXN0
IGJlIGZ1bmN0aW9uIGZvciBQdXRGb3J3YXJkcywgUmVwbGFjZWFibGUsIG9yIG5vbi1yZWFkb25s
eSBhdHRyaWJ1dGVzIGV4cGVjdGVkICJmdW5jdGlvbiIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFT
UyBTdHlsZVNoZWV0IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIAogUEFTUyBTdHlsZVNoZWV0
IGludGVyZmFjZTogYXR0cmlidXRlIGRpc2FibGVkIAogUEFTUyBDU1NTdHlsZVNoZWV0IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNT
IENTU1N0eWxlU2hlZXQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCkBAIC0xNjIsOCArMTYyLDgg
QEAgUEFTUyBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9GQUNFX1JVTEUgb24gaW50
ZXJmYWNlIG9iamVjdAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgRk9OVF9GQUNF
X1JVTEUgb24gaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCiBQQVNTIENTU1J1bGUgaW50ZXJm
YWNlOiBjb25zdGFudCBQQUdFX1JVTEUgb24gaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQ1NTUnVs
ZSBpbnRlcmZhY2U6IGNvbnN0YW50IFBBR0VfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IE1BUkdJTl9SVUxFIG9uIGlu
dGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIk1B
UkdJTl9SVUxFIiBtaXNzaW5nCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBNQVJH
SU5fUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5
OiBleHBlY3RlZCBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUiIG1pc3NpbmcKK1BBU1MgQ1NTUnVsZSBp
bnRlcmZhY2U6IGNvbnN0YW50IE1BUkdJTl9SVUxFIG9uIGludGVyZmFjZSBvYmplY3QgCitQQVNT
IENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBNQVJHSU5fUlVMRSBvbiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IE5BTUVTUEFD
RV9SVUxFIG9uIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjb25z
dGFudCBOQU1FU1BBQ0VfUlVMRSBvbiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1Mg
Q1NTU3R5bGVSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCkBAIC0xODgsNyArMTg4LDcgQEAgUEFTUyBDU1NSdWxlIGludGVyZmFjZTog
c2hlZXQuY3NzUnVsZXNbNF0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJJTVBPUlRfUlVMRSIgd2kK
IFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzRdIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiTUVESUFfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUg
aW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1s0XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRf
RkFDRV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6
IHNoZWV0LmNzc1J1bGVzWzRdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiUEFHRV9SVUxFIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVz
WzRdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUiIHdpdGggdGhlIHByb3BlciB0
eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIk1BUkdJTl9SVUxFIiBub3QgZm91bmQgaW4g
cHJvdG90eXBlIGNoYWluCitQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1s0
XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIk1BUkdJTl9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzRdIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiTkFNRVNQQUNFX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBD
U1NJbXBvcnRSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCiBQQVNTIENTU0ltcG9ydFJ1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
CkBAIC0xOTcsNyArMTk3LDcgQEAgUEFTUyBDU1NJbXBvcnRSdWxlIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2IKIFBBU1MgQ1NTSW1w
b3J0UnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIENTU0ltcG9y
dFJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBDU1NJbXBvcnRS
dWxlIGludGVyZmFjZTogYXR0cmlidXRlIGhyZWYgCi1GQUlMIENTU0ltcG9ydFJ1bGUgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgbWVkaWEgYXNzZXJ0X2VxdWFsczogc2V0dGVyIG11c3QgYmUgZnVuY3Rp
b24gZm9yIFB1dEZvcndhcmRzLCBSZXBsYWNlYWJsZSwgb3Igbm9uLXJlYWRvbmx5IGF0dHJpYnV0
ZXMgZXhwZWN0ZWQgImZ1bmN0aW9uIiBidXQgZ290ICJ1bmRlZmluZWQiCitQQVNTIENTU0ltcG9y
dFJ1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWEgCiBQQVNTIENTU0ltcG9ydFJ1bGUgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgc3R5bGVTaGVldCAKIFBBU1MgQ1NTSW1wb3J0UnVsZSBtdXN0IGJl
IHByaW1hcnkgaW50ZXJmYWNlIG9mIHNoZWV0LmNzc1J1bGVzWzBdIAogUEFTUyBTdHJpbmdpZmlj
YXRpb24gb2Ygc2hlZXQuY3NzUnVsZXNbMF0gCkBAIC0yMTQsMjEgKzIxNCwyNSBAQCBQQVNTIENT
U1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1swXSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
IklNUE9SVF9SVUxFIiB3aQogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNb
MF0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJNRURJQV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzBdIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAiRk9OVF9GQUNFX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBD
U1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMF0gbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJQQUdFX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAotRkFJTCBDU1NSdWxlIGludGVyZmFj
ZTogc2hlZXQuY3NzUnVsZXNbMF0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiTUFSR0lOX1JV
TEUiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6
IHNoZWV0LmNzc1J1bGVzWzBdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUiIHdp
dGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVs
ZXNbMF0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJOQU1FU1BBQ0VfUlVMRSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCi1GQUlMIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0ZWQgcHJv
cGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgbWlzc2luZwotRkFJTCBDU1NHcm91cGluZ1J1bGUgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NT
R3JvdXBpbmdSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxl
IiBtaXNzaW5nCi1GQUlMIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIGV4
cGVjdGVkIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTR3JvdXBp
bmdSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIGV4
cGVjdGVkIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTR3JvdXBp
bmdSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIGV4
cGVjdGVkIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTR3JvdXBp
bmdSdWxlIGludGVyZmFjZTogYXR0cmlidXRlIGNzc1J1bGVzIGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0
ZWQgcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgbWlzc2luZwotRkFJTCBDU1NHcm91cGluZ1J1
bGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5zZXJ0UnVsZShDU1NPTVN0cmluZywgb3B0aW9uYWwg
dW5zaWduZWQgbG9uZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTR3JvdXBp
bmdSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IG9wZXJhdGlv
biBkZWxldGVSdWxlKHVuc2lnbmVkIGxvbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0ZWQgcHJvcGVy
dHkgIkNTU0dyb3VwaW5nUnVsZSIgbWlzc2luZwotRkFJTCBDU1NQYWdlUnVsZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVs
ZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgbWlzc2luZworUEFTUyBDU1NH
cm91cGluZ1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKK1BBU1MgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZSBvYmplY3QgbGVuZ3Ro
IAorUEFTUyBDU1NHcm91cGluZ1J1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBDU1NH
cm91cGluZ1J1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBA
dW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBjc3NSdWxlcyAKK1BBU1MgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogb3BlcmF0
aW9uIGluc2VydFJ1bGUoQ1NTT01TdHJpbmcsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcpIAorUEFT
UyBDU1NHcm91cGluZ1J1bGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVsZXRlUnVsZSh1bnNpZ25l
ZCBsb25nKSAKK0ZBSUwgQ1NTUGFnZVJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfZXF1YWxzOiBwcm90b3R5cGUgb2YgQ1NT
UGFnZVJ1bGUgaXMgbm90IENTU0dyb3VwaW5nUnVsZSBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rp
b24gQ1NTR3JvdXBpbmdSdWxlKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVu
Y3Rpb24gImZ1bmN0aW9uIENTU1J1bGUoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKIFBBU1Mg
Q1NTUGFnZVJ1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIENTU1BhZ2VSdWxlIGlu
dGVyZmFjZSBvYmplY3QgbmFtZSAKLUZBSUwgQ1NTUGFnZVJ1bGUgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdS
dWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBtaXNzaW5nCitGQUlMIENT
U1BhZ2VSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9lcXVhbHM6IHByb3RvdHlwZSBvZiBDU1NQYWdlUnVs
ZS5wcm90b3R5cGUgaXMgbm90IENTU0dyb3VwaW5nUnVsZS5wcm90b3R5cGUgZXhwZWN0ZWQgb2Jq
ZWN0ICJbb2JqZWN0IENTU0dyb3VwaW5nUnVsZV0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IENT
U1J1bGVdIgogUEFTUyBDU1NQYWdlUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCiBQQVNTIENTU1BhZ2VSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAK
IFBBU1MgQ1NTUGFnZVJ1bGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2VsZWN0b3JUZXh0IApAQCAt
MjUyLDcgKzI1Niw3IEBAIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzJd
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiSU1QT1JUX1JVTEUiIHdpCiBQQVNTIENTU1J1bGUgaW50
ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1syXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIk1FRElBX1JV
TEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQu
Y3NzUnVsZXNbMl0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJGT05UX0ZBQ0VfUlVMRSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1sy
XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIlBBR0VfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
Ci1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1syXSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIk1BUkdJTl9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgor
UEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMl0gbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJNQVJHSU5fUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUg
aW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1syXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIk5BTUVT
UEFDRV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIEZBSUwgQ1NTTWFyZ2luUnVsZSBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU01hcmdp
blJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NNYXJnaW5SdWxlIiBtaXNzaW5nCiBGQUlMIENT
U01hcmdpblJ1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTTWFyZ2luUnVsZSIgZXhwZWN0ZWQg
cHJvcGVydHkgIkNTU01hcmdpblJ1bGUiIG1pc3NpbmcKQEAgLTMwMCw3ICszMDQsNyBAQCBQQVNT
IENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1sxXSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIklNUE9SVF9SVUxFIiB3aQogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVs
ZXNbMV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJNRURJQV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzFdIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiRk9OVF9GQUNFX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMV0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJQQUdFX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAotRkFJTCBDU1NSdWxlIGludGVy
ZmFjZTogc2hlZXQuY3NzUnVsZXNbMV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJNQVJHSU5fUlVM
RSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiTUFSR0lO
X1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgQ1NTUnVsZSBpbnRlcmZh
Y2U6IHNoZWV0LmNzc1J1bGVzWzFdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUi
IHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3Nz
UnVsZXNbMV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJOQU1FU1BBQ0VfUlVMRSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIENTU1N0eWxlRGVjbGFyYXRpb24gaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQ1NTU3R5bGVEZWNs
YXJhdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409597</attachid>
            <date>2020-09-24 10:53:13 -0700</date>
            <delta_ts>2020-09-25 08:03:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216855-20200924105311.patch</filename>
            <type>text/plain</type>
            <size>98921</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ4MGU3YTUwMmFiNGU2
YTBkMjkzOTY3MDkzNTM4OGJkYzQ5ZDZkMy4uNTc4YmZjZmVmMGExMmVmZGFmNzcwOTZlMTlmYjYy
MGE5N2FlNjgyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyNSBAQAorMjAyMC0wOS0yNCAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENTU0NvbmRpdGlvblJ1
bGUgYW5kIENTU0dyb3VwaW5nUnVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE2ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQgQ1NTQ29uZGl0aW9uUnVsZS5p
ZGwgYW5kIENTU0dyb3VwaW5nUnVsZS5pZGwuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0OiBVcGRhdGVkLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0OiBVcGRhdGVkLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTog
QWRkZWQgQ1NTQ29uZGl0aW9uUnVsZS5pZGwgYW5kIENTU0dyb3VwaW5nUnVsZS5pZGwuCisgICAg
ICAgICogSGVhZGVycy5jbWFrZTogQWRkZWQgQ1NTQ29uZGl0aW9uUnVsZS5oLgorICAgICAgICAq
IFNvdXJjZXMudHh0OiBBZGQgQ1NTQ29uZGl0aW9uUnVsZS5jcHAsIEpTQ1NTQ29uZGl0aW9SdWxl
LmNwcCwKKyAgICAgICAgYW5kIEpTQ1NTR3JvdXBpbmdSdWxlLmNwcC4KKworICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgYWxsIHRoZSBmaWxlcy4KKwor
ICAgICAgICAqIGNzcy9DU1NDb25kaXRpb25SdWxlLmNwcDogQWRkZWQuCisgICAgICAgICogY3Nz
L0NTU0NvbmRpdGlvblJ1bGUuaDogQWRkZWQuCisgICAgICAgICogY3NzL0NTU0NvbmRpdGlvblJ1
bGUuaWRsOiBBZGRlZC4KKworICAgICAgICAqIGNzcy9DU1NHcm91cGluZ1J1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTR3JvdXBpbmdSdWxlOjp+Q1NTR3JvdXBpbmdSdWxlKTogVXNlIGEg
cmFuZ2UtYmFzZWQgZm9yIGxvb3AKKyAgICAgICAgYW5kIG51bGxwdHIuCisgICAgICAgIChXZWJD
b3JlOjpDU1NHcm91cGluZ1J1bGU6OmFwcGVuZENTU1RleHRGb3JJdGVtcyBjb25zdCk6IFVzZSB2
YXJpYWRpYworICAgICAgICBhcHBlbmQgdG8gY2xlYW4gdGhpcyB1cCBhIGJpdC4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU0dyb3VwaW5nUnVsZTo6aXRlbSBjb25zdCk6IFVzZSBhdXRvLgorCisgICAg
ICAgICogY3NzL0NTU0dyb3VwaW5nUnVsZS5oOiBNYWRlIG1fZ3JvdXBSdWxlIHByaXZhdGUgaW5z
dGVhZCBvZiBwcm90ZWN0ZWQuCisgICAgICAgIERpZCBzb21lIG90aGVyIHR3ZWFrcy4KKworICAg
ICAgICAqIGNzcy9DU1NHcm91cGluZ1J1bGUuaWRsOiBBZGRlZC4KKworICAgICAgICAqIGNzcy9D
U1NJbXBvcnRSdWxlLmlkbDogQWRkZWQgW0V4cG9zZWQ9V2luZG93XSwgY2hhbmdlZCBocmVmIHRv
IGJlIGEKKyAgICAgICAgVVNWU3RyaW5nLCBhZGRlZCBbU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9
bWVkaWFUZXh0XSB0byBtZWRpYQorICAgICAgICBhbmQgW1NhbWVPYmplY3RdIHRvIHN0eWxlU2hl
ZXQuCisKKyAgICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU01lZGlhUnVsZTo6Q1NTTWVkaWFSdWxlKTogRGVyaXZlIGZyb20gQ1NTQ29uZGl0aW9uUnVs
ZS4KKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6bWVkaWFRdWVyaWVzIGNvbnN0KTog
UmV0dXJuIGEgcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpjc3NU
ZXh0IGNvbnN0KTogU3RyZWFtbGluZSBzaW5jZSB3ZSBkb24ndCBuZWVkIGEKKyAgICAgICAgbnVs
bCBjaGVjay4KKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6Y29uZGl0aW9uVGV4dCBj
b25zdCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpzZXRDb25kaXRp
b25UZXh0KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6Om1lZGlhIGNv
bnN0KTogU3RyZWFtbGluZSBzaW5jZSB3ZSBkb24ndCBuZWVkIGEKKyAgICAgICAgbnVsbCBjaGVj
ay4KKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6cmVhdHRhY2gpOiBEaXR0by4KKwor
ICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaDogRGVyaXZlIGZyb20gQ1NTQ29uZGl0aW9uUnVs
ZS4KKworICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaWRsOiBEZXJpdmUgZnJvbSBDU1NDb25k
aXRpb25SdWxlLiBBZGRlZAorICAgICAgICBbRXhwb3NlZD1XaW5kb3ddLiBBZGRlZCBbU2FtZU9i
amVjdCwgUHV0Rm9yd2FyZHM9bWVkaWFUZXh0XSB0byBtZWRpYS4KKyAgICAgICAgUmVtb3ZlZCBp
bnNlcnRSdWxlIGFuZCBkZWxldGVSdWxlIHNpbmNlIHRoZXkgYXJlIG5vdyBpbmhlcml0ZWQgZnJv
bQorICAgICAgICBDU1NHcm91cGluZ1J1bGUuCisKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOiBB
ZGRlZCBNQVJHSU5fUlVMRSBjb25zdGFudCBldmVuIHRob3VnaCB3ZSBkb24ndCBoYXZlCisgICAg
ICAgIHRoYXQgcnVsZSB0eXBlLiBNb3ZlZCBpbmxpbmUgZnVuY3Rpb25zIG91dCBvZiB0aGUgY2xh
c3MgYm9keSB0byBoZWxwCisgICAgICAgIGNsYXJpdHkgYSBiaXQuCisKKyAgICAgICAgKiBjc3Mv
Q1NTUnVsZS5pZGw6IEFkZGVkIFtFeHBvc2VkPVdpbmRvd10sIGNoYW5nZWQgYSBmZXcgdGhpbmdz
IHRvIG1hdGNoCisgICAgICAgIHRoZSBzcGVjaWZpY2F0aW9uLgorCisgICAgICAgICogY3NzL0NT
U1N0eWxlUnVsZS5pZGw6IEFkZGVkIFtFeHBvc2VkPVdpbmRvd10uIEFkZGVkIFtTYW1lT2JqZWN0
XQorICAgICAgICB0byBzdHlsZS4KKworICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmlkbDog
QWRkZWQgW0V4cG9zZWQ9V2luZG93XS4KKworICAgICAgICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3VwcG9ydHNSdWxlOjpDU1NTdXBwb3J0c1J1bGUp
OiBEZXJpdmUgZnJvbSBDU1NDb25kaXRpb25SdWxlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3Vw
cG9ydHNSdWxlOjpjcmVhdGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRz
UnVsZTo6Y3NzVGV4dCBjb25zdCk6IFVzZSB2YXJpYWRpYyBhcHBlbmQuCisgICAgICAgIChXZWJD
b3JlOjpDU1NTdXBwb3J0c1J1bGU6OmNvbmRpdGlvblRleHQgY29uc3QpOiBVcGRhdGVkIHRvIHVz
ZSBncm91cFJ1bGUuCisgICAgICAgIChXZWJDb3JlOjpDU1NTdXBwb3J0c1J1bGU6OnNldENvbmRp
dGlvblRleHQpOiBBZGRlZC4gTm90IGltcGxlbWVudGVkIHlldC4KKworICAgICAgICAqIGNzcy9D
U1NTdXBwb3J0c1J1bGUuaDogRGVyaXZlIGZyb20gQ1NTQ29uZGl0aW9uUnVsZS4KKworICAgICAg
ICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUuaWRsOiBEZXJpdmUgZnJvbSBDU1NDb25kaXRpb25SdWxl
LgorICAgICAgICBBZGRlZCBbRXhwb3NlZD1XaW5kb3ddLgorCisgICAgICAgICogY3NzL01lZGlh
TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5U2V0OjpzZXQpOiBVc2UgbW92
ZSBpbnN0ZWFkIG9mIHN3YXAuCisKKyAgICAgICAgKiBjc3MvTWVkaWFMaXN0LmlkbDogQWRkZWQg
W0V4cG9zZWQ9V2luZG93XSBhbmQgbWFya2VkIG1lZGlhVGV4dCBhcworICAgICAgICB0aGUgc3Ry
aW5naWZpZXIuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZTo6Y3JlYXRlKTogTW92ZWQgaGVyZSBmcm9tIHRoZSBoZWFkZXIuCisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJ1bGU6OmNvcHkgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUnVsZVBhZ2U6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlR3JvdXA6OlN0eWxlUnVsZUdyb3VwKTogVXNlIG1vdmUgaW5zdGVhZCBvZiBzd2Fw
LgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlTWVkaWE6OmNyZWF0ZSk6IFVzZSBtb3ZlIGlu
c3RlYWQgb2Ygc3dhcC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZU1lZGlhOjpjb3B5IGNv
bnN0KTogTW92ZWQgb3V0IG9mIHRoZSBoZWFkZXIuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGVTdXBwb3J0czo6U3R5bGVSdWxlU3VwcG9ydHMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUnVsZVN1cHBvcnRzOjpjcmVhdGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZU5hbWVzcGFjZTo6U3R5bGVSdWxlTmFtZXNwYWNlKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJ1bGVOYW1lc3BhY2U6OmNyZWF0ZSk6IERpdHRvLgorCisgICAgICAgICog
Y3NzL1N0eWxlUnVsZS5oOiBNb3ZlZCBmdW5jdGlvbiBib2RpZXMgb3V0IG9mIHRoZSBjbGFzcwor
ICAgICAgICBkZWZpbnRpaW9uIGZvciBjbGFyaXR5LgorCisgICAgICAgICogY3NzL1N0eWxlU2hl
ZXQuaWRsOiBBZGRlZCBbRXhwb3NlZD1XaW5kb3ddIGFuZAorICAgICAgICBbU2FtZU9iamVjdCwg
UHV0Rm9yd2FyZHM9bWVkaWFUZXh0XSBmb3IgbWVkaWEuCisKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6
cGFyc2VyQXBwZW5kUnVsZSk6IFVwZGF0ZWQgc2luY2UKKyAgICAgICAgbWVkaWFRdWVyaWVzIHJl
dHVybnMgYSByZWZlcmVuY2UuCisKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldExpc3QuaWRsOiBB
ZGRlZCBbRXhwb3NlZD1XaW5kb3ddLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckltcGw6OmNvbnN1bWVNZWRpYVJ1
bGUpOiBVc2UgV1RGTW92ZSBzaW5jZQorICAgICAgICB0aGUgY3JlYXRlIGZ1bmN0aW9uIG5vdyB0
YWtlcyBhbiBydmFsdWUgcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VySW1w
bDo6Y29uc3VtZVN1cHBvcnRzUnVsZSk6IERpdHRvLgorCisgICAgICAgICogc3R5bGUvUnVsZVNl
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6UnVsZVNldDo6YWRkQ2hpbGRSdWxlcyk6
IFVwZGF0ZWQgc2luY2UgbWVkaWFRdWVyaWVzCisgICAgICAgIHJldHVybnMgYSByZWZlcmVuY2Uu
CisgICAgICAgICogc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGU6OlVzZXJBZ2VudFN0eWxlOjphZGRUb0RlZmF1bHRTdHlsZSk6IERpdHRvLgorCiAyMDIw
LTA5LTI0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBB
dWRpb05vZGU6OnJlc2V0KCkgYW5kIGFsbCBpdHMgb3ZlcnJpZGVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKaW5kZXggMDVmMDk0MWE5MDYyMzQ0NzVlNjRmZTgzZWE3NTMxZGZlZGIwYTU1ZS4u
NTFiZjY1OTNmMWE4ZWFjN2YyOGNmZDFiNWVmZjRhOTgwNmRjNTU5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA5LTI0ICBEYXJpbiBBZGxlciAg
PGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgQ1NTQ29uZGl0aW9uUnVsZSBhbmQgQ1NT
R3JvdXBpbmdSdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTY4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIERPTS9ET01DU1MubW06CisgICAgICAgIChraXRDbGFzcyk6IEFkZGVkIGEgZGVmYXVs
dCBjYXNlIHNpbmNlIHdlIGRvbid0IGludGVuZCB0byBsaXN0IGV2ZXJ5IHNpbmdsZSBydWxlIHR5
cGUgaGVyZS4KKwogMjAyMC0wOS0yMyAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBmZWF0dXJlIGZsYWdzIGZvciBHUFUgUHJvY2VzcyBmZWF0dXJlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCBjZDliYWFmZjVmMDQ2ZDY4MzdmNmY0YThhZjdjOTk4Zjc2MzA2
MmVkLi5hYzQ3YTRiMWFmOTI3NWEzNzNjZjg0OGNmM2ZmNzlkMzMzZDUyODEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtNjkwLDcgKzY5MCw5IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJ
TEVTCiAgICAgY3J5cHRvL3BhcmFtZXRlcnMvUnNhT2FlcFBhcmFtcy5pZGwKICAgICBjcnlwdG8v
cGFyYW1ldGVycy9Sc2FQc3NQYXJhbXMuaWRsCiAKKyAgICBjc3MvQ1NTQ29uZGl0aW9uUnVsZS5p
ZGwKICAgICBjc3MvQ1NTRm9udEZhY2VSdWxlLmlkbAorICAgIGNzcy9DU1NHcm91cGluZ1J1bGUu
aWRsCiAgICAgY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAgICAgY3NzL0NTU0tleWZyYW1lUnVsZS5p
ZGwKICAgICBjc3MvQ1NTS2V5ZnJhbWVzUnVsZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDhlNTM0ZTAwZWIyNWJlMDliNWQwMWUw
Njk0ZDk0MjMzOThlYzY0ZDQuLmU0YjIxYWNjMmY4YzU0YWQzMTg0YzQ5MWFlZjVlOGQ2NjI4YTVj
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dApAQCAtNTg3LDcgKzU4Nyw5IEBAICQoUFJPSkVDVF9ESVIpL2NyeXB0by9wYXJhbWV0ZXJzL1Jz
YUhhc2hlZEtleUdlblBhcmFtcy5pZGwKICQoUFJPSkVDVF9ESVIpL2NyeXB0by9wYXJhbWV0ZXJz
L1JzYUtleUdlblBhcmFtcy5pZGwKICQoUFJPSkVDVF9ESVIpL2NyeXB0by9wYXJhbWV0ZXJzL1Jz
YU9hZXBQYXJhbXMuaWRsCiAkKFBST0pFQ1RfRElSKS9jcnlwdG8vcGFyYW1ldGVycy9Sc2FQc3NQ
YXJhbXMuaWRsCiskKFBST0pFQ1RfRElSKS9jc3MvQ1NTQ29uZGl0aW9uUnVsZS5pZGwKICQoUFJP
SkVDVF9ESVIpL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsCiskKFBST0pFQ1RfRElSKS9jc3MvQ1NT
R3JvdXBpbmdSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAk
KFBST0pFQ1RfRElSKS9jc3MvQ1NTS2V5ZnJhbWVSdWxlLmlkbAogJChQUk9KRUNUX0RJUikvY3Nz
L0NTU0tleWZyYW1lc1J1bGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGQyNDgxZWVlNmIyMzgwMzcwZGUyNGRjMGJlMzk1NWEw
MDZiMDBjNDguLjY2YTNkNTRkZGU1MDY2OWZiZTVhZjY3YWJmZGMwY2ExY2NjMjU1NTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0y
NDUsOCArMjQ1LDEyIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQ0RBVEFTZWN0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDREFUQVNlY3Rpb24uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NBbmltYXRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0FuaW1hdGlvbi5oCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0NvbmRpdGlvblJ1bGUuY3BwCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0NvbmRpdGlv
blJ1bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NGb250RmFjZVJ1bGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0dyb3VwaW5nUnVsZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTR3JvdXBpbmdSdWxlLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0
UnVsZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NT
U0tleWZyYW1lUnVsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGNiYjRk
MWRjMWNhNDhkOGFjNTllY2M0ZjFhYmZkNGQ0YmRkNDVlYTUuLmVjZmQxM2EyZjBmYmYxNGRhNzE1
MjE5MmFmMTUyMTM3NWYzZTllNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
NjQyLDcgKzY0Miw5IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2NyeXB0
by9wYXJhbWV0ZXJzL1JzYUtleUdlblBhcmFtcy5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRv
L3BhcmFtZXRlcnMvUnNhT2FlcFBhcmFtcy5pZGwgXAogICAgICQoV2ViQ29yZSkvY3J5cHRvL3Bh
cmFtZXRlcnMvUnNhUHNzUGFyYW1zLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTQ29uZGl0
aW9uUnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAor
ICAgICQoV2ViQ29yZSkvY3NzL0NTU0dyb3VwaW5nUnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkv
Y3NzL0NTU0ltcG9ydFJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NLZXlmcmFtZVJ1
bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NLZXlmcmFtZXNSdWxlLmlkbCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQppbmRleCA0NjU5YmRlMjI4YTBiZjA2M2JjOTBjY2MwNjJlNzE0NDBmYmYzYzZk
Li5jYWY1ODM3YTc1ZGY5MzJmNGM3MWMxYWE5Zjc3YmIzYjQ2Y2M2MWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMu
Y21ha2UKQEAgLTMxMCw2ICszMTAsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19I
RUFERVJTCiAgICAgY3J5cHRvL1NlcmlhbGl6ZWRDcnlwdG9LZXlXcmFwLmgKIAogICAgIGNzcy9D
U1NDYWxjdWxhdGlvblZhbHVlLmgKKyAgICBjc3MvQ1NTQ29uZGl0aW9uUnVsZS5oCiAgICAgY3Nz
L0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaAogICAg
IGNzcy9DU1NGb250RmFtaWx5LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZGI2N2NkNjFlN2Q4NjM5YzUy
NzFkZWYwNGMzNzgxNzNjOWFlZmQ1Ni4uMDNlNzU5NDBmNzcyYjM2Yzg1OGM2MGQ2ZTkxZTkwOGU4
Njg4YWM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTY2Myw2ICs2NjMsNyBAQCBjc3MvQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlLmNwcAogY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCiBjc3MvQ1NT
Q2FudmFzVmFsdWUuY3BwCiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorY3Nz
L0NTU0NvbmRpdGlvblJ1bGUuY3BwCiBjc3MvQ1NTQ29udGVudERpc3RyaWJ1dGlvblZhbHVlLmNw
cAogY3NzL0NTU0Nyb3NzZmFkZVZhbHVlLmNwcAogY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuY3Bw
CkBAIC0yNzAxLDcgKzI3MDIsOSBAQCBKU0Jsb2JQcm9wZXJ0eUJhZy5jcHAKIEpTQnl0ZUxlbmd0
aFF1ZXVpbmdTdHJhdGVneS5jcHAKIEpTQ0RBVEFTZWN0aW9uLmNwcAogSlNDU1NBbmltYXRpb24u
Y3BwCitKU0NTU0NvbmRpdGlvblJ1bGUuY3BwCiBKU0NTU0ZvbnRGYWNlUnVsZS5jcHAKK0pTQ1NT
R3JvdXBpbmdSdWxlLmNwcAogSlNDU1NJbXBvcnRSdWxlLmNwcAogSlNDU1NLZXlmcmFtZVJ1bGUu
Y3BwCiBKU0NTU0tleWZyYW1lc1J1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2Y1ZjExMTIzNGU1MDFlNTM4NWIxNDNl
MWVmZTUxNGE4NTliMTgyNC4uZDQzMDk2ZWUzMTZhOTMwMjQyYTAzNjQ1NmE0MzAyM2NjNzliNmU1
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMjY1NSw2ICsyNjU1LDkgQEAKIAkJOTMwN0YxRDgwQUYyRDU5MDAwREJBMzFBIC8q
IEhpdFRlc3RSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzMDdGMUQ2MEFGMkQ1OTAwMERCQTMxQSAvKiBIaXRUZXN0UmVzdWx0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwODQxMzQxQ0RE
QjE1NTAwQjA5NThDIC8qIEpTRE9NQ29udmVydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwODQxMzMxQ0REQjE1NTAwQjA5NThDIC8qIEpTRE9NQ29u
dmVydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTkzMDkwODkxMEFGN0VERTQwMDgxREYwMSAvKiBIaXRUZXN0UmVxdWVzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwOTA4OTAwQUY3RURFNDAwODFE
RjAxIC8qIEhpdFRlc3RSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJOTMwQUFDOUEyNTBFQjg0OTAwMTNEQTlGIC8qIENTU0NvbmRpdGlv
blJ1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
MEFBQzk4MjUwRUI4MTcwMDEzREE5RiAvKiBDU1NDb25kaXRpb25SdWxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJOTMwQUFDOUYyNTBFRDQwOTAw
MTNEQTlGIC8qIEpTQ1NTQ29uZGl0aW9uUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwQUFDOUQyNTBFRDQwOTAwMTNEQTlGIC8qIEpTQ1NTQ29u
ZGl0aW9uUnVsZS5oICovOyB9OworCQk5MzBBQUNBMjI1MEVENDExMDAxM0RBOUYgLyogSlNDU1NH
cm91cGluZ1J1bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzMEFBQ0EwMjUwRUQ0MTEwMDEzREE5RiAvKiBKU0NTU0dyb3VwaW5nUnVsZS5oICovOyB9
OwogCQk5MzE1M0JEQTE0MTgxRjdBMDBGQ0Y1QkUgLyogbWlzc2luZ0ltYWdlQDJ4LnBuZyBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMxNTNCRDkxNDE4
MUY3QTAwRkNGNUJFIC8qIG1pc3NpbmdJbWFnZUAyeC5wbmcgKi87IH07CiAJCTkzMTUzQkRDMTQx
OTU5QkMwMEZDRjVCRSAvKiB0ZXh0QXJlYVJlc2l6ZUNvcm5lci5wbmcgaW4gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMTUzQkRCMTQxOTU5QkIwMEZDRjVC
RSAvKiB0ZXh0QXJlYVJlc2l6ZUNvcm5lci5wbmcgKi87IH07CiAJCTkzMTUzQkUyMTQxOTVBNTcw
MEZDRjVCRSAvKiBtaXNzaW5nSW1hZ2UucG5nIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5MzE1M0JFMTE0MTk1QTU3MDBGQ0Y1QkUgLyogbWlzc2luZ0lt
YWdlLnBuZyAqLzsgfTsKQEAgLTExMDU0LDYgKzExMDU3LDE0IEBACiAJCTkzMDdGMUQ2MEFGMkQ1
OTAwMERCQTMxQSAvKiBIaXRUZXN0UmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBIaXRUZXN0UmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkz
MDg0MTMzMUNEREIxNTUwMEIwOTU4QyAvKiBKU0RPTUNvbnZlcnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNET01Db252ZXJ0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzMDkwODkwMEFGN0VERTQwMDgxREYwMSAvKiBIaXRUZXN0UmVxdWVzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGl0VGVzdFJlcXVlc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwQUFDOTYyNTBFQjgxNzAwMTNEQTlGIC8qIENTU0NvbmRp
dGlvblJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTQ29uZGl0aW9uUnVsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMEFBQzk4MjUwRUI4MTcwMDEzREE5RiAvKiBD
U1NDb25kaXRpb25SdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0NvbmRpdGlvblJ1bGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTMwQUFDOTkyNTBFQjgxODAwMTNEQTlGIC8qIENT
U0NvbmRpdGlvblJ1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU0NvbmRpdGlvblJ1bGUuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5MzBBQUM5QjI1MEVDMkYzMDAxM0RBOUYgLyogQ1NTR3JvdXBp
bmdSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBDU1NHcm91cGluZ1J1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5MzBBQUM5QzI1MEVENDA4MDAxM0RBOUYgLyogSlNDU1NDb25kaXRpb25SdWxl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ1NTQ29uZGl0aW9u
UnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTkzMEFBQzlEMjUwRUQ0MDkw
MDEzREE5RiAvKiBKU0NTU0NvbmRpdGlvblJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNDU1NDb25kaXRpb25SdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTkzMEFBQ0EwMjUwRUQ0MTEwMDEzREE5RiAvKiBKU0NTU0dyb3VwaW5nUnVsZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NTU0dyb3VwaW5nUnVsZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5MzBBQUNBMTI1MEVENDExMDAxM0RBOUYgLyogSlNDU1NH
cm91cGluZ1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlND
U1NHcm91cGluZ1J1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzBDOTBE
QzE5Q0Y5NjUzMDBENkMyMUEgLyogSW5saW5lSXRlcmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSW5saW5lSXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5MzE1M0JEOTE0MTgxRjdBMDBGQ0Y1QkUgLyogbWlzc2luZ0ltYWdlQDJ4
LnBuZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGlt
YWdlLnBuZzsgcGF0aCA9ICJtaXNzaW5nSW1hZ2VAMngucG5nIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTMxNTNCREIxNDE5NTlCQjAwRkNGNUJFIC8qIHRleHRBcmVhUmVzaXplQ29y
bmVyLnBuZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IGltYWdlLnBuZzsgcGF0aCA9IHRleHRBcmVhUmVzaXplQ29ybmVyLnBuZzsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTI0ODU1LDggKzI0ODY2LDEyIEBACiAJCUE4M0I3OTBFMENDQUZG
OTcwMDBCMDgyNSAvKiBDU1MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTkzMEFBQzlDMjUwRUQ0MDgwMDEzREE5RiAvKiBKU0NTU0NvbmRpdGlvblJ1bGUu
Y3BwICovLAorCQkJCTkzMEFBQzlEMjUwRUQ0MDkwMDEzREE5RiAvKiBKU0NTU0NvbmRpdGlvblJ1
bGUuaCAqLywKIAkJCQlCQzQ2QzFGMjBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NGb250RmFjZVJ1
bGUuY3BwICovLAogCQkJCUJDNDZDMUYzMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0ZvbnRGYWNl
UnVsZS5oICovLAorCQkJCTkzMEFBQ0ExMjUwRUQ0MTEwMDEzREE5RiAvKiBKU0NTU0dyb3VwaW5n
UnVsZS5jcHAgKi8sCisJCQkJOTMwQUFDQTAyNTBFRDQxMTAwMTNEQTlGIC8qIEpTQ1NTR3JvdXBp
bmdSdWxlLmggKi8sCiAJCQkJQkM0NkMxRjQwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0
UnVsZS5jcHAgKi8sCiAJCQkJQkM0NkMxRjUwQzBEREM4RjAwMjBDRkMzIC8qIEpTQ1NTSW1wb3J0
UnVsZS5oICovLAogCQkJCTMxNkZFMDZEMEU2Q0NCRUUwMEJGNjA4OCAvKiBKU0NTU0tleWZyYW1l
UnVsZS5jcHAgKi8sCkBAIC0yODU5NSw2ICsyODYxMCw5IEBACiAJCQkJQkM2MDQ5Q0IwREI1NjBD
MjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggKi8sCiAJCQkJQkNFQTQ3N0MwOTdDQUFDODAw
OTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgKi8sCiAJCQkJQkNFQTQ3
N0QwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oICovLAor
CQkJCTkzMEFBQzk2MjUwRUI4MTcwMDEzREE5RiAvKiBDU1NDb25kaXRpb25SdWxlLmNwcCAqLywK
KwkJCQk5MzBBQUM5ODI1MEVCODE3MDAxM0RBOUYgLyogQ1NTQ29uZGl0aW9uUnVsZS5oICovLAor
CQkJCTkzMEFBQzk5MjUwRUI4MTgwMDEzREE5RiAvKiBDU1NDb25kaXRpb25SdWxlLmlkbCAqLywK
IAkJCQk5REFDN0M1MjFBRjJDQUExMDA0MzdDNDQgLyogQ1NTQ29udGVudERpc3RyaWJ1dGlvblZh
bHVlLmNwcCAqLywKIAkJCQk5REFDN0M1MzFBRjJDQUExMDA0MzdDNDQgLyogQ1NTQ29udGVudERp
c3RyaWJ1dGlvblZhbHVlLmggKi8sCiAJCQkJMkQ4RkVCREExNDNFM0VGNzAwNzI1MDJCIC8qIENT
U0Nyb3NzZmFkZVZhbHVlLmNwcCAqLywKQEAgLTI4NjQ1LDYgKzI4NjYzLDcgQEAKIAkJCQlDRDNF
MjUyMjE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oICovLAog
CQkJCUZCRjg5MDQ0MTY5RTlGMUYwMDUyRDg2RSAvKiBDU1NHcm91cGluZ1J1bGUuY3BwICovLAog
CQkJCUZCMzA1NkMxMTY5RTVEQUMwMDk2QTIzMiAvKiBDU1NHcm91cGluZ1J1bGUuaCAqLywKKwkJ
CQk5MzBBQUM5QjI1MEVDMkYzMDAxM0RBOUYgLyogQ1NTR3JvdXBpbmdSdWxlLmlkbCAqLywKIAkJ
CQlCQzc3MkIzNjBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTSGVscGVyLmggKi8sCiAJCQkJQkMyM0U3
NkIwREFFODhBOTAwOUZEQzkxIC8qIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwICovLAogCQkJ
CUJDMjNFRTkxMERBRUQyQkMwMDlGREM5MSAvKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmggKi8s
CkBAIC0zMDg5OCw2ICszMDkxNyw3IEBACiAJCQkJNDlBRTJEOEYxMzRFRTUwQzAwNzI5MjBBIC8q
IENTU0NhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjA0OUNDMERCNTYw
QzIwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFQTQ3
OTAwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCisJCQkJOTMwQUFDOUEyNTBFQjg0OTAwMTNEQTlGIC8qIENTU0NvbmRpdGlvblJ1
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTlEQUM3QzU1MUFGMkNBQTIwMDQzN0M0NCAvKiBDU1ND
b250ZW50RGlzdHJpYnV0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEOEZFQkREMTQz
RTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRDIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCBpbiBIZWFk
ZXJzICovLApAQCAtMzIwMDYsNyArMzIwMjYsOSBAQAogCQkJCTdDOUFDQUMwMUYzQ0YxQUYwMEYz
QUEwOSAvKiBKU0NyeXB0b1JzYUhhc2hlZEtleUFsZ29yaXRobS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0M5QUNBQzIxRjNDRjFBRjAwRjNBQTA5IC8qIEpTQ3J5cHRvUnNhS2V5QWxnb3JpdGhtLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3MUIyODQyNzIwM0NFQzRDMDAzNkFBNUQgLyogSlNDU1NBbmlt
YXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTkzMEFBQzlGMjUwRUQ0MDkwMDEzREE5RiAvKiBK
U0NTU0NvbmRpdGlvblJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDZDMUZEMEMwRERDOEYw
MDIwQ0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTMwQUFD
QTIyNTBFRDQxMTAwMTNEQTlGIC8qIEpTQ1NTR3JvdXBpbmdSdWxlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzQ2QzFGRjBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NJbXBvcnRSdWxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkzMTZGRTA3MjBFNkNDQkVFMDBCRjYwODggLyogSlNDU1NLZXlmcmFtZVJ1
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNkZFMDc0MEU2Q0NCRUUwMEJGNjA4OCAvKiBKU0NT
U0tleWZyYW1lc1J1bGUuaCBpbiBIZWFkZXJzICovLApAQCAtMzI3ODEsNyArMzI4MDMsOSBAQAog
CQkJCTZGNjM4M0Y2MjQyN0FGNEEwMERBQkE1MyAvKiBMYXlvdXRJbml0aWFsQ29udGFpbmluZ0Js
b2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RjBCOThCNTIzRjI2OEVDMDBFRUMyRjIgLyogTGF5
b3V0SW5saW5lVGV4dEJveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQxODAyNTUyM0Q0NTQ5QjAw
RkZCMDcxIC8qIExheW91dEludGVncmF0aW9uQm94VHJlZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RTQwM0I3QTIyNTFCMTE5MzAwMTlFODAwIC8qIExheW91dEludGVncmF0aW9uQ292ZXJhZ2UuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0QUJBQkREMjM2MDg4RkUwMEZBNDM0NSAvKiBMYXlvdXRJbnRl
Z3JhdGlvbkxpbmVMYXlvdXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0MDNCN0EzMjUxQjExQzEw
MDE5RTgwMCAvKiBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTExMzEwQ0Y0MjBCQTRBM0QwMDY1QThEMCAvKiBMYXlvdXRJdGVyYXRvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNkZGQTRDMDEyM0YyRkVEOTAwN0U0RUJDIC8qIExheW91dExpbmVCcmVha0Jv
eC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMxRDcyRjYxNUZFNjk1MzAwQzRDMDdFIC8qIExheW91
dE1pbGVzdG9uZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjgyNiw3ICszMjg1MCw2IEBACiAJCQkJ
QjIyMjc5NjUwRDAwQkYyMjAwNzFCNzgyIC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQUIzMUM5MUUxMEFFMUI4RTAwMEM3QjkyIC8qIExpbmVDbGFtcFZh
bHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRkVGQUIyQTE4MzgwREEwMDA1MTQ1MzQgLyogTGlu
ZUxheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLywKLQkJCQlFNDAzQjdBMjI1MUIxMTkzMDAxOUU4
MDAgLyogTGF5b3V0SW50ZWdyYXRpb25Db3ZlcmFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ4
NEEzM0UyMzA1NTMyNTAwOUFERTZBIC8qIExpbmVMYXlvdXRUcmF2ZXJzYWwuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUU0MzQzRDI1MjM5Mjc3OTAwMEVCQkI2NiAvKiBMaW5lTGF5b3V0VHJhdmVyc2Fs
Q29tcGxleFBhdGguaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NTFDNjI4MjM5MjkzRUMwMDk5MzE5
MCAvKiBMaW5lTGF5b3V0VHJhdmVyc2FsRGlzcGxheVJ1blBhdGguaCBpbiBIZWFkZXJzICovLApA
QCAtMzM2OTUsNyArMzM3MTgsNiBAQAogCQkJCTIyOEMyODQ1MTBEODI1MDAwMDlEMEQwRSAvKiBT
Y3JpcHRXcmFwcGFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MDBEN0E4MTcxMzZFQTcwMDc3
Q0UwNSAvKiBTY3JpcHRXcmFwcGFibGVJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzhB
RTM0RjEyRUEwOTZBMDBFQjNBRTYgLyogU2Nyb2xsYWJsZUFyZWEuaCBpbiBIZWFkZXJzICovLAot
CQkJCUU0MDNCN0EzMjUxQjExQzEwMDE5RTgwMCAvKiBMYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVEOTI1QjY4MEY2NEQ0REQwMEI4NDdGMCAvKiBTY3Jv
bGxBbGlnbm1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNBM0JGNjdFMTBEOTlCQUUwMEU2Q0U1
MyAvKiBTY3JvbGxBbmltYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYxNzc0ODAxMzc4Qjc3
MjAwOURBNzZBIC8qIFNjcm9sbEFuaW1hdG9ySU9TLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb25kaXRpb25SdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb25kaXRpb25SdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjBjMjVhOTJjZmJlM2Y5
ZThmYmNjYWZkNGJhZjAxMzAyMGM0Nzg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbmRpdGlvblJ1bGUuY3BwCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAg
ICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NDb25kaXRpb25SdWxlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTQ29uZGl0aW9uUnVsZTo6Q1NTQ29uZGl0aW9uUnVsZShT
dHlsZVJ1bGVHcm91cCYgZ3JvdXAsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKKyAgICA6IENTU0dy
b3VwaW5nUnVsZShncm91cCwgcGFyZW50KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29uZGl0aW9uUnVsZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzVkYTdkZjM1
MjBkNzE0Mzg1MzVhMjUyNDFjYzgxZGU1MzcyZTAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaApAQCAtMCwwICsxLDM1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJDU1NHcm91cGluZ1J1bGUuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBDU1NDb25kaXRpb25SdWxlIDogcHVibGljIENTU0dyb3VwaW5nUnVsZSB7
CitwdWJsaWM6CisgICAgdmlydHVhbCBTdHJpbmcgY29uZGl0aW9uVGV4dCgpIGNvbnN0ID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29uZGl0aW9uVGV4dChjb25zdCBTdHJpbmcmKSA9IDA7CisK
K3Byb3RlY3RlZDoKKyAgICBDU1NDb25kaXRpb25SdWxlKFN0eWxlUnVsZUdyb3VwJiwgQ1NTU3R5
bGVTaGVldCogcGFyZW50KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb25kaXRpb25SdWxlLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb25kaXRpb25SdWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Mjg0OWUwYjhmMTVjMTNm
MDliMzUwMGZkNjQxMTY4ZjRkYjA3OWJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbmRpdGlvblJ1bGUuaWRsCkBAIC0wLDAgKzEsMjQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCit0eXBlZGVmIFVT
VlN0cmluZyBDU1NPTVN0cmluZzsKKworW0V4cG9zZWQ9V2luZG93XSBpbnRlcmZhY2UgQ1NTQ29u
ZGl0aW9uUnVsZSA6IENTU0dyb3VwaW5nUnVsZSB7CisgICAgYXR0cmlidXRlIENTU09NU3RyaW5n
IGNvbmRpdGlvblRleHQ7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
b3VwaW5nUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmNwcApp
bmRleCBjNmM1YzM5NTQwYTVjNTA1Y2RmNGQ1OWM3NDZjMzkxODVjOWUwM2IyLi4zODc2MTI3MDg3
ZDlmYzk5ZmU3OWU2ZmQ1MWE1YTdhODhiMGNkZjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jv
dXBpbmdSdWxlLmNwcApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
QWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEyLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSw3ICsyOSw2IEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgotCiAjaW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxlLmgiCiAKICNpbmNsdWRl
ICJDU1NQYXJzZXIuaCIKQEAgLTUwLDkgKzQ5LDkgQEAgQ1NTR3JvdXBpbmdSdWxlOjpDU1NHcm91
cGluZ1J1bGUoU3R5bGVSdWxlR3JvdXAmIGdyb3VwUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW4K
IENTU0dyb3VwaW5nUnVsZTo6fkNTU0dyb3VwaW5nUnVsZSgpCiB7CiAgICAgQVNTRVJUKG1fY2hp
bGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9ncm91cFJ1bGUtPmNoaWxkUnVsZXMoKS5z
aXplKCkpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkUnVsZUNTU09NV3Jh
cHBlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
c1tpXSkKLSAgICAgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXS0+c2V0UGFyZW50
UnVsZSgwKTsKKyAgICBmb3IgKGF1dG8mIHdyYXBwZXIgOiBtX2NoaWxkUnVsZUNTU09NV3JhcHBl
cnMpIHsKKyAgICAgICAgaWYgKHdyYXBwZXIpCisgICAgICAgICAgICB3cmFwcGVyLT5zZXRQYXJl
bnRSdWxlKG51bGxwdHIpOwogICAgIH0KIH0KIApAQCAtMTExLDE0ICsxMTAsMTAgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gQ1NTR3JvdXBpbmdSdWxlOjpkZWxldGVSdWxlKHVuc2lnbmVkIGluZGV4KQog
ICAgIHJldHVybiB7IH07CiB9CiAKLXZvaWQgQ1NTR3JvdXBpbmdSdWxlOjphcHBlbmRDc3NUZXh0
Rm9ySXRlbXMoU3RyaW5nQnVpbGRlciYgcmVzdWx0KSBjb25zdAordm9pZCBDU1NHcm91cGluZ1J1
bGU6OmFwcGVuZENTU1RleHRGb3JJdGVtcyhTdHJpbmdCdWlsZGVyJiByZXN1bHQpIGNvbnN0CiB7
Ci0gICAgdW5zaWduZWQgc2l6ZSA9IGxlbmd0aCgpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiAgIik7Ci0g
ICAgICAgIHJlc3VsdC5hcHBlbmQoaXRlbShpKS0+Y3NzVGV4dCgpKTsKLSAgICAgICAgcmVzdWx0
LmFwcGVuZCgnXG4nKTsKLSAgICB9CisgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9IGxl
bmd0aCgpOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICByZXN1bHQuYXBwZW5kKCIgICIsIGl0ZW0o
aSktPmNzc1RleHQoKSwgJ1xuJyk7CiB9CiAKIHVuc2lnbmVkIENTU0dyb3VwaW5nUnVsZTo6bGVu
Z3RoKCkgY29uc3QKQEAgLTEzMSw3ICsxMjYsNyBAQCBDU1NSdWxlKiBDU1NHcm91cGluZ1J1bGU6
Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0CiAgICAgaWYgKGluZGV4ID49IGxlbmd0aCgpKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBw
ZXJzLnNpemUoKSA9PSBtX2dyb3VwUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7Ci0gICAgUmVm
UHRyPENTU1J1bGU+JiBydWxlID0gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XTsKKyAg
ICBhdXRvJiBydWxlID0gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XTsKICAgICBpZiAo
IXJ1bGUpCiAgICAgICAgIHJ1bGUgPSBtX2dyb3VwUnVsZS0+Y2hpbGRSdWxlcygpW2luZGV4XS0+
Y3JlYXRlQ1NTT01XcmFwcGVyKGNvbnN0X2Nhc3Q8Q1NTR3JvdXBpbmdSdWxlKj4odGhpcykpOwog
ICAgIHJldHVybiBydWxlLmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyb3VwaW5nUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5oCmlu
ZGV4IGY1NGEzOTcxOTRlNWY5NzQ2NWUyYTVlMTg2ZDg1MmJmNDA5ZDUyMzEuLmNmN2FhOTgxNWIx
YTc0N2EzMjJmNGIwMjFhNzM4YTRhMGQ4OGI5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcm91cGluZ1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JvdXBp
bmdSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xs
IChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJA
a2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNiwgMjAwOCwgMjAxMiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVs
IFdlaW5pZyAoc2FtQHdlYmtpdC5vcmcpCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMzYsMjQgKzM2LDE5IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5DU1NHcm91cGluZ1J1bGUoKTsKIAogICAgIFdFQkNPUkVf
RVhQT1JUIENTU1J1bGVMaXN0JiBjc3NSdWxlcygpIGNvbnN0OwotCiAgICAgV0VCQ09SRV9FWFBP
UlQgRXhjZXB0aW9uT3I8dW5zaWduZWQ+IGluc2VydFJ1bGUoY29uc3QgU3RyaW5nJiBydWxlLCB1
bnNpZ25lZCBpbmRleCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8dm9pZD4gZGVs
ZXRlUnVsZSh1bnNpZ25lZCBpbmRleCk7Ci0gICAgICAgIAotICAgIC8vIEZvciBDU1NSdWxlTGlz
dAogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OwogICAgIENTU1J1bGUqIGl0ZW0odW5zaWdu
ZWQgaW5kZXgpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6Ci0gICAgQ1NTR3JvdXBpbmdSdWxlKFN0eWxl
UnVsZUdyb3VwJiBncm91cFJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7Ci0gICAgCisgICAg
Q1NTR3JvdXBpbmdSdWxlKFN0eWxlUnVsZUdyb3VwJiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsK
KyAgICBjb25zdCBTdHlsZVJ1bGVHcm91cCYgZ3JvdXBSdWxlKCkgY29uc3QgeyByZXR1cm4gbV9n
cm91cFJ1bGU7IH0KICAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmKSBvdmVycmlkZTsK
LQotICAgIHZvaWQgYXBwZW5kQ3NzVGV4dEZvckl0ZW1zKFN0cmluZ0J1aWxkZXImKSBjb25zdDsK
LQotICAgIFJlZjxTdHlsZVJ1bGVHcm91cD4gbV9ncm91cFJ1bGU7CisgICAgdm9pZCBhcHBlbmRD
U1NUZXh0Rm9ySXRlbXMoU3RyaW5nQnVpbGRlciYpIGNvbnN0OwogCiBwcml2YXRlOgorICAgIFJl
ZjxTdHlsZVJ1bGVHcm91cD4gbV9ncm91cFJ1bGU7CiAgICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRy
PENTU1J1bGU+PiBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnM7CiAgICAgbXV0YWJsZSBzdGQ6OnVu
aXF1ZV9wdHI8Q1NTUnVsZUxpc3Q+IG1fcnVsZUxpc3RDU1NPTVdyYXBwZXI7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JvdXBpbmdSdWxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjhjNzU4MGFjZjIyOTY5
MTJiNmYxZDExY2I2NjZjZTkyODczYzFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyb3VwaW5nUnVsZS5pZGwKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKK3R5cGVkZWYgVVNW
U3RyaW5nIENTU09NU3RyaW5nOworCitbRXhwb3NlZD1XaW5kb3ddCitpbnRlcmZhY2UgQ1NTR3Jv
dXBpbmdSdWxlIDogQ1NTUnVsZSB7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBDU1NSdWxlTGlzdCBjc3NSdWxlczsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVk
IGxvbmcgaW5zZXJ0UnVsZShDU1NPTVN0cmluZyBydWxlLCBvcHRpb25hbCB1bnNpZ25lZCBsb25n
IGluZGV4ID0gMCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlUnVs
ZSh1bnNpZ25lZCBsb25nIGluZGV4KTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1wb3J0UnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5p
ZGwKaW5kZXggZjU2ZWY5ZmMwZjE5MTc1OGJkZDkxZDE1YjQzNjFiNDZkYzJhMjJjMi4uMDg2OTY0
N2Y3ZWE1OWQ2YjNhYWYzODc2ZTA1MGY2MTBjY2MxYjk5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bXBvcnRSdWxlLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYs
IDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
QEAgLTE4LDEwICsxOCwxMCBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8K
IAotLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMjoKK1tFeHBvc2VkPVdpbmRvd10KIGludGVy
ZmFjZSBDU1NJbXBvcnRSdWxlIDogQ1NTUnVsZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZz8gaHJlZjsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFMaXN0IG1lZGlhOwot
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0IHN0eWxlU2hlZXQ7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBocmVmOworICAgIFtTYW1lT2JqZWN0LCBQdXRGb3J3
YXJkcz1tZWRpYVRleHRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUxpc3QgbWVkaWE7CisgICAg
W1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0IHN0eWxlU2hlZXQ7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCmluZGV4IDE1ZTlkYzA1MzUxODMz
MjI4MjdlYjZjYjA0NTdiNDU3Y2MyOGE4MTMuLmUwMWVlNTQwYmEyOTM3Mzk4OWVmMjg5MDM5YTEw
ZGUwNzBlNmNiODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwCkBAIC0xLDcgKzEs
NyBAQAogLyoqCiAgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAg
KiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJp
Z2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDEyIEFwcGxlIEluYy4KKyAqIENvcHlyaWdodCAo
QykgMjAwMi0yMDIwIEFwcGxlIEluYy4KICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2Vp
bmlnIChzYW1Ad2Via2l0Lm9yZykKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0zMSw3ICszMSw3IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIENTU01lZGlhUnVsZTo6Q1NTTWVkaWFSdWxlKFN0eWxlUnVsZU1l
ZGlhJiBtZWRpYVJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICA6IENTU0dyb3VwaW5n
UnVsZShtZWRpYVJ1bGUsIHBhcmVudCkKKyAgICA6IENTU0NvbmRpdGlvblJ1bGUobWVkaWFSdWxl
LCBwYXJlbnQpCiB7CiB9CiAKQEAgLTQxLDM4ICs0MSw0MiBAQCBDU1NNZWRpYVJ1bGU6On5DU1NN
ZWRpYVJ1bGUoKQogICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyLT5jbGVhclBhcmVudFJ1bGUo
KTsKIH0KIAotTWVkaWFRdWVyeVNldCogQ1NTTWVkaWFSdWxlOjptZWRpYVF1ZXJpZXMoKSBjb25z
dAorTWVkaWFRdWVyeVNldCYgQ1NTTWVkaWFSdWxlOjptZWRpYVF1ZXJpZXMoKSBjb25zdAogewot
ICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4obV9ncm91cFJ1bGUuZ2V0KCkpLm1l
ZGlhUXVlcmllcygpOworICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVNZWRpYT4oZ3JvdXBS
dWxlKCkpLm1lZGlhUXVlcmllcygpOwogfQogCiBTdHJpbmcgQ1NTTWVkaWFSdWxlOjpjc3NUZXh0
KCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKLSAgICByZXN1bHQuYXBwZW5k
TGl0ZXJhbCgiQG1lZGlhICIpOwotICAgIGlmIChtZWRpYVF1ZXJpZXMoKSkgewotICAgICAgICBy
ZXN1bHQuYXBwZW5kKG1lZGlhUXVlcmllcygpLT5tZWRpYVRleHQoKSwgJyAnKTsKLSAgICB9Ci0g
ICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoInsgXG4iKTsKLSAgICBhcHBlbmRDc3NUZXh0Rm9ySXRl
bXMocmVzdWx0KTsKKyAgICByZXN1bHQuYXBwZW5kKCJAbWVkaWEgIiwgY29uZGl0aW9uVGV4dCgp
LCAiIHsgXG4iKTsKKyAgICBhcHBlbmRDU1NUZXh0Rm9ySXRlbXMocmVzdWx0KTsKICAgICByZXN1
bHQuYXBwZW5kKCd9Jyk7CiAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwogfQogCitTdHJp
bmcgQ1NTTWVkaWFSdWxlOjpjb25kaXRpb25UZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbWVk
aWFRdWVyaWVzKCkubWVkaWFUZXh0KCk7Cit9CisKK3ZvaWQgQ1NTTWVkaWFSdWxlOjpzZXRDb25k
aXRpb25UZXh0KGNvbnN0IFN0cmluZyYgdGV4dCkKK3sKKyAgICBtZWRpYVF1ZXJpZXMoKS5zZXQo
dGV4dCk7Cit9CisKIE1lZGlhTGlzdCogQ1NTTWVkaWFSdWxlOjptZWRpYSgpIGNvbnN0CiB7Ci0g
ICAgaWYgKCFtZWRpYVF1ZXJpZXMoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgaWYg
KCFtX21lZGlhQ1NTT01XcmFwcGVyKQotICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyID0gTWVk
aWFMaXN0OjpjcmVhdGUobWVkaWFRdWVyaWVzKCksIGNvbnN0X2Nhc3Q8Q1NTTWVkaWFSdWxlKj4o
dGhpcykpOworICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyID0gTWVkaWFMaXN0OjpjcmVhdGUo
Jm1lZGlhUXVlcmllcygpLCBjb25zdF9jYXN0PENTU01lZGlhUnVsZSo+KHRoaXMpKTsKICAgICBy
ZXR1cm4gbV9tZWRpYUNTU09NV3JhcHBlci5nZXQoKTsKIH0KIAogdm9pZCBDU1NNZWRpYVJ1bGU6
OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UmIHJ1bGUpCiB7Ci0gICAgQ1NTR3JvdXBpbmdSdWxlOjpy
ZWF0dGFjaChydWxlKTsKLSAgICBpZiAobV9tZWRpYUNTU09NV3JhcHBlciAmJiBtZWRpYVF1ZXJp
ZXMoKSkKLSAgICAgICAgbV9tZWRpYUNTU09NV3JhcHBlci0+cmVhdHRhY2gobWVkaWFRdWVyaWVz
KCkpOworICAgIENTU0NvbmRpdGlvblJ1bGU6OnJlYXR0YWNoKHJ1bGUpOworICAgIGlmIChtX21l
ZGlhQ1NTT01XcmFwcGVyKQorICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyLT5yZWF0dGFjaCgm
bWVkaWFRdWVyaWVzKCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTTWVkaWFSdWxlLmgKaW5kZXggMjE2MGZhY2E5ZTRhNjgzMzUwMTc2MzYzMGNiODM4MjU5MmY4
NGQ2MC4uNDU0OGMxZDA5OGU3OGNhYzM4NWNhOWVkYjUxODBhMDQ1Y2RiMmJjNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NNZWRpYVJ1bGUuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAoQykgMTk5OS0yMDAz
IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxl
ciAobXVlbGxlckBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA2LCAyMDA4LCAy
MDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
Mi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yMiw3
ICsyMiw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxlLmgi
CisjaW5jbHVkZSAiQ1NTQ29uZGl0aW9uUnVsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTMwLDEwICszMCw5IEBAIGNsYXNzIE1lZGlhTGlzdDsKIGNsYXNzIE1lZGlhUXVlcnlTZXQ7
CiBjbGFzcyBTdHlsZVJ1bGVNZWRpYTsKIAotY2xhc3MgQ1NTTWVkaWFSdWxlIGZpbmFsIDogcHVi
bGljIENTU0dyb3VwaW5nUnVsZSB7CitjbGFzcyBDU1NNZWRpYVJ1bGUgZmluYWwgOiBwdWJsaWMg
Q1NTQ29uZGl0aW9uUnVsZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxDU1NNZWRpYVJ1bGU+
IGNyZWF0ZShTdHlsZVJ1bGVNZWRpYSYgcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgQ1NTTWVkaWFSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KLQogICAgIHZp
cnR1YWwgfkNTU01lZGlhUnVsZSgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgTWVkaWFMaXN0KiBt
ZWRpYSgpIGNvbnN0OwpAQCAtNDQsOSArNDMsMTEgQEAgcHJpdmF0ZToKICAgICBDU1NSdWxlOjpU
eXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBNRURJQV9SVUxFOyB9CiAgICAgdm9pZCBy
ZWF0dGFjaChTdHlsZVJ1bGVCYXNlJikgZmluYWw7CiAgICAgU3RyaW5nIGNzc1RleHQoKSBjb25z
dCBmaW5hbDsKKyAgICBTdHJpbmcgY29uZGl0aW9uVGV4dCgpIGNvbnN0IGZpbmFsOworICAgIHZv
aWQgc2V0Q29uZGl0aW9uVGV4dChjb25zdCBTdHJpbmcmKSBmaW5hbDsKKworICAgIE1lZGlhUXVl
cnlTZXQmIG1lZGlhUXVlcmllcygpIGNvbnN0OwogCi0gICAgTWVkaWFRdWVyeVNldCogbWVkaWFR
dWVyaWVzKCkgY29uc3Q7Ci0gICAgCiAgICAgbXV0YWJsZSBSZWZQdHI8TWVkaWFMaXN0PiBtX21l
ZGlhQ1NTT01XcmFwcGVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U01lZGlhUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbAppbmRl
eCAzOWFmOTQxYWM3ZTk1MTMwY2ZmY2U3MGIxYjU2MjQzMjc0YmZhNjg5Li5iMDJjZTc0YzY3YWJl
NjhmN2IyMGU4MTE1OTg1MjA5YTc4NWExZWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTWVkaWFSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxl
LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNh
bXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTE4LDEw
ICsxOCw3IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi1pbnRlcmZh
Y2UgQ1NTTWVkaWFSdWxlIDogQ1NTUnVsZSB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlh
TGlzdCBtZWRpYTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgY3NzUnVsZXM7
Ci0KLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcgaW5zZXJ0UnVsZShvcHRp
b25hbCBET01TdHJpbmcgcnVsZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCB1bnNpZ25lZCBsb25n
IGluZGV4ID0gMCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSB1bmRlZmluZWQgZGVsZXRlUnVs
ZShvcHRpb25hbCB1bnNpZ25lZCBsb25nIGluZGV4ID0gMCk7CitbRXhwb3NlZD1XaW5kb3ddCitp
bnRlcmZhY2UgQ1NTTWVkaWFSdWxlIDogQ1NTQ29uZGl0aW9uUnVsZSB7CisgICAgW1NhbWVPYmpl
Y3QsIFB1dEZvcndhcmRzPW1lZGlhVGV4dF0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhTGlzdCBt
ZWRpYTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCA0ZGE1YjYzNDQwNzA0MjhkZWIzY2RmZTI0
MjlkNDU2MjM2MmRjNzQxLi5jMDM0NjI2NGI0NjNjZWYzNWQ5OTUxYzI1ZmJjMTA3OWNiN2E0OGE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NSdWxlLmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogKEMpIDE5OTktMjAw
MyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxs
ZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNiwgMjAwNywg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgQW5kcmVhcyBLbGluZyAoa2xpbmdAd2Via2l0Lm9yZykKICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC00
NCw1NCArNDQsMzEgQEAgcHVibGljOgogICAgICAgICBNRURJQV9SVUxFLAogICAgICAgICBGT05U
X0ZBQ0VfUlVMRSwKICAgICAgICAgUEFHRV9SVUxFLAotICAgICAgICAvLyA3IHdhcyBWQVJJQUJM
RVNfUlVMRTsgd2Ugbm93IG1hdGNoIG90aGVyIGJyb3dzZXJzIHdpdGggNyBhcwotICAgICAgICAv
LyBLRVlGUkFNRVNfUlVMRToKLSAgICAgICAgLy8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MTI5Mz4uCiAgICAgICAgIEtFWUZSQU1FU19SVUxFLAogICAgICAgICBL
RVlGUkFNRV9SVUxFLAotICAgICAgICBOQU1FU1BBQ0VfUlVMRSA9IDEwLCAvLyBNYXRjaGVzIG90
aGVyIGJyb3dzZXJzLgorICAgICAgICBNQVJHSU5fUlVMRSwKKyAgICAgICAgTkFNRVNQQUNFX1JV
TEUsCiAgICAgICAgIFNVUFBPUlRTX1JVTEUgPSAxMiwKICAgICB9OwogCiAgICAgZW51bSBEZXBy
ZWNhdGVkVHlwZSB7Ci0gICAgICAgIFdFQktJVF9LRVlGUkFNRVNfUlVMRSA9IDcsCi0gICAgICAg
IFdFQktJVF9LRVlGUkFNRV9SVUxFID0gOAorICAgICAgICBXRUJLSVRfS0VZRlJBTUVTX1JVTEUg
PSBLRVlGUkFNRVNfUlVMRSwKKyAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUgPSBLRVlGUkFN
RV9SVUxFCiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJl
YXR0YWNoKFN0eWxlUnVsZUJhc2UmKSA9IDA7CiAKLSAgICB2b2lkIHNldFBhcmVudFN0eWxlU2hl
ZXQoQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCkKLSAgICB7Ci0gICAgICAgIG1fcGFyZW50SXNS
dWxlID0gZmFsc2U7Ci0gICAgICAgIG1fcGFyZW50U3R5bGVTaGVldCA9IHN0eWxlU2hlZXQ7Ci0g
ICAgfQotCi0gICAgdm9pZCBzZXRQYXJlbnRSdWxlKENTU1J1bGUqIHJ1bGUpCi0gICAgewotICAg
ICAgICBtX3BhcmVudElzUnVsZSA9IHRydWU7Ci0gICAgICAgIG1fcGFyZW50UnVsZSA9IHJ1bGU7
Ci0gICAgfQotCi0gICAgQ1NTU3R5bGVTaGVldCogcGFyZW50U3R5bGVTaGVldCgpIGNvbnN0Ci0g
ICAgewotICAgICAgICBpZiAobV9wYXJlbnRJc1J1bGUpCi0gICAgICAgICAgICByZXR1cm4gbV9w
YXJlbnRSdWxlID8gbV9wYXJlbnRSdWxlLT5wYXJlbnRTdHlsZVNoZWV0KCkgOiAwOwotICAgICAg
ICByZXR1cm4gbV9wYXJlbnRTdHlsZVNoZWV0OwotICAgIH0KLQotICAgIENTU1J1bGUqIHBhcmVu
dFJ1bGUoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudElzUnVsZSA/IG1fcGFyZW50UnVsZSA6IDA7
IH0KKyAgICB2b2lkIHNldFBhcmVudFN0eWxlU2hlZXQoQ1NTU3R5bGVTaGVldCopOworICAgIHZv
aWQgc2V0UGFyZW50UnVsZShDU1NSdWxlKik7CisgICAgQ1NTU3R5bGVTaGVldCogcGFyZW50U3R5
bGVTaGVldCgpIGNvbnN0OworICAgIENTU1J1bGUqIHBhcmVudFJ1bGUoKSBjb25zdCB7IHJldHVy
biBtX3BhcmVudElzUnVsZSA/IG1fcGFyZW50UnVsZSA6IG51bGxwdHI7IH0KIAogICAgIFdFQkNP
UkVfRVhQT1JUIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldENzc1RleHQoY29uc3QgU3RyaW5nJik7CiAK
IHByb3RlY3RlZDoKLSAgICBDU1NSdWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICAgICAg
OiBtX2hhc0NhY2hlZFNlbGVjdG9yVGV4dChmYWxzZSkKLSAgICAgICAgLCBtX3BhcmVudElzUnVs
ZShmYWxzZSkKLSAgICAgICAgLCBtX3BhcmVudFN0eWxlU2hlZXQocGFyZW50KQotICAgIHsKLSAg
ICB9CisgICAgZXhwbGljaXQgQ1NTUnVsZShDU1NTdHlsZVNoZWV0Kik7CiAKICAgICBib29sIGhh
c0NhY2hlZFNlbGVjdG9yVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ2FjaGVkU2VsZWN0b3JU
ZXh0OyB9CiAgICAgdm9pZCBzZXRIYXNDYWNoZWRTZWxlY3RvclRleHQoYm9vbCBoYXNDYWNoZWRT
ZWxlY3RvclRleHQpIGNvbnN0IHsgbV9oYXNDYWNoZWRTZWxlY3RvclRleHQgPSBoYXNDYWNoZWRT
ZWxlY3RvclRleHQ7IH0KQEAgLTEwMSwxMyArNzgsMzggQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToK
ICAgICBtdXRhYmxlIHVuc2lnbmVkIGNoYXIgbV9oYXNDYWNoZWRTZWxlY3RvclRleHQgOiAxOwog
ICAgIHVuc2lnbmVkIGNoYXIgbV9wYXJlbnRJc1J1bGUgOiAxOwotCiAgICAgdW5pb24gewogICAg
ICAgICBDU1NSdWxlKiBtX3BhcmVudFJ1bGU7CiAgICAgICAgIENTU1N0eWxlU2hlZXQqIG1fcGFy
ZW50U3R5bGVTaGVldDsKICAgICB9OwogfTsKIAoraW5saW5lIENTU1J1bGU6OkNTU1J1bGUoQ1NT
U3R5bGVTaGVldCogcGFyZW50KQorICAgIDogbV9oYXNDYWNoZWRTZWxlY3RvclRleHQoZmFsc2Up
CisgICAgLCBtX3BhcmVudElzUnVsZShmYWxzZSkKKyAgICAsIG1fcGFyZW50U3R5bGVTaGVldChw
YXJlbnQpCit7Cit9CisKK2lubGluZSB2b2lkIENTU1J1bGU6OnNldFBhcmVudFN0eWxlU2hlZXQo
Q1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCkKK3sKKyAgICBtX3BhcmVudElzUnVsZSA9IGZhbHNl
OworICAgIG1fcGFyZW50U3R5bGVTaGVldCA9IHN0eWxlU2hlZXQ7Cit9CisKK2lubGluZSB2b2lk
IENTU1J1bGU6OnNldFBhcmVudFJ1bGUoQ1NTUnVsZSogcnVsZSkKK3sKKyAgICBtX3BhcmVudElz
UnVsZSA9IHRydWU7CisgICAgbV9wYXJlbnRSdWxlID0gcnVsZTsKK30KKworaW5saW5lIENTU1N0
eWxlU2hlZXQqIENTU1J1bGU6OnBhcmVudFN0eWxlU2hlZXQoKSBjb25zdAoreworICAgIGlmICht
X3BhcmVudElzUnVsZSkKKyAgICAgICAgcmV0dXJuIG1fcGFyZW50UnVsZSA/IG1fcGFyZW50UnVs
ZS0+cGFyZW50U3R5bGVTaGVldCgpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gbV9wYXJlbnRTdHls
ZVNoZWV0OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNkZWZpbmUgU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19DU1NfUlVMRShUb1ZhbHVlVHlwZU5hbWUsIHByZWRpY2F0ZSkgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1J1bGUuaWRsCmluZGV4IDJkNDA2YmFkMDhmNmViMzJiNmU0OGNjY2Y5YmM1NDIzN2Vm
OGU1MmIuLmI1MGFhMDgzNmZkYWI4MTgyMjBkNDM5ZjQwMWIxNjQxYzMzYjI0MmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2
LCAyMDA3LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCkBAIC0yMSwxMSArMjEsMTYgQEAKIFsKICAgICBDdXN0b21Ub0pTT2JqZWN0LAogICAg
IEV4cG9ydFRvV3JhcHBlZEZ1bmN0aW9uLAorICAgIEV4cG9zZWQ9V2luZG93LAogICAgIEdlbmVy
YXRlSXNSZWFjaGFibGUsCiAgICAgSlNDdXN0b21IZWFkZXIsCiAgICAgSlNDdXN0b21NYXJrRnVu
Y3Rpb24sCiBdIGludGVyZmFjZSBDU1NSdWxlIHsKLSAgICAvLyBSdWxlVHlwZQorICAgIGF0dHJp
YnV0ZSBET01TdHJpbmc/IGNzc1RleHQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGU/
IHBhcmVudFJ1bGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlU2hlZXQ/IHBhcmVu
dFN0eWxlU2hlZXQ7CisKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgdHlw
ZTsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBVTktOT1dOX1JVTEUgPSAwOwogICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFNUWUxFX1JVTEUgPSAxOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IENIQVJTRVRfUlVMRSA9IDI7CkBAIC0zNSwxNyArNDAsMTEgQEAKICAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBQQUdFX1JVTEUgPSA2OwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEtFWUZSQU1F
U19SVUxFID0gNzsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBLRVlGUkFNRV9SVUxFID0gODsK
KyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBNQVJHSU5fUlVMRSA9IDk7CiAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgTkFNRVNQQUNFX1JVTEUgPSAxMDsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVVBQT1JUU19SVUxFID0gMTI7CiAKICAgICAvLyBMZWdhY3kgc3lub255bXMgZm9yIHRoZSBh
Ym92ZSwga2VwdCB0byBhdm9pZCBicmVha2luZyBleGlzdGluZyBjb250ZW50LgogICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFdFQktJVF9LRVlGUkFNRVNfUlVMRSA9IDc7CiAgICAgY29uc3QgdW5z
aWduZWQgc2hvcnQgV0VCS0lUX0tFWUZSQU1FX1JVTEUgPSA4OwotCi0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIHNob3J0IHR5cGU7Ci0KLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBj
c3NUZXh0OwotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlU2hlZXQ/IHBhcmVudFN0
eWxlU2hlZXQ7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGU/IHBhcmVudFJ1bGU7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbAppbmRleCA1YmE2MWVjOWZiZjBkZDZiMWM1
NjZmM2E5OWU5ZTgzZmU1NDEwNzM2Li43MTc5NTcxY2U5ZDlhNjhjODE0ZjBiY2JjM2RhNWNhYjMx
OTE5NjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmlkbApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWlu
aWdAZ21haWwuY29tPgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTE4LDEwICsxOCw4IEBACiAgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0vLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAy
OgorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIENTU1N0eWxlUnVsZSA6IENTU1J1bGUgewog
ICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IHNlbGVjdG9yVGV4dDsKLQotICAgIFtQdXRGb3J3YXJk
cz1jc3NUZXh0XSByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVEZWNsYXJhdGlvbiBzdHlsZTsK
KyAgICBbU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9Y3NzVGV4dF0gcmVhZG9ubHkgYXR0cmlidXRl
IENTU1N0eWxlRGVjbGFyYXRpb24gc3R5bGU7CiB9OwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
aGVldC5pZGwKaW5kZXggZmZhMzg3NjYzZTcxYWQyNTk0YTgxYTM3NzJlODJkOWE5YzJjMmU0OS4u
NzgyZjllMGU5NzMyZGQzYjdiNmFlODRmNTIwMTE1MDlkYTVlYjc4YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNoZWV0LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICog
Q29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKQEAgLTE4LDE3ICsxOCwxNCBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCiAgKi8KIAorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIENTU1N0eWxlU2hlZXQg
OiBTdHlsZVNoZWV0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZSBvd25lclJ1bGU7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOwotCiAgICAgW01h
eVRocm93RXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIGluc2VydFJ1bGUoRE9NU3RyaW5nIHJ1bGUs
IG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKLQogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdW5kZWZpbmVkIGRlbGV0ZVJ1bGUodW5zaWduZWQgbG9uZyBpbmRleCk7CiAKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgcnVsZXM7Ci0KLSAgICAvLyBUaGUgZm9sbG93
aW5nIHR3byBvcGVyYXRpb25zIGFyZSBXZWJLaXQtc3BlY2lmaWMuCiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBsb25nIGFkZFJ1bGUob3B0aW9uYWwgRE9NU3RyaW5nIHNlbGVjdG9yID0gInVuZGVm
aW5lZCIsIG9wdGlvbmFsIERPTVN0cmluZyBzdHlsZSA9ICJ1bmRlZmluZWQiLCBvcHRpb25hbCB1
bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBy
ZW1vdmVSdWxlKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaW5kZXggPSAwKTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCmluZGV4IGUxM2UxM2I4NWVkYmJiZDY0NjI2M2I2
ZTMyNDZhNzk2OWNiYTcxOTYuLmZjMWRhZDhhOGQzYjI0MDZkNWFhMzQ0MmNiNjM2Mzg5NmI5MjM1
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCkBAIC0xLDQgKzEsNiBA
QAotLyogQ29weXJpZ2h0IChDKSAyMDEyIE1vdG9yb2xhIE1vYmlsaXR5IEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTW90b3JvbGEgTW9iaWxpdHkg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKQEAgLTM1LDI3ICszNywzMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNTU1N1cHBv
cnRzUnVsZTo6Q1NTU3VwcG9ydHNSdWxlKFN0eWxlUnVsZVN1cHBvcnRzJiBzdXBwb3J0c1J1bGUs
IENTU1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICA6IENTU0dyb3VwaW5nUnVsZShzdXBwb3J0c1J1
bGUsIHBhcmVudCkKK0NTU1N1cHBvcnRzUnVsZTo6Q1NTU3VwcG9ydHNSdWxlKFN0eWxlUnVsZVN1
cHBvcnRzJiBydWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NDb25kaXRpb25S
dWxlKHJ1bGUsIHBhcmVudCkKIHsKIH0KIAorUmVmPENTU1N1cHBvcnRzUnVsZT4gQ1NTU3VwcG9y
dHNSdWxlOjpjcmVhdGUoU3R5bGVSdWxlU3VwcG9ydHMmIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHBh
cmVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NTdXBwb3J0c1J1bGUocnVsZSwg
cGFyZW50KSk7Cit9CisKIFN0cmluZyBDU1NTdXBwb3J0c1J1bGU6OmNzc1RleHQoKSBjb25zdAog
ewogICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwotCi0gICAgcmVzdWx0LmFwcGVuZExpdGVyYWwo
IkBzdXBwb3J0cyAiKTsKLSAgICByZXN1bHQuYXBwZW5kKGNvbmRpdGlvblRleHQoKSk7Ci0gICAg
cmVzdWx0LmFwcGVuZExpdGVyYWwoIiB7XG4iKTsKLSAgICBhcHBlbmRDc3NUZXh0Rm9ySXRlbXMo
cmVzdWx0KTsKKyAgICByZXN1bHQuYXBwZW5kKCJAc3VwcG9ydHMgIiwgY29uZGl0aW9uVGV4dCgp
LCAiIHtcbiIpOworICAgIGFwcGVuZENTU1RleHRGb3JJdGVtcyhyZXN1bHQpOwogICAgIHJlc3Vs
dC5hcHBlbmQoJ30nKTsKLQogICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKIH0KIAogU3Ry
aW5nIENTU1N1cHBvcnRzUnVsZTo6Y29uZGl0aW9uVGV4dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IGRvd25jYXN0PFN0eWxlUnVsZVN1cHBvcnRzPihtX2dyb3VwUnVsZS5nZXQoKSkuY29uZGl0aW9u
VGV4dCgpOworICAgIHJldHVybiBkb3duY2FzdDxTdHlsZVJ1bGVTdXBwb3J0cz4oZ3JvdXBSdWxl
KCkpLmNvbmRpdGlvblRleHQoKTsKK30KKwordm9pZCBDU1NTdXBwb3J0c1J1bGU6OnNldENvbmRp
dGlvblRleHQoY29uc3QgU3RyaW5nJikKK3sKKyAgICAvLyBGSVhNRTogTm90IGltcGxlbWVudGVk
IHlldC4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBv
cnRzUnVsZS5oCmluZGV4IGZlODM2NTBjMWY1MDlmNmI4M2I1MjU3ZGQxOGE5NzNkNTA5NDdiNzYu
LmU2Y2U0ZjY5ZjJiZWJjODFkNjgyZWFiZTU2NWY5NmZkZWM2ZDVkOTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3VwcG9ydHNSdWxlLmgKQEAgLTEsNCArMSw2IEBACi0vKiBDb3B5cmlnaHQgKEMpIDIw
MTIgTW90b3JvbGEgTW9iaWxpdHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMjgsMjkgKzMwLDIzIEBA
CiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxlLmgiCisjaW5jbHVk
ZSAiQ1NTQ29uZGl0aW9uUnVsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENT
U1J1bGU7CiBjbGFzcyBTdHlsZVJ1bGVTdXBwb3J0czsKIAotY2xhc3MgQ1NTU3VwcG9ydHNSdWxl
IGZpbmFsIDogcHVibGljIENTU0dyb3VwaW5nUnVsZSB7CitjbGFzcyBDU1NTdXBwb3J0c1J1bGUg
ZmluYWwgOiBwdWJsaWMgQ1NTQ29uZGl0aW9uUnVsZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxDU1NTdXBwb3J0c1J1bGU+IGNyZWF0ZShTdHlsZVJ1bGVTdXBwb3J0cyYgcnVsZSwgQ1NTU3R5
bGVTaGVldCogc2hlZXQpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NT
dXBwb3J0c1J1bGUocnVsZSwgc2hlZXQpKTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIH5DU1NTdXBw
b3J0c1J1bGUoKSA9IGRlZmF1bHQ7CisgICAgc3RhdGljIFJlZjxDU1NTdXBwb3J0c1J1bGU+IGNy
ZWF0ZShTdHlsZVJ1bGVTdXBwb3J0cyYsIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7CiAKICAgICBT
dHJpbmcgY3NzVGV4dCgpIGNvbnN0IGZpbmFsOwotCi0gICAgU3RyaW5nIGNvbmRpdGlvblRleHQo
KSBjb25zdDsKKyAgICBTdHJpbmcgY29uZGl0aW9uVGV4dCgpIGNvbnN0IGZpbmFsOworICAgIHZv
aWQgc2V0Q29uZGl0aW9uVGV4dChjb25zdCBTdHJpbmcmKSBmaW5hbDsKIAogcHJpdmF0ZToKICAg
ICBDU1NTdXBwb3J0c1J1bGUoU3R5bGVSdWxlU3VwcG9ydHMmLCBDU1NTdHlsZVNoZWV0Kik7Ci0K
ICAgICBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBTVVBQT1JUU19S
VUxFOyB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNS
dWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCmluZGV4IGZh
YTJhNDUxM2IxOWQ3YmE1ZjU5ZmNlMDdmYzM1NjcwZmYzNTcyNGMuLmEwNTNjMjExYzVjYWM5MmVj
MTZmYmZhYWJmOWIzNDcyNmZjMzZhNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdXBwb3J0c1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1
bGUuaWRsCkBAIC0xLDQgKzEsNiBAQAotLyogQ29weXJpZ2h0IChDKSAyMDEyIE1vdG9yb2xhIE1v
YmlsaXR5IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgTW90b3JvbGEgTW9iaWxpdHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTI2LDEwICsyOCw2IEBACiAgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogICovCiAKLWludGVyZmFjZSBDU1NTdXBwb3J0c1J1bGUgOiBDU1NSdWxlIHsKLSAgICByZWFk
b25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxpc3QgY3NzUnVsZXM7Ci0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBjb25kaXRpb25UZXh0OwotCi0gICAgW01heVRocm93RXhjZXB0aW9uXSB1
bnNpZ25lZCBsb25nIGluc2VydFJ1bGUoRE9NU3RyaW5nIHJ1bGUsIG9wdGlvbmFsIHVuc2lnbmVk
IGxvbmcgaW5kZXggPSAwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBkZWxl
dGVSdWxlKHVuc2lnbmVkIGxvbmcgaW5kZXgpOworW0V4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNl
IENTU1N1cHBvcnRzUnVsZSA6IENTU0NvbmRpdGlvblJ1bGUgewogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
TGlzdC5jcHAKaW5kZXggMjExMmY0MGM0YzcyMDgwYmE4MGU1ZDJkMjkyOTI0Yjc2ZjE3YTFiNi4u
YjQ5ZGYxZGQ3MDI3MTdiNmFmNmVkY2EyMTNkMjY3NDdiNDQ3NDUxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhTGlzdC5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC04Miw3ICs4
Miw3IEBAIE1lZGlhUXVlcnlTZXQ6On5NZWRpYVF1ZXJ5U2V0KCkgPSBkZWZhdWx0OwogYm9vbCBN
ZWRpYVF1ZXJ5U2V0OjpzZXQoY29uc3QgU3RyaW5nJiBtZWRpYVN0cmluZykKIHsKICAgICBhdXRv
IHJlc3VsdCA9IGNyZWF0ZShtZWRpYVN0cmluZyk7Ci0gICAgbV9xdWVyaWVzLnN3YXAocmVzdWx0
LT5tX3F1ZXJpZXMpOworICAgIG1fcXVlcmllcyA9IFdURk1vdmUocmVzdWx0LT5tX3F1ZXJpZXMp
OwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCmluZGV4IDQ3
NDE4MzYyODUzNTFjMDQ4MzZlOTk5YTcyZTliYzRlMWY3MTMzNzEuLmZlYzgyYjEzY2U0Zjg3NjVj
ODVlNWYyZGE0Nzk5OGZlOGQwZmFiNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYUxpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI1LDExICsyNSwxMiBAQAogCiBbCiAgICAgRXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCisgICAg
RXhwb3NlZD1XaW5kb3csCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZSwKICAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAogICAgIEpTQ3VzdG9tSGVhZGVyLAogXSBpbnRlcmZhY2UgTWVkaWFM
aXN0IHsKLSAgICBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcg
bWVkaWFUZXh0OworICAgIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlT
dHJpbmddIERPTVN0cmluZyBtZWRpYVRleHQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoOwogCiAgICAgZ2V0dGVyIERPTVN0cmluZz8gaXRlbSh1bnNpZ25lZCBs
b25nIGluZGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5kZXggYWI1MzI3M2E2MDMzZTVl
MTI0OGJiYzI2ZmNjNWYxNTA2MWM4OTAxZi4uYzgzY2E4MmQyOTEwYTRjN2FiMTYxMDJmODE2YTQx
MWYwOTg2OWMyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKQEAgLTEsNyArMSw3IEBACiAv
KgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogKEMpIDIw
MDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHlyaWdodCAoQykg
MjAwMiwgMjAwNSwgMjAwNiwgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTE4Nyw2ICsxODcsMTYgQEAgU3R5bGVSdWxl
OjpTdHlsZVJ1bGUoY29uc3QgU3R5bGVSdWxlJiBvKQogCiBTdHlsZVJ1bGU6On5TdHlsZVJ1bGUo
KSA9IGRlZmF1bHQ7CiAKK1JlZjxTdHlsZVJ1bGU+IFN0eWxlUnVsZTo6Y3JlYXRlKFJlZjxTdHls
ZVByb3BlcnRpZXNCYXNlPiYmIHByb3BlcnRpZXMsIGJvb2wgaGFzRG9jdW1lbnRTZWN1cml0eU9y
aWdpbiwgQ1NTU2VsZWN0b3JMaXN0JiYgc2VsZWN0b3JzKQoreworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFN0eWxlUnVsZShXVEZNb3ZlKHByb3BlcnRpZXMpLCBoYXNEb2N1bWVudFNlY3VyaXR5
T3JpZ2luLCBXVEZNb3ZlKHNlbGVjdG9ycykpKTsKK30KKworUmVmPFN0eWxlUnVsZT4gU3R5bGVS
dWxlOjpjb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGUo
KnRoaXMpKTsKK30KKwogY29uc3QgU3R5bGVQcm9wZXJ0aWVzJiBTdHlsZVJ1bGU6OnByb3BlcnRp
ZXMoKSBjb25zdAogewogICAgIGlmIChtX3Byb3BlcnRpZXMtPnR5cGUoKSA9PSBEZWZlcnJlZFBy
b3BlcnRpZXNUeXBlKQpAQCAtMjUzLDYgKzI2MywxMSBAQCBTdHlsZVJ1bGVQYWdlOjpTdHlsZVJ1
bGVQYWdlKGNvbnN0IFN0eWxlUnVsZVBhZ2UmIG8pCiAKIFN0eWxlUnVsZVBhZ2U6On5TdHlsZVJ1
bGVQYWdlKCkgPSBkZWZhdWx0OwogCitSZWY8U3R5bGVSdWxlUGFnZT4gU3R5bGVSdWxlUGFnZTo6
Y3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXM+JiYgcHJvcGVydGllcywgQ1NTU2VsZWN0b3JMaXN0
JiYgc2VsZWN0b3JzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVBhZ2Uo
V1RGTW92ZShwcm9wZXJ0aWVzKSwgV1RGTW92ZShzZWxlY3RvcnMpKSk7Cit9CisKIE11dGFibGVT
dHlsZVByb3BlcnRpZXMmIFN0eWxlUnVsZVBhZ2U6Om11dGFibGVQcm9wZXJ0aWVzKCkKIHsKICAg
ICBpZiAoIWlzPE11dGFibGVTdHlsZVByb3BlcnRpZXM+KG1fcHJvcGVydGllcy5nZXQoKSkpCkBA
IC0yOTksMTUgKzMxNCwxNSBAQCB2b2lkIERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0OjpwYXJz
ZURlZmVycmVkS2V5ZnJhbWVzKFN0eWxlUnVsZUtleWZyYW1lcyYga2V5ZgogICAgIG1fcGFyc2Vy
LT5wYXJzZUtleWZyYW1lTGlzdChtX3Rva2Vucywga2V5ZnJhbWVzUnVsZSk7CiB9CiAgICAgCi1T
dHlsZVJ1bGVHcm91cDo6U3R5bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZSB0eXBlLCBWZWN0b3I8
UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYgYWRvcHRSdWxlKQorU3R5bGVSdWxlR3JvdXA6OlN0eWxl
UnVsZUdyb3VwKFN0eWxlUnVsZVR5cGUgdHlwZSwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNl
Pj4mJiBydWxlcykKICAgICA6IFN0eWxlUnVsZUJhc2UodHlwZSkKKyAgICAsIG1fY2hpbGRSdWxl
cyhXVEZNb3ZlKHJ1bGVzKSkKIHsKLSAgICBtX2NoaWxkUnVsZXMuc3dhcChhZG9wdFJ1bGUpOwog
fQogCi1TdHlsZVJ1bGVHcm91cDo6U3R5bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZSB0eXBlLCBz
dGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYgZGVmZXJyZWRSdWxl
cykKK1N0eWxlUnVsZUdyb3VwOjpTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlIHR5cGUsIHN0
ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBydWxlcykKICAgICA6
IFN0eWxlUnVsZUJhc2UodHlwZSkKLSAgICAsIG1fZGVmZXJyZWRSdWxlcyhXVEZNb3ZlKGRlZmVy
cmVkUnVsZXMpKQorICAgICwgbV9kZWZlcnJlZFJ1bGVzKFdURk1vdmUocnVsZXMpKQogewogfQog
CkBAIC0zNDYsMzUgKzM2MSw0OCBAQCB2b2lkIFN0eWxlUnVsZUdyb3VwOjpwYXJzZURlZmVycmVk
UnVsZXNJZk5lZWRlZCgpIGNvbnN0CiAgICAgbV9kZWZlcnJlZFJ1bGVzID0gbnVsbHB0cjsKIH0K
ICAgICAKLVN0eWxlUnVsZU1lZGlhOjpTdHlsZVJ1bGVNZWRpYShSZWY8TWVkaWFRdWVyeVNldD4m
JiBtZWRpYSwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mIGFkb3B0UnVsZXMpCi0gICAg
OiBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlOjpNZWRpYSwgYWRvcHRSdWxlcykKK1N0eWxl
UnVsZU1lZGlhOjpTdHlsZVJ1bGVNZWRpYShSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwgVmVj
dG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJiBydWxlcykKKyAgICA6IFN0eWxlUnVsZUdyb3Vw
KFN0eWxlUnVsZVR5cGU6Ok1lZGlhLCBXVEZNb3ZlKHJ1bGVzKSkKICAgICAsIG1fbWVkaWFRdWVy
aWVzKFdURk1vdmUobWVkaWEpKQogewogfQogCi1TdHlsZVJ1bGVNZWRpYTo6U3R5bGVSdWxlTWVk
aWEoUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0
eWxlR3JvdXBSdWxlTGlzdD4mJiBkZWZlcnJlZFJ1bGVzKQotICAgIDogU3R5bGVSdWxlR3JvdXAo
U3R5bGVSdWxlVHlwZTo6TWVkaWEsIFdURk1vdmUoZGVmZXJyZWRSdWxlcykpCitTdHlsZVJ1bGVN
ZWRpYTo6U3R5bGVSdWxlTWVkaWEoUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIHN0ZDo6dW5p
cXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBydWxlcykKKyAgICA6IFN0eWxl
UnVsZUdyb3VwKFN0eWxlUnVsZVR5cGU6Ok1lZGlhLCBXVEZNb3ZlKHJ1bGVzKSkKICAgICAsIG1f
bWVkaWFRdWVyaWVzKFdURk1vdmUobWVkaWEpKQogewogfQogCi1TdHlsZVJ1bGVNZWRpYTo6U3R5
bGVSdWxlTWVkaWEoY29uc3QgU3R5bGVSdWxlTWVkaWEmIG8pCi0gICAgOiBTdHlsZVJ1bGVHcm91
cChvKQorU3R5bGVSdWxlTWVkaWE6OlN0eWxlUnVsZU1lZGlhKGNvbnN0IFN0eWxlUnVsZU1lZGlh
JiBvdGhlcikKKyAgICA6IFN0eWxlUnVsZUdyb3VwKG90aGVyKQorICAgICwgbV9tZWRpYVF1ZXJp
ZXMob3RoZXIubV9tZWRpYVF1ZXJpZXMtPmNvcHkoKSkKK3sKK30KKworUmVmPFN0eWxlUnVsZU1l
ZGlhPiBTdHlsZVJ1bGVNZWRpYTo6Y3JlYXRlKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBW
ZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiYmIHJ1bGVzKQoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFN0eWxlUnVsZU1lZGlhKFdURk1vdmUobWVkaWEpLCBXVEZNb3ZlKHJ1bGVzKSkp
OworfQorCitSZWY8U3R5bGVSdWxlTWVkaWE+IFN0eWxlUnVsZU1lZGlhOjpjcmVhdGUoUmVmPE1l
ZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBS
dWxlTGlzdD4mJiBkZWZlcnJlZENoaWxkUnVsZXMpCiB7Ci0gICAgaWYgKG8ubV9tZWRpYVF1ZXJp
ZXMpCi0gICAgICAgIG1fbWVkaWFRdWVyaWVzID0gby5tX21lZGlhUXVlcmllcy0+Y29weSgpOwor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZU1lZGlhKFdURk1vdmUobWVkaWEpLCBX
VEZNb3ZlKGRlZmVycmVkQ2hpbGRSdWxlcykpKTsKIH0KIAorUmVmPFN0eWxlUnVsZU1lZGlhPiBT
dHlsZVJ1bGVNZWRpYTo6Y29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U3R5bGVSdWxlTWVkaWEoKnRoaXMpKTsKK30KIAotU3R5bGVSdWxlU3VwcG9ydHM6OlN0eWxlUnVs
ZVN1cHBvcnRzKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1
cHBvcnRlZCwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mIGFkb3B0UnVsZXMpCi0gICAg
OiBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0cywgYWRvcHRSdWxlcykKK1N0
eWxlUnVsZVN1cHBvcnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJpbmcmIGNvbmRpdGlv
blRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxl
QmFzZT4+JiYgcnVsZXMpCisgICAgOiBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlOjpTdXBw
b3J0cywgV1RGTW92ZShydWxlcykpCiAgICAgLCBtX2NvbmRpdGlvblRleHQoY29uZGl0aW9uVGV4
dCkKICAgICAsIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQoY29uZGl0aW9uSXNTdXBwb3J0ZWQpCiB7
CiB9CiAKLVN0eWxlUnVsZVN1cHBvcnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJpbmcm
IGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIHN0ZDo6dW5pcXVlX3B0
cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJiBkZWZlcnJlZFJ1bGVzKQotICAgIDogU3R5
bGVSdWxlR3JvdXAoU3R5bGVSdWxlVHlwZTo6U3VwcG9ydHMsIFdURk1vdmUoZGVmZXJyZWRSdWxl
cykpCitTdHlsZVJ1bGVTdXBwb3J0czo6U3R5bGVSdWxlU3VwcG9ydHMoY29uc3QgU3RyaW5nJiBj
b25kaXRpb25UZXh0LCBib29sIGNvbmRpdGlvbklzU3VwcG9ydGVkLCBzdGQ6OnVuaXF1ZV9wdHI8
RGVmZXJyZWRTdHlsZUdyb3VwUnVsZUxpc3Q+JiYgcnVsZXMpCisgICAgOiBTdHlsZVJ1bGVHcm91
cChTdHlsZVJ1bGVUeXBlOjpTdXBwb3J0cywgV1RGTW92ZShydWxlcykpCiAgICAgLCBtX2NvbmRp
dGlvblRleHQoY29uZGl0aW9uVGV4dCkKICAgICAsIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQoY29u
ZGl0aW9uSXNTdXBwb3J0ZWQpCiB7CkBAIC0zODcsNiArNDE1LDE2IEBAIFN0eWxlUnVsZVN1cHBv
cnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHlsZVJ1bGVTdXBwb3J0cyYgbykKIHsKIH0K
IAorUmVmPFN0eWxlUnVsZVN1cHBvcnRzPiBTdHlsZVJ1bGVTdXBwb3J0czo6Y3JlYXRlKGNvbnN0
IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgVmVjdG9y
PFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJiBydWxlcykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTdHlsZVJ1bGVTdXBwb3J0cyhjb25kaXRpb25UZXh0LCBjb25kaXRpb25Jc1N1cHBvcnRl
ZCwgV1RGTW92ZShydWxlcykpKTsKK30KKworUmVmPFN0eWxlUnVsZVN1cHBvcnRzPiBTdHlsZVJ1
bGVTdXBwb3J0czo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25k
aXRpb25Jc1N1cHBvcnRlZCwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVM
aXN0PiYmIHJ1bGVzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1cHBv
cnRzKGNvbmRpdGlvblRleHQsIGNvbmRpdGlvbklzU3VwcG9ydGVkLCBXVEZNb3ZlKHJ1bGVzKSkp
OworfQorCiBTdHlsZVJ1bGVDaGFyc2V0OjpTdHlsZVJ1bGVDaGFyc2V0KCkKICAgICA6IFN0eWxl
UnVsZUJhc2UoU3R5bGVSdWxlVHlwZTo6Q2hhcnNldCkKIHsKQEAgLTM5Nyw5ICs0MzUsNyBAQCBT
dHlsZVJ1bGVDaGFyc2V0OjpTdHlsZVJ1bGVDaGFyc2V0KGNvbnN0IFN0eWxlUnVsZUNoYXJzZXQm
IG8pCiB7CiB9CiAKLVN0eWxlUnVsZUNoYXJzZXQ6On5TdHlsZVJ1bGVDaGFyc2V0KCkgPSBkZWZh
dWx0OwotCi1TdHlsZVJ1bGVOYW1lc3BhY2U6OlN0eWxlUnVsZU5hbWVzcGFjZShBdG9tU3RyaW5n
IHByZWZpeCwgQXRvbVN0cmluZyB1cmkpCitTdHlsZVJ1bGVOYW1lc3BhY2U6OlN0eWxlUnVsZU5h
bWVzcGFjZShjb25zdCBBdG9tU3RyaW5nJiBwcmVmaXgsIGNvbnN0IEF0b21TdHJpbmcmIHVyaSkK
ICAgICA6IFN0eWxlUnVsZUJhc2UoU3R5bGVSdWxlVHlwZTo6TmFtZXNwYWNlKQogICAgICwgbV9w
cmVmaXgocHJlZml4KQogICAgICwgbV91cmkodXJpKQpAQCAtNDE1LDQgKzQ1MSw5IEBAIFN0eWxl
UnVsZU5hbWVzcGFjZTo6U3R5bGVSdWxlTmFtZXNwYWNlKGNvbnN0IFN0eWxlUnVsZU5hbWVzcGFj
ZSYgbykKIAogU3R5bGVSdWxlTmFtZXNwYWNlOjp+U3R5bGVSdWxlTmFtZXNwYWNlKCkgPSBkZWZh
dWx0OwogCitSZWY8U3R5bGVSdWxlTmFtZXNwYWNlPiBTdHlsZVJ1bGVOYW1lc3BhY2U6OmNyZWF0
ZShjb25zdCBBdG9tU3RyaW5nJiBwcmVmaXgsIGNvbnN0IEF0b21TdHJpbmcmIHVyaSkKK3sKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVOYW1lc3BhY2UocHJlZml4LCB1cmkpKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4IGIw
OTk5YjU0NzUyNjg0ZmJlODZkNDYxMTRmMGYwODI4YTM1NTI1MDIuLjA4YTc4NzVmZGFjNTRiODc0
ZTg3MTEyZmIxNDEzYWQyMTM0ZDViYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQog
ICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKLSAqIENvcHly
aWdodCAoQykgMjAwMiwgMjAwNiwgMjAwOCwgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTU5LDMwICs1OSwxNSBAQCBw
dWJsaWM6CiAKICAgICBSZWY8U3R5bGVSdWxlQmFzZT4gY29weSgpIGNvbnN0OwogCi0gICAgdm9p
ZCBkZXJlZigpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoZGVyZWZCYXNlKCkpCi0gICAgICAg
ICAgICBjb25zdF9jYXN0PFN0eWxlUnVsZUJhc2UmPigqdGhpcykuZGVzdHJveSgpOwotICAgIH0K
KyAgICB2b2lkIGRlcmVmKCkgY29uc3Q7CiAKICAgICAvLyBGSVhNRTogVGhlcmUgc2hvdWxkbid0
IGJlIGFueSBuZWVkIGZvciB0aGUgbnVsbCBwYXJlbnQgdmVyc2lvbi4KICAgICBSZWY8Q1NTUnVs
ZT4gY3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0ID0gbnVsbHB0
cikgY29uc3Q7CiAgICAgUmVmPENTU1J1bGU+IGNyZWF0ZUNTU09NV3JhcHBlcihDU1NSdWxlKiBw
YXJlbnRSdWxlKSBjb25zdDsKIAogcHJvdGVjdGVkOgotICAgIFN0eWxlUnVsZUJhc2UoU3R5bGVS
dWxlVHlwZSB0eXBlLCBib29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4gPSBmYWxzZSkKLSAg
ICAgICAgOiBtX3R5cGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHR5cGUpKQotICAgICAgICAsIG1f
aGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbihoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luKQotICAg
IHsKLSAgICB9Ci0KLSAgICBTdHlsZVJ1bGVCYXNlKGNvbnN0IFN0eWxlUnVsZUJhc2UmIG8pCi0g
ICAgICAgIDogV1RGOjpSZWZDb3VudGVkQmFzZSgpCi0gICAgICAgICwgbV90eXBlKG8ubV90eXBl
KQotICAgICAgICAsIG1faGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbihvLm1faGFzRG9jdW1lbnRT
ZWN1cml0eU9yaWdpbikKLSAgICB7Ci0gICAgfQotCisgICAgZXhwbGljaXQgU3R5bGVSdWxlQmFz
ZShTdHlsZVJ1bGVUeXBlLCBib29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4gPSBmYWxzZSk7
CisgICAgU3R5bGVSdWxlQmFzZShjb25zdCBTdHlsZVJ1bGVCYXNlJik7CiAgICAgflN0eWxlUnVs
ZUJhc2UoKSA9IGRlZmF1bHQ7CiAKICAgICBib29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4o
KSBjb25zdCB7IHJldHVybiBtX2hhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW47IH0KQEAgLTEwMSw0
NCArODYsMjUgQEAgREVDTEFSRV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJRVIoU3R5bGVS
dWxlKTsKIGNsYXNzIFN0eWxlUnVsZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1bGVCYXNlIHsKICAg
ICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9BTExPQ0FURURfV0lUSF9IRUFQX0lERU5USUZJRVIoU3R5
bGVSdWxlKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZT4gY3JlYXRlKFJlZjxT
dHlsZVByb3BlcnRpZXNCYXNlPiYmIHByb3BlcnRpZXMsIGJvb2wgaGFzRG9jdW1lbnRTZWN1cml0
eU9yaWdpbiwgQ1NTU2VsZWN0b3JMaXN0JiYgc2VsZWN0b3JzKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlKFdURk1vdmUocHJvcGVydGllcyksIGhhc0RvY3Vt
ZW50U2VjdXJpdHlPcmlnaW4sIFdURk1vdmUoc2VsZWN0b3JzKSkpOwotICAgIH0KLSAgICAKKyAg
ICBzdGF0aWMgUmVmPFN0eWxlUnVsZT4gY3JlYXRlKFJlZjxTdHlsZVByb3BlcnRpZXNCYXNlPiYm
LCBib29sIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4sIENTU1NlbGVjdG9yTGlzdCYmKTsKKyAg
ICBSZWY8U3R5bGVSdWxlPiBjb3B5KCkgY29uc3Q7CiAgICAgflN0eWxlUnVsZSgpOwogCiAgICAg
Y29uc3QgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QoKSBjb25zdCB7IHJldHVybiBtX3Nl
bGVjdG9yTGlzdDsgfQotICAgIAorCiAgICAgY29uc3QgU3R5bGVQcm9wZXJ0aWVzJiBwcm9wZXJ0
aWVzKCkgY29uc3Q7CiAgICAgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgbXV0YWJsZVByb3BlcnRp
ZXMoKTsKICAgICBjb25zdCBTdHlsZVByb3BlcnRpZXMqIHByb3BlcnRpZXNXaXRob3V0RGVmZXJy
ZWRQYXJzaW5nKCkgY29uc3Q7CiAKICAgICB1c2luZyBTdHlsZVJ1bGVCYXNlOjpoYXNEb2N1bWVu
dFNlY3VyaXR5T3JpZ2luOwogCi0gICAgdm9pZCB3cmFwcGVyQWRvcHRTZWxlY3Rvckxpc3QoQ1NT
U2VsZWN0b3JMaXN0JiYgc2VsZWN0b3JzKQotICAgIHsKLSAgICAgICAgbV9zZWxlY3Rvckxpc3Qg
PSBXVEZNb3ZlKHNlbGVjdG9ycyk7Ci0jaWYgRU5BQkxFKENTU19TRUxFQ1RPUl9KSVQpCi0gICAg
ICAgIG1fY29tcGlsZWRTZWxlY3RvcnMgPSBudWxscHRyOwotI2VuZGlmCi0gICAgfQotCi0gICAg
UmVmPFN0eWxlUnVsZT4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVS
dWxlKCp0aGlzKSk7IH0KKyAgICB2b2lkIHdyYXBwZXJBZG9wdFNlbGVjdG9yTGlzdChDU1NTZWxl
Y3Rvckxpc3QmJik7CiAKICAgICBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZT4+IHNwbGl0SW50b011
bHRpcGxlUnVsZXNXaXRoTWF4aW11bVNlbGVjdG9yQ29tcG9uZW50Q291bnQodW5zaWduZWQpIGNv
bnN0OwogCiAjaWYgRU5BQkxFKENTU19TRUxFQ1RPUl9KSVQpCi0gICAgQ29tcGlsZWRTZWxlY3Rv
ciYgY29tcGlsZWRTZWxlY3RvckZvckxpc3RJbmRleCh1bnNpZ25lZCBpbmRleCkgY29uc3QKLSAg
ICB7Ci0gICAgICAgIGlmICghbV9jb21waWxlZFNlbGVjdG9ycykKLSAgICAgICAgICAgIG1fY29t
cGlsZWRTZWxlY3RvcnMgPSBtYWtlVW5pcXVlQXJyYXk8Q29tcGlsZWRTZWxlY3Rvcj4obV9zZWxl
Y3Rvckxpc3QubGlzdFNpemUoKSk7Ci0gICAgICAgIHJldHVybiBtX2NvbXBpbGVkU2VsZWN0b3Jz
W2luZGV4XTsKLSAgICB9Ci0gICAgdm9pZCByZWxlYXNlQ29tcGlsZWRTZWxlY3RvcnMoKSBjb25z
dAotICAgIHsKLSAgICAgICAgbV9jb21waWxlZFNlbGVjdG9ycyA9IG51bGxwdHI7Ci0gICAgfQor
ICAgIENvbXBpbGVkU2VsZWN0b3ImIGNvbXBpbGVkU2VsZWN0b3JGb3JMaXN0SW5kZXgodW5zaWdu
ZWQgaW5kZXgpIGNvbnN0OworICAgIHZvaWQgcmVsZWFzZUNvbXBpbGVkU2VsZWN0b3JzKCkgY29u
c3QgeyBtX2NvbXBpbGVkU2VsZWN0b3JzID0gbnVsbHB0cjsgfQogI2VuZGlmCiAKICAgICBzdGF0
aWMgdW5zaWduZWQgYXZlcmFnZVNpemVJbkJ5dGVzKCk7CkBAIC0xNTcsMTEgKzEyMyw2IEBAIHBy
aXZhdGU6CiAjZW5kaWYKIH07CiAKLWlubGluZSBjb25zdCBTdHlsZVByb3BlcnRpZXMqIFN0eWxl
UnVsZTo6cHJvcGVydGllc1dpdGhvdXREZWZlcnJlZFBhcnNpbmcoKSBjb25zdAotewotICAgIHJl
dHVybiBtX3Byb3BlcnRpZXMtPnR5cGUoKSAhPSBEZWZlcnJlZFByb3BlcnRpZXNUeXBlID8gJmRv
d25jYXN0PFN0eWxlUHJvcGVydGllcz4obV9wcm9wZXJ0aWVzLmdldCgpKSA6IG51bGxwdHI7Ci19
Ci0KIGNsYXNzIFN0eWxlUnVsZUZvbnRGYWNlIGZpbmFsIDogcHVibGljIFN0eWxlUnVsZUJhc2Ug
ewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlRm9udEZhY2U+IGNyZWF0ZShSZWY8
U3R5bGVQcm9wZXJ0aWVzPiYmIHByb3BlcnRpZXMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5
bGVSdWxlRm9udEZhY2UoV1RGTW92ZShwcm9wZXJ0aWVzKSkpOyB9CkBAIC0xODIsNyArMTQzLDcg
QEAgcHJpdmF0ZToKIAogY2xhc3MgU3R5bGVSdWxlUGFnZSBmaW5hbCA6IHB1YmxpYyBTdHlsZVJ1
bGVCYXNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZVBhZ2U+IGNyZWF0ZShS
ZWY8U3R5bGVQcm9wZXJ0aWVzPiYmIHByb3BlcnRpZXMsIENTU1NlbGVjdG9yTGlzdCYmIHNlbGVj
dG9ycykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVQYWdlKFdURk1vdmUocHJvcGVy
dGllcyksIFdURk1vdmUoc2VsZWN0b3JzKSkpOyB9CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVQ
YWdlPiBjcmVhdGUoUmVmPFN0eWxlUHJvcGVydGllcz4mJiwgQ1NTU2VsZWN0b3JMaXN0JiYpOwog
CiAgICAgflN0eWxlUnVsZVBhZ2UoKTsKIApAQCAtMjI0LDcgKzE4NSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHdyYXBwZXJSZW1vdmVSdWxlKHVuc2lnbmVkKTsKICAgICAKIHByb3RlY3RlZDoKLSAg
ICBTdHlsZVJ1bGVHcm91cChTdHlsZVJ1bGVUeXBlLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJh
c2U+PiYpOworICAgIFN0eWxlUnVsZUdyb3VwKFN0eWxlUnVsZVR5cGUsIFZlY3RvcjxSZWZQdHI8
U3R5bGVSdWxlQmFzZT4+JiYpOwogICAgIFN0eWxlUnVsZUdyb3VwKFN0eWxlUnVsZVR5cGUsIHN0
ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3JvdXBSdWxlTGlzdD4mJik7CiAgICAgU3R5bGVS
dWxlR3JvdXAoY29uc3QgU3R5bGVSdWxlR3JvdXAmKTsKICAgICAKQEAgLTIzNSw1NSArMTk2LDM0
IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdy
b3VwUnVsZUxpc3Q+IG1fZGVmZXJyZWRSdWxlczsKIH07CiAKLWlubGluZSBjb25zdCBWZWN0b3I8
UmVmUHRyPFN0eWxlUnVsZUJhc2U+PiogU3R5bGVSdWxlR3JvdXA6OmNoaWxkUnVsZXNXaXRob3V0
RGVmZXJyZWRQYXJzaW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gIW1fZGVmZXJyZWRSdWxlcyA/
ICZtX2NoaWxkUnVsZXMgOiBudWxscHRyOwotfQotCiBjbGFzcyBTdHlsZVJ1bGVNZWRpYSBmaW5h
bCA6IHB1YmxpYyBTdHlsZVJ1bGVHcm91cCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTdHls
ZVJ1bGVNZWRpYT4gY3JlYXRlKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBWZWN0b3I8UmVm
UHRyPFN0eWxlUnVsZUJhc2U+PiYgYWRvcHRSdWxlcykKLSAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFN0eWxlUnVsZU1lZGlhKFdURk1vdmUobWVkaWEpLCBhZG9wdFJ1bGVzKSk7
Ci0gICAgfQotCi0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVNZWRpYT4gY3JlYXRlKFJlZjxNZWRp
YVF1ZXJ5U2V0PiYmIG1lZGlhLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHlsZUdyb3VwUnVs
ZUxpc3Q+JiYgZGVmZXJyZWRDaGlsZFJ1bGVzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgU3R5bGVSdWxlTWVkaWEoV1RGTW92ZShtZWRpYSksIFdURk1vdmUoZGVmZXJyZWRD
aGlsZFJ1bGVzKSkpOwotICAgIH0KLQotICAgIE1lZGlhUXVlcnlTZXQqIG1lZGlhUXVlcmllcygp
IGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFRdWVyaWVzLmdldCgpOyB9CisgICAgc3RhdGljIFJlZjxT
dHlsZVJ1bGVNZWRpYT4gY3JlYXRlKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBWZWN0b3I8UmVmUHRy
PFN0eWxlUnVsZUJhc2U+PiYmKTsKKyAgICBzdGF0aWMgUmVmPFN0eWxlUnVsZU1lZGlhPiBjcmVh
dGUoUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIHN0ZDo6dW5pcXVlX3B0cjxEZWZlcnJlZFN0eWxlR3Jv
dXBSdWxlTGlzdD4mJik7CisgICAgUmVmPFN0eWxlUnVsZU1lZGlhPiBjb3B5KCkgY29uc3Q7CiAK
LSAgICBSZWY8U3R5bGVSdWxlTWVkaWE+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigq
bmV3IFN0eWxlUnVsZU1lZGlhKCp0aGlzKSk7IH0KKyAgICBNZWRpYVF1ZXJ5U2V0JiBtZWRpYVF1
ZXJpZXMoKSBjb25zdCB7IHJldHVybiBtX21lZGlhUXVlcmllczsgfQogCiBwcml2YXRlOgotICAg
IFN0eWxlUnVsZU1lZGlhKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBWZWN0b3I8UmVmUHRyPFN0eWxl
UnVsZUJhc2U+PiYgYWRvcHRSdWxlcyk7CisgICAgU3R5bGVSdWxlTWVkaWEoUmVmPE1lZGlhUXVl
cnlTZXQ+JiYsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYpOwogICAgIFN0eWxlUnVs
ZU1lZGlhKFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBzdGQ6OnVuaXF1ZV9wdHI8RGVmZXJyZWRTdHls
ZUdyb3VwUnVsZUxpc3Q+JiYpOwogICAgIFN0eWxlUnVsZU1lZGlhKGNvbnN0IFN0eWxlUnVsZU1l
ZGlhJik7CiAKLSAgICBSZWZQdHI8TWVkaWFRdWVyeVNldD4gbV9tZWRpYVF1ZXJpZXM7CisgICAg
UmVmPE1lZGlhUXVlcnlTZXQ+IG1fbWVkaWFRdWVyaWVzOwogfTsKIAogY2xhc3MgU3R5bGVSdWxl
U3VwcG9ydHMgZmluYWwgOiBwdWJsaWMgU3R5bGVSdWxlR3JvdXAgewogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8U3R5bGVSdWxlU3VwcG9ydHM+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGNvbmRpdGlv
blRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxl
QmFzZT4+JiBhZG9wdFJ1bGVzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U3R5bGVSdWxlU3VwcG9ydHMoY29uZGl0aW9uVGV4dCwgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIGFk
b3B0UnVsZXMpKTsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIFJlZjxTdHlsZVJ1bGVTdXBwb3J0
cz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1
cHBvcnRlZCwgc3RkOjp1bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmIGRl
ZmVycmVkQ2hpbGRSdWxlcykKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0
eWxlUnVsZVN1cHBvcnRzKGNvbmRpdGlvblRleHQsIGNvbmRpdGlvbklzU3VwcG9ydGVkLCBXVEZN
b3ZlKGRlZmVycmVkQ2hpbGRSdWxlcykpKTsKLSAgICB9CisgICAgc3RhdGljIFJlZjxTdHlsZVJ1
bGVTdXBwb3J0cz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25k
aXRpb25Jc1N1cHBvcnRlZCwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4mJik7CisgICAg
c3RhdGljIFJlZjxTdHlsZVJ1bGVTdXBwb3J0cz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgY29uZGl0
aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgc3RkOjp1bmlxdWVfcHRyPERlZmVy
cmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmKTsKKyAgICBSZWY8U3R5bGVSdWxlU3VwcG9ydHM+IGNv
cHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1cHBvcnRzKCp0aGlz
KSk7IH0KIAogICAgIFN0cmluZyBjb25kaXRpb25UZXh0KCkgY29uc3QgeyByZXR1cm4gbV9jb25k
aXRpb25UZXh0OyB9CiAgICAgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQ7IH0KLSAgICBSZWY8U3R5bGVSdWxlU3VwcG9ydHM+
IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZVN1cHBvcnRzKCp0
aGlzKSk7IH0KIAogcHJpdmF0ZToKLSAgICBTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJpbmcm
IGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8
U3R5bGVSdWxlQmFzZT4+JiBhZG9wdFJ1bGVzKTsKKyAgICBTdHlsZVJ1bGVTdXBwb3J0cyhjb25z
dCBTdHJpbmcmIGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3Rv
cjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4+JiYpOwogICAgIFN0eWxlUnVsZVN1cHBvcnRzKGNvbnN0
IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgc3RkOjp1
bmlxdWVfcHRyPERlZmVycmVkU3R5bGVHcm91cFJ1bGVMaXN0PiYmKTsKLSAgICAKICAgICBTdHls
ZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHlsZVJ1bGVTdXBwb3J0cyYpOwogCiAgICAgU3RyaW5nIG1f
Y29uZGl0aW9uVGV4dDsKQEAgLTI5MywyMyArMjMzLDE3IEBAIHByaXZhdGU6CiAvLyBUaGlzIGlz
IG9ubHkgdXNlZCBieSB0aGUgQ1NTIHBhcnNlci4KIGNsYXNzIFN0eWxlUnVsZUNoYXJzZXQgZmlu
YWwgOiBwdWJsaWMgU3R5bGVSdWxlQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTdHls
ZVJ1bGVDaGFyc2V0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxlUnVsZUNo
YXJzZXQoKSk7IH0KLSAgICAKLSAgICB+U3R5bGVSdWxlQ2hhcnNldCgpOwotICAgIAorICAgIHN0
YXRpYyBSZWY8U3R5bGVSdWxlQ2hhcnNldD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTdHlsZVJ1bGVDaGFyc2V0KTsgfQogICAgIFJlZjxTdHlsZVJ1bGVDaGFyc2V0PiBjb3B5KCkg
Y29uc3QgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVJ1bGVDaGFyc2V0KCp0aGlzKSk7IH0K
IAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBTdHlsZVJ1bGVDaGFyc2V0KCk7CisgICAgU3R5bGVS
dWxlQ2hhcnNldCgpOwogICAgIFN0eWxlUnVsZUNoYXJzZXQoY29uc3QgU3R5bGVSdWxlQ2hhcnNl
dCYpOwogfTsKIAogY2xhc3MgU3R5bGVSdWxlTmFtZXNwYWNlIGZpbmFsIDogcHVibGljIFN0eWxl
UnVsZUJhc2UgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlTmFtZXNwYWNlPiBj
cmVhdGUoQXRvbVN0cmluZyBwcmVmaXgsIEF0b21TdHJpbmcgdXJpKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVSdWxlTmFtZXNwYWNlKHByZWZpeCwgdXJpKSk7Ci0g
ICAgfQorICAgIHN0YXRpYyBSZWY8U3R5bGVSdWxlTmFtZXNwYWNlPiBjcmVhdGUoY29uc3QgQXRv
bVN0cmluZyYgcHJlZml4LCBjb25zdCBBdG9tU3RyaW5nJiB1cmkpOwogICAgIAogICAgIH5TdHls
ZVJ1bGVOYW1lc3BhY2UoKTsKIApAQCAtMzE5LDEzICsyNTMsNjEgQEAgcHVibGljOgogICAgIEF0
b21TdHJpbmcgdXJpKCkgY29uc3QgeyByZXR1cm4gbV91cmk7IH0KIAogcHJpdmF0ZToKLSAgICBT
dHlsZVJ1bGVOYW1lc3BhY2UoQXRvbVN0cmluZyBwcmVmaXgsIEF0b21TdHJpbmcgdXJpKTsKKyAg
ICBTdHlsZVJ1bGVOYW1lc3BhY2UoY29uc3QgQXRvbVN0cmluZyYgcHJlZml4LCBjb25zdCBBdG9t
U3RyaW5nJiB1cmkpOwogICAgIFN0eWxlUnVsZU5hbWVzcGFjZShjb25zdCBTdHlsZVJ1bGVOYW1l
c3BhY2UmKTsKLSAgICAKKwogICAgIEF0b21TdHJpbmcgbV9wcmVmaXg7CiAgICAgQXRvbVN0cmlu
ZyBtX3VyaTsKIH07CiAgICAgCitpbmxpbmUgU3R5bGVSdWxlQmFzZTo6U3R5bGVSdWxlQmFzZShT
dHlsZVJ1bGVUeXBlIHR5cGUsIGJvb2wgaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbikKKyAgICA6
IG1fdHlwZShzdGF0aWNfY2FzdDx1bnNpZ25lZD4odHlwZSkpCisgICAgLCBtX2hhc0RvY3VtZW50
U2VjdXJpdHlPcmlnaW4oaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbikKK3sKK30KKworaW5saW5l
IFN0eWxlUnVsZUJhc2U6OlN0eWxlUnVsZUJhc2UoY29uc3QgU3R5bGVSdWxlQmFzZSYgbykKKyAg
ICA6IFdURjo6UmVmQ291bnRlZEJhc2UoKQorICAgICwgbV90eXBlKG8ubV90eXBlKQorICAgICwg
bV9oYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luKG8ubV9oYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2lu
KQoreworfQorCitpbmxpbmUgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXJlZigpIGNvbnN0Cit7Cisg
ICAgaWYgKGRlcmVmQmFzZSgpKQorICAgICAgICBjb25zdF9jYXN0PFN0eWxlUnVsZUJhc2UmPigq
dGhpcykuZGVzdHJveSgpOworfQorCitpbmxpbmUgdm9pZCBTdHlsZVJ1bGU6OndyYXBwZXJBZG9w
dFNlbGVjdG9yTGlzdChDU1NTZWxlY3Rvckxpc3QmJiBzZWxlY3RvcnMpCit7CisgICAgbV9zZWxl
Y3Rvckxpc3QgPSBXVEZNb3ZlKHNlbGVjdG9ycyk7CisjaWYgRU5BQkxFKENTU19TRUxFQ1RPUl9K
SVQpCisgICAgbV9jb21waWxlZFNlbGVjdG9ycyA9IG51bGxwdHI7CisjZW5kaWYKK30KKworI2lm
IEVOQUJMRShDU1NfU0VMRUNUT1JfSklUKQorCitpbmxpbmUgQ29tcGlsZWRTZWxlY3RvciYgU3R5
bGVSdWxlOjpjb21waWxlZFNlbGVjdG9yRm9yTGlzdEluZGV4KHVuc2lnbmVkIGluZGV4KSBjb25z
dAoreworICAgIGlmICghbV9jb21waWxlZFNlbGVjdG9ycykKKyAgICAgICAgbV9jb21waWxlZFNl
bGVjdG9ycyA9IG1ha2VVbmlxdWVBcnJheTxDb21waWxlZFNlbGVjdG9yPihtX3NlbGVjdG9yTGlz
dC5saXN0U2l6ZSgpKTsKKyAgICByZXR1cm4gbV9jb21waWxlZFNlbGVjdG9yc1tpbmRleF07Cit9
CisKKyNlbmRpZgorCitpbmxpbmUgY29uc3QgU3R5bGVQcm9wZXJ0aWVzKiBTdHlsZVJ1bGU6OnBy
b3BlcnRpZXNXaXRob3V0RGVmZXJyZWRQYXJzaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9w
cm9wZXJ0aWVzLT50eXBlKCkgIT0gRGVmZXJyZWRQcm9wZXJ0aWVzVHlwZSA/ICZkb3duY2FzdDxT
dHlsZVByb3BlcnRpZXM+KG1fcHJvcGVydGllcy5nZXQoKSkgOiBudWxscHRyOworfQorCitpbmxp
bmUgY29uc3QgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPj4qIFN0eWxlUnVsZUdyb3VwOjpj
aGlsZFJ1bGVzV2l0aG91dERlZmVycmVkUGFyc2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuICFt
X2RlZmVycmVkUnVsZXMgPyAmbV9jaGlsZFJ1bGVzIDogbnVsbHB0cjsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0
eWxlUnVsZSkKQEAgLTM1MywxMCArMzM1LDkgQEAgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJ
TihXZWJDb3JlOjpTdHlsZVJ1bGVOYW1lc3BhY2UpCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VO
RCgpCiAKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U3R5bGVSdWxlS2V5
ZnJhbWUpCi1zdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYg
cnVsZSkgeyByZXR1cm4gcnVsZS5pc0tleWZyYW1lUnVsZSgpOyB9CisgICAgc3RhdGljIGJvb2wg
aXNUeXBlKGNvbnN0IFdlYkNvcmU6OlN0eWxlUnVsZUJhc2UmIHJ1bGUpIHsgcmV0dXJuIHJ1bGUu
aXNLZXlmcmFtZVJ1bGUoKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQogCiBTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlN0eWxlUnVsZUNoYXJzZXQpCi1zdGF0
aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1
cm4gcnVsZS5pc0NoYXJzZXRSdWxlKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3Qg
V2ViQ29yZTo6U3R5bGVSdWxlQmFzZSYgcnVsZSkgeyByZXR1cm4gcnVsZS5pc0NoYXJzZXRSdWxl
KCk7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKLQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hl
ZXQuaWRsCmluZGV4IDAyMzg1MGIzNDI2MGEzM2NmZTliMDQ4NmQ5NGRhOTExYjA3OGJhMTMuLjlk
ZGViZDg1NDRlZDRlMDRkNWUxM2RmMWU0OTg3OTc4YWY3YjcwOGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVTaGVldC5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAq
CiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCkBAIC0yMSw2ICsyMSw3IEBACiBbCiAgICAgQ3VzdG9tVG9KU09iamVjdCwKICAg
ICBFeHBvcnRUb1dyYXBwZWRGdW5jdGlvbiwKKyAgICBFeHBvc2VkPVdpbmRvdywKICAgICBHZW5l
cmF0ZUlzUmVhY2hhYmxlLAogICAgIEpTQ3VzdG9tSGVhZGVyLAogICAgIEpTQ3VzdG9tTWFya0Z1
bmN0aW9uLApAQCAtMzEsNSArMzIsNSBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVNo
ZWV0IHBhcmVudFN0eWxlU2hlZXQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8g
aHJlZjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyB0aXRsZTsKLSAgICByZWFk
b25seSBhdHRyaWJ1dGUgTWVkaWFMaXN0IG1lZGlhOworICAgIFtTYW1lT2JqZWN0LCBQdXRGb3J3
YXJkcz1tZWRpYVRleHRdIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUxpc3QgbWVkaWE7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAppbmRleCA5OGI4ZGNmYzBh
YjA5YWMxYjcwMGFhYzE4MmIyZGMwYmI1ZThiMzkwLi5kMzU4YjNiODdjOWU0NzQwN2VjYmMxZjcz
YzFhNjU1ZGEzYWQxYWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVl
dENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRz
LmNwcApAQCAtMTUyLDcgKzE1Miw3IEBAIHZvaWQgU3R5bGVTaGVldENvbnRlbnRzOjpwYXJzZXJB
cHBlbmRSdWxlKFJlZjxTdHlsZVJ1bGVCYXNlPiYmIHJ1bGUpCiAgICAgfQogCiAgICAgaWYgKGlz
PFN0eWxlUnVsZU1lZGlhPihydWxlKSkKLSAgICAgICAgcmVwb3J0TWVkaWFRdWVyeVdhcm5pbmdJ
Zk5lZWRlZChzaW5nbGVPd25lckRvY3VtZW50KCksIGRvd25jYXN0PFN0eWxlUnVsZU1lZGlhPihy
dWxlLmdldCgpKS5tZWRpYVF1ZXJpZXMoKSk7CisgICAgICAgIHJlcG9ydE1lZGlhUXVlcnlXYXJu
aW5nSWZOZWVkZWQoc2luZ2xlT3duZXJEb2N1bWVudCgpLCAmZG93bmNhc3Q8U3R5bGVSdWxlTWVk
aWE+KHJ1bGUuZ2V0KCkpLm1lZGlhUXVlcmllcygpKTsKIAogICAgIC8vIE5PVEU6IFRoZSBzZWxl
Y3RvciBsaXN0IGhhcyB0byBmaXQgaW50byBSdWxlRGF0YS4gPGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTE4MzY5PgogICAgIC8vIElmIHdlJ3JlIGFkZGluZyBhIHJ1bGUgd2l0aCBhIGh1Z2UgbnVtYmVy
IG9mIHNlbGVjdG9ycywgc3BsaXQgaXQgdXAgaW50byBtdWx0aXBsZSBydWxlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVNoZWV0TGlzdC5pZGwKaW5kZXggMTEzOWQzMTcxZDY3YWNmMGVmYjM1OWYwOWJj
ZTRkYzg0NzM4Y2EwOS4uODc5MTlmMjZkYzljMTFlOTE3MmY1OWY5YmU5MWIzOGZkNzAyMDU4MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldExpc3QuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndl
aW5pZ0BnbWFpbC5jb20+CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjAsNiArMjAsNyBAQAogCiBbCiAgICAg
RXhwb3J0VG9XcmFwcGVkRnVuY3Rpb24sCisgICAgRXhwb3NlZD1XaW5kb3csCiAgICAgR2VuZXJh
dGVJc1JlYWNoYWJsZT1JbXBsT3duZXJOb2RlUm9vdCwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAogXSBpbnRlcmZhY2UgU3R5bGVTaGVldExpc3QgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKaW5kZXggNjAzNDhiZGZiNzBlYjRhZGM0NmMwYTcy
Yjk1NjI0YWM4NDU5ODQ1Yi4uMzE0Nzg0NmM4YmY0NTNkNTI4Y2UxZDlhMjFhMWRhYTcyYWI4NDhk
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCkBAIC01
NTAsMTIgKzU1MCwxMiBAQCBSZWZQdHI8U3R5bGVSdWxlTWVkaWE+IENTU1BhcnNlckltcGw6OmNv
bnN1bWVNZWRpYVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdQogICAgIGlmIChtX29ic2Vy
dmVyV3JhcHBlcikKICAgICAgICAgbV9vYnNlcnZlcldyYXBwZXItPm9ic2VydmVyKCkuZW5kUnVs
ZUJvZHkobV9vYnNlcnZlcldyYXBwZXItPmVuZE9mZnNldChibG9jaykpOwogCi0gICAgcmV0dXJu
IFN0eWxlUnVsZU1lZGlhOjpjcmVhdGUoTWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VNZWRpYVF1ZXJ5
U2V0KHByZWx1ZGUsIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0KG1fY29udGV4dCkpLnJlbGVhc2VO
b25OdWxsKCksIHJ1bGVzKTsKKyAgICByZXR1cm4gU3R5bGVSdWxlTWVkaWE6OmNyZWF0ZShNZWRp
YVF1ZXJ5UGFyc2VyOjpwYXJzZU1lZGlhUXVlcnlTZXQocHJlbHVkZSwgTWVkaWFRdWVyeVBhcnNl
ckNvbnRleHQobV9jb250ZXh0KSkucmVsZWFzZU5vbk51bGwoKSwgV1RGTW92ZShydWxlcykpOwog
fQogCiBSZWZQdHI8U3R5bGVSdWxlU3VwcG9ydHM+IENTU1BhcnNlckltcGw6OmNvbnN1bWVTdXBw
b3J0c1J1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdl
IGJsb2NrKQogewotICAgIENTU1N1cHBvcnRzUGFyc2VyOjpTdXBwb3J0c1Jlc3VsdCBzdXBwb3J0
ZWQgPSBDU1NTdXBwb3J0c1BhcnNlcjo6c3VwcG9ydHNDb25kaXRpb24ocHJlbHVkZSwgKnRoaXMs
IENTU1N1cHBvcnRzUGFyc2VyOjpGb3JBdFJ1bGUpOworICAgIGF1dG8gc3VwcG9ydGVkID0gQ1NT
U3VwcG9ydHNQYXJzZXI6OnN1cHBvcnRzQ29uZGl0aW9uKHByZWx1ZGUsICp0aGlzLCBDU1NTdXBw
b3J0c1BhcnNlcjo6Rm9yQXRSdWxlKTsKICAgICBpZiAoc3VwcG9ydGVkID09IENTU1N1cHBvcnRz
UGFyc2VyOjpJbnZhbGlkKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsgLy8gUGFyc2UgZXJyb3Is
IGludmFsaWQgQHN1cHBvcnRzIGNvbmRpdGlvbgogCkBAIC01NzcsNyArNTc3LDcgQEAgUmVmUHRy
PFN0eWxlUnVsZVN1cHBvcnRzPiBDU1NQYXJzZXJJbXBsOjpjb25zdW1lU3VwcG9ydHNSdWxlKENT
U1BhcnNlclRva2VuUmFuZ2UKICAgICBpZiAobV9vYnNlcnZlcldyYXBwZXIpCiAgICAgICAgIG1f
b2JzZXJ2ZXJXcmFwcGVyLT5vYnNlcnZlcigpLmVuZFJ1bGVCb2R5KG1fb2JzZXJ2ZXJXcmFwcGVy
LT5lbmRPZmZzZXQoYmxvY2spKTsKIAotICAgIHJldHVybiBTdHlsZVJ1bGVTdXBwb3J0czo6Y3Jl
YXRlKHByZWx1ZGUuc2VyaWFsaXplKCkuc3RyaXBXaGl0ZVNwYWNlKCksIHN1cHBvcnRlZCwgcnVs
ZXMpOworICAgIHJldHVybiBTdHlsZVJ1bGVTdXBwb3J0czo6Y3JlYXRlKHByZWx1ZGUuc2VyaWFs
aXplKCkuc3RyaXBXaGl0ZVNwYWNlKCksIHN1cHBvcnRlZCwgV1RGTW92ZShydWxlcykpOwogfQog
CiBSZWZQdHI8U3R5bGVSdWxlRm9udEZhY2U+IENTU1BhcnNlckltcGw6OmNvbnN1bWVGb250RmFj
ZVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmVsdWRlLCBDU1NQYXJzZXJUb2tlblJhbmdlIGJs
b2NrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUnVsZVNldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAppbmRleCA2ZmZkYTkyMzAxZjRhZTYwNzYxYjQ0
NzljNjg1YWUzMTMwNDIzNWRlLi4zMGU0ODQ5ZmVhYTdiMzkzMTYxZGYyYzI4NDU2OGViYWViMTQ4
MTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9SdWxlU2V0LmNwcApAQCAtMjgyLDkgKzI4Miw5IEBAIHZvaWQg
UnVsZVNldDo6YWRkQ2hpbGRSdWxlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+
PiYgcnVsZXMsIE1lZGlhUXVlCiAgICAgICAgIH0KICAgICAgICAgaWYgKGlzPFN0eWxlUnVsZU1l
ZGlhPigqcnVsZSkpIHsKICAgICAgICAgICAgIGF1dG8mIG1lZGlhUnVsZSA9IGRvd25jYXN0PFN0
eWxlUnVsZU1lZGlhPigqcnVsZSk7Ci0gICAgICAgICAgICBpZiAobWVkaWFRdWVyeUNvbGxlY3Rv
ci5wdXNoQW5kRXZhbHVhdGUobWVkaWFSdWxlLm1lZGlhUXVlcmllcygpKSkKKyAgICAgICAgICAg
IGlmIChtZWRpYVF1ZXJ5Q29sbGVjdG9yLnB1c2hBbmRFdmFsdWF0ZSgmbWVkaWFSdWxlLm1lZGlh
UXVlcmllcygpKSkKICAgICAgICAgICAgICAgICBhZGRDaGlsZFJ1bGVzKG1lZGlhUnVsZS5jaGls
ZFJ1bGVzKCksIG1lZGlhUXVlcnlDb2xsZWN0b3IsIHJlc29sdmVyLCBtb2RlKTsKLSAgICAgICAg
ICAgIG1lZGlhUXVlcnlDb2xsZWN0b3IucG9wKG1lZGlhUnVsZS5tZWRpYVF1ZXJpZXMoKSk7Cisg
ICAgICAgICAgICBtZWRpYVF1ZXJ5Q29sbGVjdG9yLnBvcCgmbWVkaWFSdWxlLm1lZGlhUXVlcmll
cygpKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGlmIChpczxT
dHlsZVJ1bGVGb250RmFjZT4oKnJ1bGUpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRT
dHlsZS5jcHAKaW5kZXggY2U2MzU2MGI0NjMxOTE1Njg4YzQ5MTMyOGU5NDJlNTkzYThkMDRhNS4u
ZjQxYjhmMjA1ZWI4OTI3OTQ0NDYxNTRjNGIyYzgxMThmODZhMDE4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtMTY4LDEyICsxNjgsMTAgQEAgdm9pZCBVc2Vy
QWdlbnRTdHlsZTo6YWRkVG9EZWZhdWx0U3R5bGUoU3R5bGVTaGVldENvbnRlbnRzJiBzaGVldCkK
ICAgICAgICAgaWYgKCFpczxTdHlsZVJ1bGVNZWRpYT4oKnJ1bGUpKQogICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIGF1dG8mIG1lZGlhUnVsZSA9IGRvd25jYXN0PFN0eWxlUnVsZU1lZGlh
PigqcnVsZSk7Ci0gICAgICAgIGF1dG8qIG1lZGlhUXVlcnkgPSBtZWRpYVJ1bGUubWVkaWFRdWVy
aWVzKCk7Ci0gICAgICAgIGlmICghbWVkaWFRdWVyeSkKKyAgICAgICAgYXV0byYgbWVkaWFRdWVy
eSA9IG1lZGlhUnVsZS5tZWRpYVF1ZXJpZXMoKTsKKyAgICAgICAgaWYgKHNjcmVlbkV2YWwoKS5l
dmFsdWF0ZShtZWRpYVF1ZXJ5LCBudWxscHRyKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICBpZiAoc2NyZWVuRXZhbCgpLmV2YWx1YXRlKCptZWRpYVF1ZXJ5LCBudWxscHRyKSkKLSAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpZiAocHJpbnRFdmFsKCkuZXZhbHVhdGUoKm1l
ZGlhUXVlcnksIG51bGxwdHIpKQorICAgICAgICBpZiAocHJpbnRFdmFsKCkuZXZhbHVhdGUobWVk
aWFRdWVyeSwgbnVsbHB0cikpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgbWVkaWFR
dWVyeVN0eWxlU2hlZXQtPnBhcnNlckFwcGVuZFJ1bGUobWVkaWFSdWxlLmNvcHkoKSk7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUNTUy5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01DU1MubW0KaW5kZXggMmJiNTJmMmE2ZDIwMzIz
ZTVlZWM4NTk3ZjM4NGZmYWZiODNhZDgwNy4uZjBiZDljM2YyNmRmYmZhMWZiZjNhZmU1MTFmMmNm
ZWMwMGM5MTQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTUNT
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NQ1NTLm1tCkBAIC03NSwx
NCArNzUsOSBAQCBDbGFzcyBraXRDbGFzcyhXZWJDb3JlOjpDU1NSdWxlKiBpbXBsKQogICAgICAg
ICByZXR1cm4gW0RPTUNTU0ZvbnRGYWNlUnVsZSBjbGFzc107CiAgICAgY2FzZSBXZWJDb3JlOjpD
U1NSdWxlOjpQQUdFX1JVTEU6CiAgICAgICAgIHJldHVybiBbRE9NQ1NTUGFnZVJ1bGUgY2xhc3Nd
OwotICAgIGNhc2UgV2ViQ29yZTo6Q1NTUnVsZTo6S0VZRlJBTUVTX1JVTEU6Ci0gICAgY2FzZSBX
ZWJDb3JlOjpDU1NSdWxlOjpOQU1FU1BBQ0VfUlVMRToKLSAgICBjYXNlIFdlYkNvcmU6OkNTU1J1
bGU6OktFWUZSQU1FX1JVTEU6Ci0gICAgY2FzZSBXZWJDb3JlOjpDU1NSdWxlOjpTVVBQT1JUU19S
VUxFOgorICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBbRE9NQ1NTUnVsZSBjbGFzc107CiAg
ICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBuaWw7CiB9CiAKIC8v
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05NSwxMiArOTAsOSBAQCBDbGFz
cyBraXRDbGFzcyhXZWJDb3JlOjpEZXByZWNhdGVkQ1NTT01WYWx1ZSogaW1wbCkKICAgICAgICAg
cmV0dXJuIFtET01DU1NQcmltaXRpdmVWYWx1ZSBjbGFzc107CiAgICAgY2FzZSBXZWJDb3JlOjpE
ZXByZWNhdGVkQ1NTT01WYWx1ZTo6Q1NTX1ZBTFVFX0xJU1Q6CiAgICAgICAgIHJldHVybiBbRE9N
Q1NTVmFsdWVMaXN0IGNsYXNzXTsKLSAgICBjYXNlIFdlYkNvcmU6OkRlcHJlY2F0ZWRDU1NPTVZh
bHVlOjpDU1NfSU5IRVJJVDoKLSAgICBjYXNlIFdlYkNvcmU6OkRlcHJlY2F0ZWRDU1NPTVZhbHVl
OjpDU1NfQ1VTVE9NOgorICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBbRE9NQ1NTVmFsdWUg
Y2xhc3NdOwogICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gbmls
OwogfQogCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUxY2Vi
ZDkzMTE1MzY4MzcxOGJmMzViZjNkM2FhNWFhNDNiOWJlYzcuLjVlNmQxYjJlMWY3OTU3NjQ3Y2Fl
YjUxNDg2YWM1NmJjYWIyMzE3NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wOS0yNCAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENTU0NvbmRpdGlv
blJ1bGUgYW5kIENTU0dyb3VwaW5nUnVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE2ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9kb21MaXN0RW51bWVyYXRpb24tZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi5odG1sOgorICAgICAg
ICBVcGRhdGVkIHNpbmNlIHRvU3RyaW5nIGlzIG5vdyBpbXBsZW1lbnRlZCBhbmQgZW51bWVyYWJs
ZS4KKworICAgICAgICAqIGZhc3QvZG9tL25vbi1udW1lcmljLXZhbHVlcy1udW1lcmljLXBhcmFt
ZXRlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL25vbi1udW1lcmljLXZhbHVl
cy1udW1lcmljLXBhcmFtZXRlcnMuaHRtbDoKKyAgICAgICAgVXBkYXRlZCB0ZXN0IGFuZCBleHBl
Y3RhdGlvbnMgc2luY2UgQ1NTTWVkaWFSdWxlJ3MgZGVsZXRlUnVsZSBubyBsb25nZXIgYWxsb3dz
IG9taXR0aW5nCisgICAgICAgIHRoZSBpbmRleCB0byBkZWxldGUgcnVsZSAwIChib3RoIG5vbi1z
dGFuZGFyZCBhbmQgaW5jb25zaXN0ZW50IHdpdGggQ1NTU3R5bGVTaGVldCkuCisKIDIwMjAtMDkt
MjQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICB3ZWIgYXVkaW8g
YXBpIG91dHB1dHMgc2lsZW5jZSBmb3IgMzAyIHJlZGlyZWN0ZWQgcmVzb3VyY2UgaW4gc2FmYXJp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5NjM1Y2IxOWI2NWJkN2Q2NGVhMTEx
NDE1MjYzNTc2YTk1YTJjNWEwLi5jZTBjMTJjYmUyNzk3NjU4NzZhOGQ5ZTllMzNmZTkyMzEzMGJj
NzI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
MC0wOS0yNCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIENT
U0NvbmRpdGlvblJ1bGUgYW5kIENTU0dyb3VwaW5nUnVsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2NvbmRp
dGlvbmFsL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20vTWVkaWFMaXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzc29tL2Nzc2ltcG9ydHJ1bGUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vaWRsaGFybmVzcy1leHBlY3RlZC50eHQ6
CisgICAgICAgIFVwZGF0ZWQgZXhwZWN0YXRpb25zIHRvIGV4cGVjdCBtb3JlIHRlc3RzIHRvIHBh
c3MuCisKIDIwMjAtMDktMjQgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFJlc3luYyBXUFQncyBtYXRobWwgYW5kIG1hdGgtc2NyaXB0LWxldmVsLWFuZC1tYXRo
LXN0eWxlIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb21MaXN0RW51
bWVyYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZG9tTGlzdEVudW1l
cmF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCAzMTBhMTJkYTEwNTJmNTZlNTIyY2JiMjE4YjgyYThm
MTNjYjU0MjY5Li4wNGQyZGVhM2YxOTJiN2QxZTMyYTZlODc5YmM5OWFlZTEzMmQzMjUzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb21MaXN0RW51bWVyYXRpb24tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTgxLDcgKzgxLDcgQEAgUEFTUyByZXN1bHRBcnJheVsxXS5pIGlzICcxJwogUEFT
UyByZXN1bHRBcnJheVsxXS5pdGVtIGlzIGNzc1ZhbHVlTGlzdC5pdGVtKDEpCiAKIFtvYmplY3Qg
TWVkaWFMaXN0XQotUEFTUyByZXN1bHRBcnJheS5sZW5ndGggaXMgOAorUEFTUyByZXN1bHRBcnJh
eS5sZW5ndGggaXMgOQogUEFTUyByZXN1bHRBcnJheVswXS5pIGlzICcwJwogUEFTUyByZXN1bHRB
cnJheVswXS5pdGVtIGlzIG1lZGlhTGlzdC5pdGVtKDApCiBQQVNTIHJlc3VsdEFycmF5WzFdLmkg
aXMgJzEnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9kb21MaXN0RW51bWVyYXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi5odG1sCmlu
ZGV4IDA2YjMwMzI5MWEzYWQzYzU5MjI3ODUzOGI1ZmZkY2ZhYWQ4NDA2YTAuLjBhOTA0YmU2OWNk
YmI2NTJlMDc5ZDIzNzQzYmUyY2UzNGFmYzkxY2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2RvbUxpc3RFbnVtZXJhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L2RvbUxpc3RFbnVtZXJhdGlvbi5odG1sCkBAIC0yMDAsNyArMjAwLDcgQEAgc2hvdWxkQmUoInJl
c3VsdEFycmF5WzFdLml0ZW0iLCAiY3NzVmFsdWVMaXN0Lml0ZW0oMSkiKTsKIC8vIE1lZGlhTGlz
dAogdmFyIG1lZGlhTGlzdCA9IGRvY3VtZW50LnN0eWxlU2hlZXRzWzNdLmNzc1J1bGVzWzBdLm1l
ZGlhOwogcmVzdWx0QXJyYXkgPSBpdGVyYXRlTGlzdChtZWRpYUxpc3QpOwotc2hvdWxkQmUoInJl
c3VsdEFycmF5Lmxlbmd0aCIsICI4Iik7CitzaG91bGRCZSgicmVzdWx0QXJyYXkubGVuZ3RoIiwg
IjkiKTsKIHNob3VsZEJlKCJyZXN1bHRBcnJheVswXS5pIiwgIicwJyIpOwogc2hvdWxkQmUoInJl
c3VsdEFycmF5WzBdLml0ZW0iLCAibWVkaWFMaXN0Lml0ZW0oMCkiKTsKIHNob3VsZEJlKCJyZXN1
bHRBcnJheVsxXS5pIiwgIicxJyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
bm9uLW51bWVyaWMtdmFsdWVzLW51bWVyaWMtcGFyYW1ldGVycy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9ub24tbnVtZXJpYy12YWx1ZXMtbnVtZXJpYy1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dAppbmRleCA2ZGE4MWUyNzkxNTM4OWE1ODZhOGZkMWFhODYwYjgwZmNlN2FlZTBl
Li5kZGY2NzE1NmE1ZjNiZjc2ZjU5MTBhYmFiOTlkZDUxZjE0YjUyYmU3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9ub24tbnVtZXJpYy12YWx1ZXMtbnVtZXJpYy1wYXJhbWV0ZXJz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ub24tbnVtZXJpYy12YWx1
ZXMtbnVtZXJpYy1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dApAQCAtMTEsNyArMTEsNyBAQCBQQVNT
IG5vbk51bWVyaWNQb2xpY3koJ2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJhIikuZGVsZXRlRGF0
YSgwLCB4KScpIGlzICdhbnkgdAogUEFTUyBub25OdW1lcmljUG9saWN5KCdkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgiYSIpLnJlcGxhY2VEYXRhKHgsIDAsICJiIiknKSBpcyAnYW55IHR5cGUgYWxs
b3dlZCcKIFBBU1Mgbm9uTnVtZXJpY1BvbGljeSgnZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImEi
KS5yZXBsYWNlRGF0YSgwLCB4LCAiYiIpJykgaXMgJ2FueSB0eXBlIGFsbG93ZWQnCiBQQVNTIG5v
bk51bWVyaWNQb2xpY3koJ2NyZWF0ZUNTU01lZGlhUnVsZSgpLmluc2VydFJ1bGUocnVsZVRleHQs
IHgpJykgaXMgJ2FueSB0eXBlIGFsbG93ZWQnCi1QQVNTIG5vbk51bWVyaWNQb2xpY3koJ2NyZWF0
ZUNTU01lZGlhUnVsZSgpLmRlbGV0ZVJ1bGUoeCknKSBpcyAnYW55IHR5cGUgYWxsb3dlZCcKK1BB
U1Mgbm9uTnVtZXJpY1BvbGljeSgnY3JlYXRlQ1NTTWVkaWFSdWxlKCkuZGVsZXRlUnVsZSh4KScp
IGlzICdhbnkgdHlwZSBhbGxvd2VkIChidXQgbm90IG9taXR0ZWQpJwogUEFTUyBub25OdW1lcmlj
UG9saWN5KCdjcmVhdGVDU1NSdWxlTGlzdCgpLml0ZW0oeCknKSBpcyAnYW55IHR5cGUgYWxsb3dl
ZCAoYnV0IG5vdCBvbWl0dGVkKScKIFBBU1Mgbm9uTnVtZXJpY1BvbGljeSgnY3JlYXRlQ1NTU3R5
bGVEZWNsYXJhdGlvbigpLml0ZW0oeCknKSBpcyAnYW55IHR5cGUgYWxsb3dlZCAoYnV0IG5vdCBv
bWl0dGVkKScKIFBBU1Mgbm9uTnVtZXJpY1BvbGljeSgnY3JlYXRlQ1NTU3R5bGVTaGVldCgpLmlu
c2VydFJ1bGUocnVsZVRleHQsIHgpJykgaXMgJ2FueSB0eXBlIGFsbG93ZWQnCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ub24tbnVtZXJpYy12YWx1ZXMtbnVtZXJpYy1wYXJhbWV0
ZXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ub24tbnVtZXJpYy12YWx1ZXMtbnVtZXJp
Yy1wYXJhbWV0ZXJzLmh0bWwKaW5kZXggOGUwMzdhMDU0MjMwMjdlODZiMmRkZmZlN2E3NmE4Mjc4
MTQ3OWU1Zi4uMzAzNmRmZDc2MDA3ODMxZTliNDM4ODBjNGJmYTJmNTcxNTcxN2QzZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vbm9uLW51bWVyaWMtdmFsdWVzLW51bWVyaWMtcGFy
YW1ldGVycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL25vbi1udW1lcmljLXZhbHVl
cy1udW1lcmljLXBhcmFtZXRlcnMuaHRtbApAQCAtMjAzLDcgKzIwMyw3IEBAIHNob3VsZEJlKCJu
b25OdW1lcmljUG9saWN5KCdkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShcImFcIikucmVwbGFjZURh
dGEoMCwgeCwgXCJiCiAvLyBDU1NNZWRpYVJ1bGUKIAogc2hvdWxkQmUoIm5vbk51bWVyaWNQb2xp
Y3koJ2NyZWF0ZUNTU01lZGlhUnVsZSgpLmluc2VydFJ1bGUocnVsZVRleHQsIHgpJykiLCAiJ2Fu
eSB0eXBlIGFsbG93ZWQnIik7Ci1zaG91bGRCZSgibm9uTnVtZXJpY1BvbGljeSgnY3JlYXRlQ1NT
TWVkaWFSdWxlKCkuZGVsZXRlUnVsZSh4KScpIiwgIidhbnkgdHlwZSBhbGxvd2VkJyIpOworc2hv
dWxkQmUoIm5vbk51bWVyaWNQb2xpY3koJ2NyZWF0ZUNTU01lZGlhUnVsZSgpLmRlbGV0ZVJ1bGUo
eCknKSIsICInYW55IHR5cGUgYWxsb3dlZCAoYnV0IG5vdCBvbWl0dGVkKSciKTsKIAogLy8gQ1NT
UnVsZUxpc3QKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY29uZGl0aW9uYWwvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jb25kaXRpb25hbC9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCBiMWI0NDFmOTk5Y2JhNzU5ZjIyOTRmYTQ3ZWY4
MmJjMmE3MmZlZTc1Li5kMjcwMWVhYjcyODRlYjYwNjE0MDIyNjcwYTRiMTEwZDJjYzliNWY2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jb25kaXRpb25hbC9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jb25kaXRpb25hbC9pZGxoYXJuZXNz
LWV4cGVjdGVkLnR4dApAQCAtNSwyOSArNSwyOSBAQCBQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIENT
U1J1bGU6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkCiBQQVNTIFBhcnRpYWwgaW50ZXJmYWNl
IENTU1J1bGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBQYXJ0aWFsIG5hbWVzcGFj
ZSBDU1M6IG9yaWdpbmFsIG5hbWVzcGFjZSBkZWZpbmVkIAogUEFTUyBQYXJ0aWFsIG5hbWVzcGFj
ZSBDU1M6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotRkFJTCBDU1NDb25kaXRpb25SdWxlIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTQ29u
ZGl0aW9uUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIG1pc3NpbmcK
LUZBSUwgQ1NTQ29uZGl0aW9uUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NDb25kaXRpb25S
dWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgbWlzc2luZwotRkFJTCBD
U1NDb25kaXRpb25SdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgbWlzc2luZwotRkFJTCBDU1NDb25kaXRp
b25SdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NDb25k
aXRpb25SdWxlIiBtaXNzaW5nCi1GQUlMIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29u
c3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1ND
b25kaXRpb25SdWxlIiBtaXNzaW5nCi1GQUlMIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBA
QHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJD
U1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCi1GQUlMIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgY29uZGl0aW9uVGV4dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBleHBlY3RlZCBwcm9wZXJ0
eSAiQ1NTQ29uZGl0aW9uUnVsZSIgbWlzc2luZwotRkFJTCBDU1NNZWRpYVJ1bGUgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NDb25kaXRpb25S
dWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NTQ29uZGl0aW9uUnVsZSIgbWlzc2luZworUEFTUyBD
U1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCitQQVNTIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGggCitQQVNTIENTU0NvbmRpdGlvblJ1bGUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFT
UyBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBDU1NDb25kaXRpb25SdWxlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgQ1NTQ29uZGl0aW9uUnVsZSBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIENTU0NvbmRpdGlvblJ1bGUgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgY29uZGl0aW9uVGV4dCAKK1BBU1MgQ1NTTWVkaWFSdWxlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNT
IENTU01lZGlhUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgQ1NTTWVkaWFSdWxl
IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLUZBSUwgQ1NTTWVkaWFSdWxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRp
dGlvblJ1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCitQ
QVNTIENTU01lZGlhUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgQ1NTTWVkaWFSdWxlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ1NTTWVkaWFSdWxlIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1
bnNjb3BhYmxlcyBwcm9wZXJ0eSAKLUZBSUwgQ1NTTWVkaWFSdWxlIGludGVyZmFjZTogYXR0cmli
dXRlIG1lZGlhIGFzc2VydF9lcXVhbHM6IHNldHRlciBtdXN0IGJlIGZ1bmN0aW9uIGZvciBQdXRG
b3J3YXJkcywgUmVwbGFjZWFibGUsIG9yIG5vbi1yZWFkb25seSBhdHRyaWJ1dGVzIGV4cGVjdGVk
ICJmdW5jdGlvbiIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBDU1NNZWRpYVJ1bGUgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgbWVkaWEgCiBQQVNTIENTU01lZGlhUnVsZSBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIGNzc01lZGlhUnVsZSAKIFBBU1MgU3RyaW5naWZpY2F0aW9uIG9mIGNzc01l
ZGlhUnVsZSAKIFBBU1MgQ1NTTWVkaWFSdWxlIGludGVyZmFjZTogY3NzTWVkaWFSdWxlIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAibWVkaWEiIHdpdGggdGhlIHByb3BlciB0eXBlIAotRkFJTCBDU1ND
b25kaXRpb25SdWxlIGludGVyZmFjZTogY3NzTWVkaWFSdWxlIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiY29uZGl0aW9uVGV4dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBw
cm9wZXJ0eSAiY29uZGl0aW9uVGV4dCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFT
UyBDU1NDb25kaXRpb25SdWxlIGludGVyZmFjZTogY3NzTWVkaWFSdWxlIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAiY29uZGl0aW9uVGV4dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1
bGUgaW50ZXJmYWNlOiBjc3NNZWRpYVJ1bGUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJTVVBQT1JU
U19SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgQ1NTU3VwcG9ydHNSdWxlIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTQ29uZGl0
aW9uUnVsZSIgZXhwZWN0ZWQgcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIG1pc3NpbmcKK1BB
U1MgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCiBQQVNTIENTU1N1cHBvcnRzUnVsZSBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aCAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZSBvYmplY3QgbmFtZSAKLUZB
SUwgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0NvbmRpdGlvblJ1bGUiIGV4cGVjdGVkIHByb3Bl
cnR5ICJDU1NDb25kaXRpb25SdWxlIiBtaXNzaW5nCitQQVNTIENTU1N1cHBvcnRzUnVsZSBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKIFBBU1MgQ1NTU3VwcG9ydHNSdWxlIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
Y3NzU3VwcG9ydHNSdWxlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vTWVkaWFMaXN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL01lZGlhTGlz
dC1leHBlY3RlZC50eHQKaW5kZXggMmZkZGM2NGNmMzJhMzc0YWQwMTU5ZTdlZTRkMmRmNDlhNGRj
OGUyOC4uMTljNzE2ZGI1Nzg3MDZjYTcyZDgxMGMxMzE1OTBkZTI4OTFhNDZiOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20v
TWVkaWFMaXN0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9NZWRpYUxpc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsMyBAQAogCi1GQUlMIENTU09NIC0gTWVkaWFMaXN0IGludGVyZmFjZSBhc3NlcnRfZXF1YWxz
OiBNZWRpYUxpc3QgdG9TdHJpbmcgbWV0aG9kIGV4cGVjdGVkICJzY3JlZW4gYW5kIChtaW4td2lk
dGg6IDQ4MHB4KSwgcHJpbnQsIHByb2plY3Rpb24iIGJ1dCBnb3QgIltvYmplY3QgTWVkaWFMaXN0
XSIKK1BBU1MgQ1NTT00gLSBNZWRpYUxpc3QgaW50ZXJmYWNlIAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9jc3NpbXBv
cnRydWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzc29tL2Nzc2ltcG9ydHJ1bGUtZXhwZWN0ZWQudHh0CmluZGV4IDY0N2Rj
MzliNmViOTg0YWFhNjkzZjEyYjkxYmZjMzNjMDAwOThlMjguLjg3MjJlMGI0NDhkMTJkMTE1MzQ0
ZGYxNjIzYzMzMmI3MzdjZTFiNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2Nzc2ltcG9ydHJ1bGUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
c29tL2Nzc2ltcG9ydHJ1bGUtZXhwZWN0ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBQQVNTIEV4aXN0
ZW5jZSBhbmQgd3JpdGFiaWxpdHkgb2YgQ1NTUnVsZSBhdHRyaWJ1dGVzCiBQQVNTIFZhbHVlcyBv
ZiBDU1NSdWxlIGF0dHJpYnV0ZXMgCiBQQVNTIEV4aXN0ZW5jZSBhbmQgd3JpdGFiaWxpdHkgb2Yg
Q1NTSW1wb3J0UnVsZSBhdHRyaWJ1dGVzIAogUEFTUyBWYWx1ZXMgb2YgQ1NTSW1wb3J0UnVsZSBh
dHRyaWJ1dGVzIAotRkFJTCBDU1NJbXBvcnRSdWxlIDogTWVkaWFMaXN0IG1lZGlhVGV4dCBhdHRy
aWJ1dGUgc2hvdWxkIGJlIHVwZGF0ZWQgZHVlIHRvIFtQdXRGb3J3YXJkc10gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInByaW50IiBidXQgZ290ICJzY3JlZW4iCitQQVNTIENTU0ltcG9ydFJ1bGUg
OiBNZWRpYUxpc3QgbWVkaWFUZXh0IGF0dHJpYnV0ZSBzaG91bGQgYmUgdXBkYXRlZCBkdWUgdG8g
W1B1dEZvcndhcmRzXSAKIFBBU1MgQ1NTU3R5bGVEZWNsYXJhdGlvbiBjc3NUZXh0IGF0dHJpYnV0
ZSBzaG91bGQgYmUgdXBkYXRlZCBkdWUgdG8gW1B1dEZvcndhcmRzXSAKLUZBSUwgU3R5bGVTaGVl
dCA6IE1lZGlhTGlzdCBtZWRpYVRleHQgYXR0cmlidXRlIHNob3VsZCBiZSB1cGRhdGVkIGR1ZSB0
byBbUHV0Rm9yd2FyZHNdIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzY3JlZW4iIGJ1dCBnb3Qg
IiIKK1BBU1MgU3R5bGVTaGVldCA6IE1lZGlhTGlzdCBtZWRpYVRleHQgYXR0cmlidXRlIHNob3Vs
ZCBiZSB1cGRhdGVkIGR1ZSB0byBbUHV0Rm9yd2FyZHNdIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9pZGxoYXJuZXNz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzc29tL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CmluZGV4IDY2ZjY1ZDZjZWVmZWRh
NzQ0N2U3MmI1NWU5YzViMjVjMjI1MWQ0MzQuLjk5ODEwODg4N2Y0ZGQ3ZTMwYTFiMDI2MjU2YjFk
NDk4NTEwZTcxOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzc29tL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2lkbGhhcm5l
c3MtZXhwZWN0ZWQudHh0CkBAIC01Myw3ICs1Myw3IEBAIFBBU1MgTWVkaWFMaXN0IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
CiBQQVNTIE1lZGlhTGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNT
IE1lZGlhTGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCiBQQVNTIE1lZGlh
TGlzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYVRleHQgCi1GQUlMIE1lZGlhTGlzdCBpbnRl
cmZhY2U6IHN0cmluZ2lmaWVyIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkg
InRvU3RyaW5nIiBtaXNzaW5nCitQQVNTIE1lZGlhTGlzdCBpbnRlcmZhY2U6IHN0cmluZ2lmaWVy
IAogUEFTUyBNZWRpYUxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGVuZ3RoIAogUEFTUyBNZWRp
YUxpc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24gaXRlbSh1bnNpZ25lZCBsb25nKSAKIFBBU1MgTWVk
aWFMaXN0IGludGVyZmFjZTogb3BlcmF0aW9uIGFwcGVuZE1lZGl1bShDU1NPTVN0cmluZykgCkBA
IC03OSw3ICs3OSw3IEBAIFBBU1MgU3R5bGVTaGVldCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBocmVm
CiBQQVNTIFN0eWxlU2hlZXQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb3duZXJOb2RlIAogUEFTUyBT
dHlsZVNoZWV0IGludGVyZmFjZTogYXR0cmlidXRlIHBhcmVudFN0eWxlU2hlZXQgCiBQQVNTIFN0
eWxlU2hlZXQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdGl0bGUgCi1GQUlMIFN0eWxlU2hlZXQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWEgYXNzZXJ0X2VxdWFsczogc2V0dGVyIG11c3QgYmUgZnVu
Y3Rpb24gZm9yIFB1dEZvcndhcmRzLCBSZXBsYWNlYWJsZSwgb3Igbm9uLXJlYWRvbmx5IGF0dHJp
YnV0ZXMgZXhwZWN0ZWQgImZ1bmN0aW9uIiBidXQgZ290ICJ1bmRlZmluZWQiCitQQVNTIFN0eWxl
U2hlZXQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWEgCiBQQVNTIFN0eWxlU2hlZXQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgZGlzYWJsZWQgCiBQQVNTIENTU1N0eWxlU2hlZXQgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQ1NTU3R5
bGVTaGVldCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKQEAgLTE2Miw4ICsxNjIsOCBAQCBQQVNT
IENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX0ZBQ0VfUlVMRSBvbiBpbnRlcmZhY2Ug
b2JqZWN0CiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBjb25zdGFudCBGT05UX0ZBQ0VfUlVMRSBv
biBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IGNv
bnN0YW50IFBBR0VfUlVMRSBvbiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBDU1NSdWxlIGludGVy
ZmFjZTogY29uc3RhbnQgUEFHRV9SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAot
RkFJTCBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgTUFSR0lOX1JVTEUgb24gaW50ZXJmYWNl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiTUFSR0lOX1JV
TEUiIG1pc3NpbmcKLUZBSUwgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IE1BUkdJTl9SVUxF
IG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVj
dGVkIHByb3BlcnR5ICJNQVJHSU5fUlVMRSIgbWlzc2luZworUEFTUyBDU1NSdWxlIGludGVyZmFj
ZTogY29uc3RhbnQgTUFSR0lOX1JVTEUgb24gaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgQ1NTUnVs
ZSBpbnRlcmZhY2U6IGNvbnN0YW50IE1BUkdJTl9SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogY29uc3RhbnQgTkFNRVNQQUNFX1JVTEUg
b24gaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IGNvbnN0YW50IE5B
TUVTUEFDRV9SVUxFIG9uIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBDU1NTdHls
ZVJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKQEAgLTE4OCw3ICsxODgsNyBAQCBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5j
c3NSdWxlc1s0XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIklNUE9SVF9SVUxFIiB3aQogUEFTUyBD
U1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbNF0gbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJNRURJQV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZh
Y2U6IHNoZWV0LmNzc1J1bGVzWzRdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiRk9OVF9GQUNFX1JV
TEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQu
Y3NzUnVsZXNbNF0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJQQUdFX1JVTEUiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAotRkFJTCBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbNF0gbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUiIG5vdCBmb3VuZCBpbiBwcm90b3R5
cGUgY2hhaW4KK1BBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzRdIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiTUFSR0lOX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbNF0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJOQU1FU1BBQ0VfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU0ltcG9y
dFJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKIFBBU1MgQ1NTSW1wb3J0UnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKQEAgLTE5
Nyw3ICsxOTcsNyBAQCBQQVNTIENTU0ltcG9ydFJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYgogUEFTUyBDU1NJbXBvcnRSdWxl
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgQ1NTSW1wb3J0UnVsZSBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCiBQQVNTIENTU0ltcG9ydFJ1bGUgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgaHJlZiAKLUZBSUwgQ1NTSW1wb3J0UnVsZSBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBtZWRpYSBhc3NlcnRfZXF1YWxzOiBzZXR0ZXIgbXVzdCBiZSBmdW5jdGlvbiBmb3Ig
UHV0Rm9yd2FyZHMsIFJlcGxhY2VhYmxlLCBvciBub24tcmVhZG9ubHkgYXR0cmlidXRlcyBleHBl
Y3RlZCAiZnVuY3Rpb24iIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgQ1NTSW1wb3J0UnVsZSBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYSAKIFBBU1MgQ1NTSW1wb3J0UnVsZSBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBzdHlsZVNoZWV0IAogUEFTUyBDU1NJbXBvcnRSdWxlIG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2Ygc2hlZXQuY3NzUnVsZXNbMF0gCiBQQVNTIFN0cmluZ2lmaWNhdGlvbiBv
ZiBzaGVldC5jc3NSdWxlc1swXSAKQEAgLTIxNCwyMSArMjE0LDI1IEBAIFBBU1MgQ1NTUnVsZSBp
bnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzBdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiSU1QT1JU
X1JVTEUiIHdpCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1swXSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIk1FRElBX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMF0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJGT05UX0ZBQ0VfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUg
aW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1swXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIlBBR0Vf
UlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVl
dC5jc3NSdWxlc1swXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIk1BUkdJTl9SVUxFIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQu
Y3NzUnVsZXNbMF0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1swXSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIk5BTUVTUEFDRV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKLUZBSUwgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAi
Q1NTR3JvdXBpbmdSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NHcm91cGlu
Z1J1bGUiIG1pc3NpbmcKLUZBSUwgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZSBvYmplY3QgbmFt
ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJD
U1NHcm91cGluZ1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIG1pc3Np
bmcKLUZBSUwgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0ZWQg
cHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgbWlzc2luZwotRkFJTCBDU1NHcm91cGluZ1J1bGUg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0ZWQg
cHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgbWlzc2luZwotRkFJTCBDU1NHcm91cGluZ1J1bGUg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgZXhwZWN0ZWQg
cHJvcGVydHkgIkNTU0dyb3VwaW5nUnVsZSIgbWlzc2luZwotRkFJTCBDU1NHcm91cGluZ1J1bGUg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgY3NzUnVsZXMgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBtaXNzaW5nCi1GQUlMIENTU0dyb3VwaW5nUnVsZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBpbnNlcnRSdWxlKENTU09NU3RyaW5nLCBvcHRpb25hbCB1bnNpZ25l
ZCBsb25nKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJDU1NHcm91cGluZ1J1bGUiIGV4cGVjdGVkIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUi
IG1pc3NpbmcKLUZBSUwgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0
ZVJ1bGUodW5zaWduZWQgbG9uZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBleHBlY3RlZCBwcm9wZXJ0eSAiQ1NT
R3JvdXBpbmdSdWxlIiBtaXNzaW5nCi1GQUlMIENTU1BhZ2VSdWxlIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiQ1NTR3JvdXBpbmdSdWxlIiBtaXNzaW5nCitQQVNTIENTU0dyb3VwaW5n
UnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0IAorUEFTUyBDU1NHcm91cGluZ1J1bGUgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNT
IENTU0dyb3VwaW5nUnVsZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIENTU0dyb3VwaW5n
UnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCAKK1BBU1MgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVj
dG9yIiBwcm9wZXJ0eSAKK1BBU1MgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3Bh
YmxlcyBwcm9wZXJ0eSAKK1BBU1MgQ1NTR3JvdXBpbmdSdWxlIGludGVyZmFjZTogYXR0cmlidXRl
IGNzc1J1bGVzIAorUEFTUyBDU1NHcm91cGluZ1J1bGUgaW50ZXJmYWNlOiBvcGVyYXRpb24gaW5z
ZXJ0UnVsZShDU1NPTVN0cmluZywgb3B0aW9uYWwgdW5zaWduZWQgbG9uZykgCitQQVNTIENTU0dy
b3VwaW5nUnVsZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVSdWxlKHVuc2lnbmVkIGxvbmcp
IAorRkFJTCBDU1NQYWdlUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9lcXVhbHM6IHByb3RvdHlwZSBvZiBDU1NQYWdlUnVs
ZSBpcyBub3QgQ1NTR3JvdXBpbmdSdWxlIGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBDU1NH
cm91cGluZ1J1bGUoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgYnV0IGdvdCBmdW5jdGlvbiAi
ZnVuY3Rpb24gQ1NTUnVsZSgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgogUEFTUyBDU1NQYWdl
UnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgQ1NTUGFnZVJ1bGUgaW50ZXJmYWNl
IG9iamVjdCBuYW1lIAotRkFJTCBDU1NQYWdlUnVsZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIGV4
cGVjdGVkIHByb3BlcnR5ICJDU1NHcm91cGluZ1J1bGUiIG1pc3NpbmcKK0ZBSUwgQ1NTUGFnZVJ1
bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QgYXNzZXJ0X2VxdWFsczogcHJvdG90eXBlIG9mIENTU1BhZ2VSdWxlLnByb3Rv
dHlwZSBpcyBub3QgQ1NTR3JvdXBpbmdSdWxlLnByb3RvdHlwZSBleHBlY3RlZCBvYmplY3QgIltv
YmplY3QgQ1NTR3JvdXBpbmdSdWxlXSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgQ1NTUnVsZV0i
CiBQQVNTIENTU1BhZ2VSdWxlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBB
U1MgQ1NTUGFnZVJ1bGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBD
U1NQYWdlUnVsZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzZWxlY3RvclRleHQgCkBAIC0yNTIsNyAr
MjU2LDcgQEAgUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMl0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJJTVBPUlRfUlVMRSIgd2kKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6
IHNoZWV0LmNzc1J1bGVzWzJdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiTUVESUFfUlVMRSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxl
c1syXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIkZPTlRfRkFDRV9SVUxFIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzJdIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiUEFHRV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwg
Q1NTUnVsZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzJdIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiTUFSR0lOX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJv
cGVydHkgIk1BUkdJTl9SVUxFIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitQQVNTIENT
U1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1syXSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Ik1BUkdJTl9SVUxFIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgQ1NTUnVsZSBpbnRlcmZh
Y2U6IHNoZWV0LmNzc1J1bGVzWzJdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiTkFNRVNQQUNFX1JV
TEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogRkFJTCBDU1NNYXJnaW5SdWxlIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiQ1NTTWFyZ2luUnVsZSIg
ZXhwZWN0ZWQgcHJvcGVydHkgIkNTU01hcmdpblJ1bGUiIG1pc3NpbmcKIEZBSUwgQ1NTTWFyZ2lu
UnVsZSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJDU1NNYXJnaW5SdWxlIiBleHBlY3RlZCBwcm9wZXJ0
eSAiQ1NTTWFyZ2luUnVsZSIgbWlzc2luZwpAQCAtMzAwLDcgKzMwNCw3IEBAIFBBU1MgQ1NTUnVs
ZSBpbnRlcmZhY2U6IHNoZWV0LmNzc1J1bGVzWzFdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiSU1Q
T1JUX1JVTEUiIHdpCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1sxXSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIk1FRElBX1JVTEUiIHdpdGggdGhlIHByb3BlciB0eXBlIAog
UEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hlZXQuY3NzUnVsZXNbMV0gbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJGT05UX0ZBQ0VfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1
bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1sxXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIlBB
R0VfUlVMRSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1GQUlMIENTU1J1bGUgaW50ZXJmYWNlOiBz
aGVldC5jc3NSdWxlc1sxXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIk1BUkdJTl9SVUxFIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIg
bm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorUEFTUyBDU1NSdWxlIGludGVyZmFjZTogc2hl
ZXQuY3NzUnVsZXNbMV0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJNQVJHSU5fUlVMRSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIENTU1J1bGUgaW50ZXJmYWNlOiBzaGVldC5jc3NSdWxlc1sx
XSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIk5BTUVTUEFDRV9SVUxFIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgQ1NTU3R5bGVEZWNsYXJhdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBDU1NTdHlsZURlY2xhcmF0aW9u
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAo=
</data>
<flag name="review"
          id="425354"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="425378"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>