<?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>151677</bug_id>
          
          <creation_ts>2015-11-30 15:07:20 -0800</creation_ts>
          <short_desc>Rename ActiveDOMObject/DOMWindow PageCacheSuspension code to support more reasons for suspension</short_desc>
          <delta_ts>2015-12-01 00:18:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>150515</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kat Graff">kgraff</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ljaehun.lim</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1144971</commentid>
    <comment_count>0</comment_count>
    <who name="Kat Graff">kgraff</who>
    <bug_when>2015-11-30 15:07:20 -0800</bug_when>
    <thetext>Renaming:
ActiveDOMObject::canSuspendForPageCache and DOMWindow::m_suspendedForPageCache, DOMWindow::resetUnlessSuspendedForPageCache, DOMWindow::suspendForPageCache, DOMWindow::resumeFromPageCache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145017</commentid>
    <comment_count>1</comment_count>
      <attachid>266295</attachid>
    <who name="Kat Graff">kgraff</who>
    <bug_when>2015-11-30 16:20:49 -0800</bug_when>
    <thetext>Created attachment 266295
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145021</commentid>
    <comment_count>2</comment_count>
      <attachid>266299</attachid>
    <who name="Kat Graff">kgraff</who>
    <bug_when>2015-11-30 16:31:45 -0800</bug_when>
    <thetext>Created attachment 266299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145059</commentid>
    <comment_count>3</comment_count>
      <attachid>266299</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-30 17:55:57 -0800</bug_when>
    <thetext>Comment on attachment 266299
Patch

Clearing flags on attachment: 266299

Committed r192848: &lt;http://trac.webkit.org/changeset/192848&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145060</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-30 17:55:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145170</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-12-01 00:18:49 -0800</bug_when>
    <thetext>Just to document: It broke the EFL build 
(not in WebKit2 code!!!!) as the EWS noticed.

And the fix landed in https://trac.webkit.org/changeset/192860</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266295</attachid>
            <date>2015-11-30 16:20:49 -0800</date>
            <delta_ts>2015-11-30 16:31:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151677-20151130162027.patch</filename>
            <type>text/plain</type>
            <size>78545</size>
            <attacher name="Kat Graff">kgraff</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzcwYTFkZjYxMDgyMjE1
OTgyM2I3ZjVlODJkNmVjNjFmNTEyZDQ1NC4uZTU5NTlhZGRmYzQyYzJjM2JiODk2MmY4NmVlODg0
YzBhODNhZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4OCBAQAorMjAxNS0xMS0zMCAgS2F0
bHluIEdyYWZmICA8a2dyYWZmQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgQWN0aXZlRE9N
T2JqZWN0L0RPTVdpbmRvdyBQYWdlQ2FjaGVTdXNwZW5zaW9uIGNvZGUgdG8gc3VwcG9ydCBtb3Jl
IHJlYXNvbnMgZm9yIHN1c3BlbnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MTY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNpbXBseSBhIHJlZmFjdG9yaW5nIHBhdGNoLCBzbyBubyBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmNhblN1c3BlbmRGb3JEb2N1
bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjYW5T
dXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24v
R2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OmNhblN1c3Bl
bmRGb3JEb2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246
OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvZ2Vv
bG9jYXRpb24vR2VvbG9jYXRpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9ET01X
aW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93SW5k
ZXhlZERhdGFiYXNlOjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpyZWNvbm5lY3RGcmFtZUZy
b21Eb2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhl
ZERhdGFiYXNlOjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpyZWNvbm5lY3RGcmFtZUZyb21Q
YWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJEYXRhYmFzZUltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJEYXRh
YmFzZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpJREJDbGllbnQ6OklEQkRhdGFiYXNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRGF0YWJhc2VJbXBsLmg6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCUmVxdWVzdDo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQlJlcXVl
c3Q6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SURCQ2xpZW50OjpJREJUcmFuc2FjdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQlRyYW5zYWN0aW9uOjpjYW5TdXNw
ZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9j
bGllbnQvSURCVHJhbnNhY3Rpb25JbXBsLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
bGVnYWN5L0xlZ2FjeURhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeURhdGFi
YXNlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkxlZ2FjeURhdGFiYXNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5RGF0YWJhc2UuaDoKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5UmVxdWVzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMZWdhY3lSZXF1ZXN0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVJlcXVlc3Q6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUp
OiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lSZXF1
ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeVRyYW5zYWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRyYW5zYWN0aW9uOjpjYW5TdXNwZW5k
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRyYW5zYWN0
aW9uOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5VHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291
cmNlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU291cmNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlcjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW1UcmFjazo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UlRDRFRNRlNlbmRlcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GU2VuZGVyOjpjYW5TdXNwZW5kRm9yUGFnZUNh
Y2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5k
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjpjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjpj
YW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRp
b25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93Tm90aWZpY2F0aW9uczo6ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd05vdGlmaWNhdGlvbnM6OnJlY29ubmVjdEZyYW1l
RnJvbURvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dOb3Rp
ZmljYXRpb25zOjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93Tm90aWZpY2F0aW9uczo6cmVjb25uZWN0RnJhbWVGcm9tUGFn
ZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2lu
ZG93Tm90aWZpY2F0aW9ucy5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjYW5TdXNwZW5k
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6
Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Q2VudGVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSk6IERlbGV0ZWQu
CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvQ29udGV4dDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAg
ICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YWJhc2VDb250ZXh0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6Y2FuU3VzcGVuZEZvclBhZ2VD
YWNoZSk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNv
bnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUp
OiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaDoKKyAg
ICAgICAgKiBjc3MvRm9udExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250TG9hZGVy
OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRMb2FkZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy9Gb250TG9hZGVyLmg6CisgICAgICAgICogZG9tL0FjdGl2ZURPTU9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBY3RpdmVET01PYmplY3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3Bl
bnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlRE9NT2JqZWN0OjpjYW5TdXNwZW5kRm9y
UGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vQWN0aXZlRE9NT2JqZWN0Lmg6Cisg
ICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+
RG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNhblN1c3BlbmRBY3RpdmVE
T01PYmplY3RzRm9yVGFiU3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpjYW5TdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0ZvclBhZ2VDYWNoZSk6IERl
bGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAg
KiBmaWxlYXBpL0ZpbGVSZWFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpGaWxl
UmVhZGVyOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBmaWxl
YXBpL0ZpbGVSZWFkZXIuaDoKKyAgICAgICAgKiBoaXN0b3J5L0NhY2hlZEZyYW1lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZEZyYW1lOjpDYWNoZWRGcmFtZSk6CisgICAgICAgICogaGlz
dG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FuQ2FjaGVGcmFtZSk6Cisg
ICAgICAgICogaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1hcnF1ZWVFbGVtZW50OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNYXJxdWVlRWxlbWVudDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNo
ZSk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50
OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxTb3VyY2VFbGVtZW50OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9QdWJsaWNVUkxN
YW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlB1YmxpY1VSTE1hbmFnZXI6OmNhblN1c3Bl
bmRGb3JEb2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6UHVibGljVVJMTWFu
YWdlcjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9Q
dWJsaWNVUkxNYW5hZ2VyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxl
dGVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoK
KyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpvcGVuKToK
KyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01BcHBsaWNhdGlvbkNhY2hlOjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1
bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NQXBwbGljYXRpb25DYWNoZTo6
cmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTUFwcGxpY2F0aW9uQ2FjaGU6OmRpc2Nvbm5lY3RGcmFtZUZvclBhZ2VDYWNoZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpET01BcHBsaWNhdGlvbkNhY2hlOjpyZWNvbm5lY3RGcmFt
ZUZyb21QYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9ET01B
cHBsaWNhdGlvbkNhY2hlLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93OjpET01XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
V2luZG93Ojp+RE9NV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVzZXRV
bmxlc3NTdXNwZW5kZWRGb3JEb2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93OjpzdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVdpbmRvdzo6cmVzdW1lRnJvbURvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpET01XaW5kb3c6OmRpc2Nvbm5lY3RET01XaW5kb3dQcm9wZXJ0aWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVjb25uZWN0RE9NV2luZG93UHJvcGVydGllcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlc2V0VW5sZXNzU3VzcGVuZGVkRm9yUGFnZUNh
Y2hlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c3VzcGVuZEZvclBh
Z2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlc3VtZUZy
b21QYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAg
ICAgICogcGFnZS9ET01XaW5kb3dFeHRlbnNpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
V2luZG93RXh0ZW5zaW9uOjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93RXh0ZW5zaW9uOjpyZWNvbm5lY3RGcmFtZUZyb21E
b2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93RXh0ZW5zaW9u
OjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93RXh0ZW5zaW9uOjpyZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUpOiBEZWxl
dGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93RXh0ZW5zaW9uLmg6CisgICAgICAgICogcGFn
ZS9ET01XaW5kb3dQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dQcm9w
ZXJ0eTo6ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3Bl
bnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5lY3RG
cmFtZUZvclBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dQ
cm9wZXJ0eTo6cmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvd1Byb3BlcnR5Lmg6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZv
clBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAg
ICAgICAqIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdXNw
ZW5kYWJsZVRpbWVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxl
dGVkLgorICAgICAgICAqIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5oOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6OmNhblN1c3BlbmRG
b3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmg6CisgICAg
ICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBS
ZXF1ZXN0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlhNTEh0dHBSZXF1ZXN0OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAxNS0xMS0zMCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGxvY2F0aW9uLm9yaWdpbiBpcyB1bmRlZmlu
ZWQgaW4gYSB3ZWIgd29ya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggM2I5OWY0ODgxOTFjYTIzMDYx
ZWQyMGQ3OGU4NzEzMzFkNDUxZTQ2MC4uOTNjNWE1NzBkNTc5NjVkMzcwYzhkYjdmOWQzMmJhMDJm
MDg0NmJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSArMSwxMSBAQAorMjAxNS0xMS0zMCAgS2F0
bHluIEdyYWZmICA8a2dyYWZmQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgQWN0aXZlRE9N
T2JqZWN0L0RPTVdpbmRvdyBQYWdlQ2FjaGVTdXNwZW5zaW9uIGNvZGUgdG8gc3VwcG9ydCBtb3Jl
IHJlYXNvbnMgZm9yIHN1c3BlbnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MTY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAgICAgKC1bV2ViRnJh
bWUgX2NhY2hlYWJpbGl0eURpY3Rpb25hcnldKToKKwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdl
TG9nLTIwMTUtMTEtMjEgPT0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCAxZTQyODZjZDQyZTk3ZmQ5
NzMxNTMzMzJlZWQ2ZTI3Yjc0YjYxMzRmLi5iMjE4MTA0YmQ3YTVlNmM2MGFmYWIxNzQyNTk3Nzc0
NzdjODUwNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCkBAIC0yNjUsNyArMjY1LDcgQEAgY29uc3Qg
Y2hhciogTWVkaWFLZXlTZXNzaW9uOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICBy
ZXR1cm4gIk1lZGlhS2V5U2Vzc2lvbiI7CiB9CiAKLWJvb2wgTWVkaWFLZXlTZXNzaW9uOjpjYW5T
dXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgTWVkaWFLZXlTZXNzaW9uOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIHRyeSBhbmQgZG8gYmV0dGVyIGhlcmUuCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmgKaW5kZXggM2Y1OGEzNGE5MWRhZTJiMWE1ZmMxY2ZiZTVjNWQ3Yzk1OWJmYWExZC4uYTQ2ZGJh
NDdkMTU3YmI3YWRiNjU1ZTg3OTNjMWIyNjE3OTY1YjcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0x
MTMsNyArMTEzLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAg
ICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNhY2hl
KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5z
aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0IG92ZXJyaWRlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAppbmRleCBkYzQ3MjZhMmI4MTY5NjcxN2Y3ZjE5
MzhhODQzMzRkZTg1ZGIxZDRiLi5mOTIzNzM3YWMzNTRiMjVkMTU5MGE4NjU0YjgxMjg0M2M5N2Q1
OTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xv
Y2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xv
Y2F0aW9uLmNwcApAQCAtMTYxLDcgKzE2MSw3IEBAIFBhZ2UqIEdlb2xvY2F0aW9uOjpwYWdlKCkg
Y29uc3QKICAgICByZXR1cm4gZG9jdW1lbnQoKSA/IGRvY3VtZW50KCktPnBhZ2UoKSA6IG51bGxw
dHI7CiB9CiAKLWJvb2wgR2VvbG9jYXRpb246OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25z
dAorYm9vbCBHZW9sb2NhdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmgKaW5kZXggZTVmZWVjNTJlNzkyNDA5NjBmYjY3ZDdm
ZWVmOTE1N2Q2MGI0MjVlZS4uMDg4MzUyZjEwYWIzYTZiODNiM2I5YTMxM2E0MWU5Yzk0NTg0OTMw
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRp
b24uaApAQCAtNzksNyArNzksNyBAQCBwcml2YXRlOgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0
CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNh
Y2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3Bl
bnNpb24pIG92ZXJyaWRlOwogICAgIHZvaWQgcmVzdW1lKCkgb3ZlcnJpZGU7CiAgICAgY29uc3Qg
Y2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4ZWRE
YXRhYmFzZS5jcHAKaW5kZXggN2MzMTQxNTk1NjZkYzk5YTE4YTNhMjVkZTNkYWM0YzMyYWE2YWYz
Mi4uY2MxOWY0MTBlZDE3Y2M1ZmExMjAwMDM4NzcwODVhNjYwMmYyYmUyNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRl
eGVkRGF0YWJhc2UuY3BwCkBAIC02NCwxNSArNjQsMTUgQEAgRE9NV2luZG93SW5kZXhlZERhdGFi
YXNlKiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2U6OmZyb20oRE9NV2luZG93KiB3aW5kb3cpCiAg
ICAgcmV0dXJuIHN1cHBsZW1lbnQ7CiB9CiAKLXZvaWQgRE9NV2luZG93SW5kZXhlZERhdGFiYXNl
OjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUoKQordm9pZCBET01XaW5kb3dJbmRleGVkRGF0
YWJhc2U6OmRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpCiB7CiAgICAgbV9z
dXNwZW5kZWRJREJGYWN0b3J5ID0gbV9pZGJGYWN0b3J5LnJlbGVhc2UoKTsKLSAgICBET01XaW5k
b3dQcm9wZXJ0eTo6ZGlzY29ubmVjdEZyYW1lRm9yUGFnZUNhY2hlKCk7CisgICAgRE9NV2luZG93
UHJvcGVydHk6OmRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpOwogfQogCi12
b2lkIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6cmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hl
KEZyYW1lKiBmcmFtZSkKK3ZvaWQgRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpyZWNvbm5lY3RG
cmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJhbWUqIGZyYW1lKQogewotICAgIERPTVdpbmRv
d1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUoZnJhbWUpOworICAgIERPTVdp
bmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oZnJhbWUp
OwogICAgIG1faWRiRmFjdG9yeSA9IG1fc3VzcGVuZGVkSURCRmFjdG9yeS5yZWxlYXNlKCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmgKaW5kZXggYTBiZTg1MGViMTk4ZmMwNWYxZDI2ZDgyZmE2
ZDU4OTYwZWE2YzkzZi4uM2ZmYjcxYzVjYmMzZDBmZWY4ZjhlZWI5MDY3ODc1NzEyYmNjNGU2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5k
ZXhlZERhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmgKQEAgLTQ2LDggKzQ2LDggQEAgcHVibGljOgogCiAgICAg
c3RhdGljIElEQkZhY3RvcnkqIGluZGV4ZWREQihET01XaW5kb3cqKTsKIAotICAgIHZpcnR1YWwg
dm9pZCBkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFs
IHZvaWQgcmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hlKEZyYW1lKikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCByZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNp
b24oRnJhbWUqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lHbG9iYWxP
YmplY3RJbkNhY2hlZEZyYW1lKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0
cm95R2xvYmFsT2JqZWN0SW5GcmFtZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxs
RGV0YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRGF0YWJhc2VJbXBsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJEYXRhYmFzZUltcGwu
Y3BwCmluZGV4IDg5ZDQzZTllNDU3ZDkwZjc1YzgyYmVhOTljMWJjM2Y0MzkwNTc1MTIuLjkyN2Yw
MTdkYjM1ODFhMDJlYTdiNWQzOWFmMTdiYzhlZDdhODkxOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJEYXRhYmFzZUltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJEYXRhYmFzZUltcGwu
Y3BwCkBAIC0yMzQsNyArMjM0LDcgQEAgY29uc3QgY2hhciogSURCRGF0YWJhc2U6OmFjdGl2ZURP
TU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiSURCRGF0YWJhc2UiOwogfQogCi1ib29s
IElEQkRhdGFiYXNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgSURCRGF0
YWJhc2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIC8v
IEZJWE1FOiBUaGlzIHZhbHVlIHdpbGwgc29tZXRpbWVzIGJlIGZhbHNlIHdoZW4gZGF0YWJhc2Ug
b3BlcmF0aW9ucyBhcmUgYWN0dWFsbHkgaW4gcHJvZ3Jlc3MuCiAgICAgLy8gU3VjaCBkYXRhYmFz
ZSBvcGVyYXRpb25zIGRvIG5vdCB5ZXQgZXhpc3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRGF0YWJhc2VJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRGF0YWJhc2VJbXBsLmgKaW5kZXggZmRj
MGJmOGI0NDU5M2U0MWE3MGIxMjZkMDU3NmYxYzY0NWVhYTc5Zi4uYjEzZjYwYTY3Y2E5M2NjNzM4
N2YxM2RlY2EwODRkNTg1ODY4ZmYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQkRhdGFiYXNlSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJEYXRhYmFzZUltcGwuaApAQCAtNjcsNyArNjcs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlk
ZSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogYWN0aXZlRE9N
T2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwotICAgIHZpcnR1YWwgYm9vbCBjYW5T
dXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CisgICAgdmlydHVhbCBi
b29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZSBmaW5h
bDsKIAogICAgIGNvbnN0IElEQkRhdGFiYXNlSW5mbyYgaW5mbygpIGNvbnN0IHsgcmV0dXJuIG1f
aW5mbzsgfQogICAgIHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX2RhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXI7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdElt
cGwuY3BwCmluZGV4IGU5YzRlNzRjZjE3MmZjZjg4YWQwNjZhMDNjYmRmMjU2MjU4NDk4YmYuLjZl
OTYwMTBiNGMwMzE1ZDg3MmU5NmIwZTg2ODI0NDg5YzNiZjAwNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBs
LmNwcApAQCAtMjE1LDcgKzIxNSw3IEBAIGNvbnN0IGNoYXIqIElEQlJlcXVlc3Q6OmFjdGl2ZURP
TU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiSURCUmVxdWVzdCI7CiB9CiAKLWJvb2wg
SURCUmVxdWVzdDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIElEQlJlcXVl
c3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIHJldHVy
biBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmgKaW5kZXggYTNjNDYwNDFmY2JmY2FmZDg5YmY0NjJj
Y2YzM2FkZGVhMjNjZWNmZS4uZDIzMDFjZTY2MThkNzkzOTBmMjhmMjcxNThjMmJlMjQwMzhlZTEx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QlJlcXVlc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQlJlcXVlc3RJbXBsLmgKQEAgLTEwNiw3ICsxMDYsNyBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICAvLyBBY3RpdmVET01PYmplY3QuCiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiBhY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7Ci0gICAgdmlydHVhbCBib29sIGNhblN1
c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKKyAgICB2aXJ0dWFsIGJv
b2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlIGZpbmFs
OwogICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBvdmVycmlkZSBm
aW5hbDsKICAgICAKICAgICAvLyBFdmVudFRhcmdldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5j
cHAKaW5kZXggZTQwODVkZjA1ZDhlYzk2NWMzNmVkYmFlMGE3ZjJmZWUxNzczOTEzYi4uYTg2MTkx
NTdmOTIyYWJlNDVhZDA3MGFlZmMxOGFkYjg2ZDI1YzRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9u
SW1wbC5jcHAKQEAgLTIwNiw3ICsyMDYsNyBAQCBjb25zdCBjaGFyKiBJREJUcmFuc2FjdGlvbjo6
YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJJREJUcmFuc2FjdGlvbiI7
CiB9CiAKLWJvb2wgSURCVHJhbnNhY3Rpb246OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25z
dAorYm9vbCBJREJUcmFuc2FjdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5oCmlu
ZGV4IDE0MjQ0N2JjMmE1NmE2M2UzMjU3ZWYyMjRhMTY3YjM4YjJiZTZiM2IuLmQxYjA1ZjA1OTE4
MjIxNTYxOTAxOTc1NWUxOGYzZjA2N2NlYzdmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCVHJhbnNhY3Rpb25JbXBsLmgK
QEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50
KEV2ZW50Jikgb3ZlcnJpZGUgZmluYWw7CiAKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGFjdGl2
ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKLSAgICB2aXJ0dWFsIGJvb2wg
Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1
YWwgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGUg
ZmluYWw7CiAgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IG92ZXJy
aWRlIGZpbmFsOwogCiAgICAgY29uc3QgSURCVHJhbnNhY3Rpb25JbmZvIGluZm8oKSBjb25zdCB7
IHJldHVybiBtX2luZm87IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2xlZ2FjeS9MZWdhY3lEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5RGF0YWJhc2UuY3BwCmluZGV4IGQwM2YxMjhjZDMxMWVk
MjI5YmRjMzRjN2MwMWU1Y2UwZTExYjY3Y2MuLjg2NWM5ZjI5YTVkZjI2ZmE1MWJkMWI5MTgxNzIz
MmMzMzU4ZWMzOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2xlZ2FjeS9MZWdhY3lEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvbGVnYWN5L0xlZ2FjeURhdGFiYXNlLmNwcApAQCAtMzkzLDcgKzM5Myw3IEBAIGNv
bnN0IGNoYXIqIExlZ2FjeURhdGFiYXNlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAg
ICByZXR1cm4gIkxlZ2FjeURhdGFiYXNlIjsKIH0KIAotYm9vbCBMZWdhY3lEYXRhYmFzZTo6Y2Fu
U3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIExlZ2FjeURhdGFiYXNlOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9pc0Nsb3Nl
ZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2Fj
eS9MZWdhY3lEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVn
YWN5L0xlZ2FjeURhdGFiYXNlLmgKaW5kZXggZWExZWI1ZjIzZGEwZjU2NmQ5NjMzNjhhNjhiYzMx
YWY0NGZkYjI2Mi4uNjUxZWNiNGNlMmUzOWRhZDU1YmRjYWNjOGJlOTUwM2EyYjg2YjJlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeURh
dGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xl
Z2FjeURhdGFiYXNlLmgKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIC8vIEFjdGl2
ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hh
ciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3Vz
cGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgLy8gRXZlbnRUYXJn
ZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IHJl
ZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdh
Y3kvTGVnYWN5UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9s
ZWdhY3kvTGVnYWN5UmVxdWVzdC5jcHAKaW5kZXggMmM3NDdhNTZhYWFkNTNjZjdkNGQzYTNkZDA4
NGY4ZDVmMzJhOWFkMi4uYzE4NDQ3ZGUzOTVjYWIxNDYzOWM0NWJhZGQ0ZmE4NDU4YzhmOTA1ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2Fj
eVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2Fj
eS9MZWdhY3lSZXF1ZXN0LmNwcApAQCAtNDUxLDcgKzQ1MSw3IEBAIHZvaWQgTGVnYWN5UmVxdWVz
dDo6c3RvcCgpCiAgICAgICAgIG1hcmtFYXJseURlYXRoKCk7CiB9CiAKLWJvb2wgTGVnYWN5UmVx
dWVzdDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIExlZ2FjeVJlcXVlc3Q6
OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIHJldHVybiAh
bV9oYXNQZW5kaW5nQWN0aXZpdHk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeVJlcXVlc3QuaAppbmRleCBlYjFmYmFlZjJhZTYy
NjVlMzIxN2JiYWNlNWYxYzA3ZTVmZDFiY2JjLi4yODE2OTE0M2MwMjM3ODdkMmYxMTYwNzg3ZDlm
NjkxMmNkZTUzODRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9sZWdhY3kvTGVnYWN5UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2xlZ2FjeS9MZWdhY3lSZXF1ZXN0LmgKQEAgLTEyNiw3ICsxMjYsNyBAQCBwcml2YXRl
OgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7
CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJv
b2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogCiAg
ICAgLy8gRXZlbnRUYXJnZXQgQVBJLgogICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgp
IG92ZXJyaWRlIGZpbmFsIHsgcmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5VHJhbnNhY3Rpb24uY3BwCmluZGV4
IGNlODQ5ZmQzZjc2NGE0NWZlODAxY2FkZTIxMDZkZWQwMTVlM2I0ZWIuLjJlOTQ5N2ZjMGI2OTE0
MjYyNDM5NzIzMzEwYjVkMzlhN2VhNjNmYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeVRyYW5zYWN0aW9uLmNwcApA
QCAtMzQwLDcgKzM0MCw3IEBAIGJvb2wgTGVnYWN5VHJhbnNhY3Rpb246OmRpc3BhdGNoRXZlbnQo
RXZlbnQmIGV2ZW50KQogICAgIHJldHVybiByZXR1cm5WYWx1ZTsKIH0KIAotYm9vbCBMZWdhY3lU
cmFuc2FjdGlvbjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIExlZ2FjeVRy
YW5zYWN0aW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAg
ICAvLyBGSVhNRTogVGVjaG5pY2FsbHkgd2UgY2FuIHN1c3BlbmQgYmVmb3JlIHRoZSBmaXJzdCBy
ZXF1ZXN0IGlzIHNjaGVkdWxlCiAgICAgLy8gICAgICAgIGFuZCBhZnRlciB0aGUgY29tcGxldGUv
YWJvcnQgZXZlbnQgaXMgZW5xdWV1ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5VHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5oCmluZGV4IGY3OWRl
YzMzMzk1ZGEyYTViZDY2MzNhNjIzYzgzYTNmOTcwNzU1NGYuLjlmNzc1MGVjMzRkNzllZWIxMzNh
Yjk0ODEyZDliNWMyOWE4NzVkMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5oCkBAIC0xMTEsNyAr
MTExLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVucmVnaXN0ZXJPcGVuQ3Vyc29yKExlZ2FjeUN1
cnNvciopOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KLSAgICBib29sIGNhblN1c3Bl
bmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHN0b3AoKSBvdmVy
cmlkZTsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJp
ZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVk
aWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHAKaW5kZXggMjNjMzdiZmEyNTZjOTc0ZTkxNmNmMjVjZDQ5ZjYxN2M4NWQyZmViYS4u
MjRjYjBlNWViN2YyOGRkMmMzMjdkNjFjNTgyZjE3YWM4ZjBhMDNlNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTgxNCw3
ICs4MTQsNyBAQCB2b2lkIE1lZGlhU291cmNlOjpzdG9wKCkKICAgICBtX3ByaXZhdGUgPSBudWxs
cHRyOwogfQogCi1ib29sIE1lZGlhU291cmNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29u
c3QKK2Jvb2wgTWVkaWFTb3VyY2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBj
b25zdAogewogICAgIHJldHVybiBpc0Nsb3NlZCgpICYmICFtX2FzeW5jRXZlbnRRdWV1ZS5oYXNQ
ZW5kaW5nRXZlbnRzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlLmgKaW5kZXggMDU5OWVmMDI1NDA5NmE1ODAxMWJjN2U1MDRlZWNiOTJk
ZjI0N2NjNC4uYTRmNGE1YzMxNGY4YWIwY2NlYWVjZDY5ZWE2OWRmZDc4YTQxZWFmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaApAQCAt
MTE5LDcgKzExOSw3IEBAIHByb3RlY3RlZDoKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEku
CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNh
Y2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBvblJlYWR5U3RhdGVDaGFuZ2UoY29u
c3QgQXRvbWljU3RyaW5nJiBvbGRTdGF0ZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdGF0ZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHAKaW5kZXggYzg2ZTgyMGQ4ZGQ0YTJiNzk4ZGIyZGUwMjQ4N2Q2Yjg3ZmNiZGY2ZC4uOGQ2
NDYxNmUxNTM1NTU1YjJlNGE4YzAyYTUzY2ZiMzFjM2ZlZmYwMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtNTEwLDcg
KzUxMCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzdG9wKCkKICAgICBtX3JlbW92ZVRpbWVyLnN0
b3AoKTsKIH0KIAotYm9vbCBTb3VyY2VCdWZmZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBj
b25zdAorYm9vbCBTb3VyY2VCdWZmZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBjb25zdAogewogICAgIHJldHVybiAhaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAppbmRleCBl
ZGE0Mzk5MjEwNWZiYjU3NmE4YWExYzllOTNhMzdlNzc1NmI2MjU0Li44ZjNkMDM0NjUxODQyMzM3
YjY1MDM4ZTlmNDg2YmI0ZjE2ZGY0ZTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAgLTEzOSw3ICsxMzksNyBAQCBwcml2YXRl
OgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7
CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJv
b2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogCiAg
ICAgLy8gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VC
dWZmZXJQcml2YXRlRGlkRW5kU3RyZWFtKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBjb25zdCBXVEY6
OkF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggZDdhMmE1ZWRiYmU1
N2FjYWVmODk0MzExNTgwMzJiNWJkOGY2ZjY5MS4uNjFkMDZlYTBiOTViOGY3OTE1NDg1NzNhZWY5
ZTE2MmNiMjdjYzRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgY29uc3Qg
Y2hhciogTWVkaWFTdHJlYW1UcmFjazo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAg
cmV0dXJuICJNZWRpYVN0cmVhbVRyYWNrIjsKIH0KIAotYm9vbCBNZWRpYVN0cmVhbVRyYWNrOjpj
YW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgTWVkaWFTdHJlYW1UcmFjazo6Y2Fu
U3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IFdl
IHNob3VsZCB0cnkgYW5kIGRvIGJldHRlciBoZXJlLgogICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmgKaW5kZXggNzJlNzVhNjU4Y2M5Y2UxZThkNDIyYzRlZTAxMjM3OTM3YjRjZTdiYi4uOGQ3OGJk
ZDk2NjgyYmRkODNmMjMyOGNkMzQxYWJlZTk2YTBhOWU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTEwOCw3
ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9p
ZCBzdG9wKCkgb3ZlcnJpZGUgZmluYWw7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VD
YWNoZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogCiAgICAgLy8gRXZlbnRUYXJn
ZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IHJl
ZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmNwcAppbmRleCBjOWUyY2NhYzVjMWE2MzdjYWUyNTJlYWFlMzllMThlZGFhYmQ0
ZTE3Li5hYzJiODRmMDIxMmIyYzhiOWM5MTliZTUwYTlmNWEwMjBlZjZmYTNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
QEAgLTEzOSw3ICsxMzksNyBAQCBjb25zdCBjaGFyKiBSVENEVE1GU2VuZGVyOjphY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIlJUQ0RUTUZTZW5kZXIiOwogfQogCi1ib29s
IFJUQ0RUTUZTZW5kZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBSVENE
VE1GU2VuZGVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAg
ICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyeSBhbmQgZG8gYmV0dGVyIGhlcmUuCiAgICAgcmV0dXJu
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEVE1GU2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RU
TUZTZW5kZXIuaAppbmRleCBhYTVkZGE5MWJiOGY0OTQ1NmZhN2RlOGJmZTRmZmFmYTZmMDM1NjMy
Li45OTkyY2UwNmJiYmJlZjJhNzExYWY0NmYzZDA4ZmQ0NTMzMmMzZDA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaApAQCAtNjks
NyArNjksNyBAQCBwcml2YXRlOgogICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIHZvaWQgc3Rv
cCgpIG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVy
cmlkZTsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBv
dmVycmlkZTsKIAogICAgIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEV2ZW50KFJlZjxFdmVudD4mJik7
CiAgICAgdm9pZCBzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKaW5k
ZXggMWNjNjZhMjE5OGJjMTViYTZiMGEyZWZmNjlkOWY1OTkwYzQzNzMyNy4uMDM1MmIwMTE2Yzcw
ZDdiZWYyODM1NWMyNzJmNTlhNTA5YTE2NDM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKQEAgLTM5OCw3
ICszOTgsNyBAQCBjb25zdCBjaGFyKiBSVENQZWVyQ29ubmVjdGlvbjo6YWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJSVENQZWVyQ29ubmVjdGlvbiI7CiB9CiAKLWJvb2wg
UlRDUGVlckNvbm5lY3Rpb246OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBS
VENQZWVyQ29ubmVjdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0
CiB7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cnkgYW5kIGRvIGJldHRlciBoZXJlLgogICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaAppbmRleCBkZWEyY2NjMTFhMDRiZjU4NGUzZTYwMDU4
NGIzMDNhZDkzODljMDUwLi5hNGY5MDI1ZWFlYzZiYTc5MDlhM2FhMjE1MjliOTNiNmUxZjJiNGY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi5oCkBAIC0xMTcsNyArMTE3LDcgQEAgcHJpdmF0ZToKICAgICAvLyBBY3Rp
dmVET01PYmplY3QKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKICAgICBjb25zdCBjaGFyKiBh
Y3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5k
Rm9yUGFnZUNhY2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICAvLyBQZWVyQ29ubmVjdGlv
bkJhY2tlbmRDbGllbnQKICAgICB2b2lkIHNldFNpZ25hbGluZ1N0YXRlKFBlZXJDb25uZWN0aW9u
U3RhdGVzOjpTaWduYWxpbmdTdGF0ZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9u
cy5jcHAKaW5kZXggYmQyYTFhMzA5M2YyN2M1YjM3MTAzZjZlOWU4OGUyZmRhZWQ4NTY0NC4uODNi
OTlhZWY4YWFmMjM5YjVkOWRlOGUyOWFkYTk3OWVjY2U2ZWQ1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3Rp
ZmljYXRpb25zLmNwcApAQCAtNjgsMTUgKzY4LDE1IEBAIE5vdGlmaWNhdGlvbkNlbnRlciogRE9N
V2luZG93Tm90aWZpY2F0aW9uczo6d2Via2l0Tm90aWZpY2F0aW9ucyhET01XaW5kb3cqIHdpbmRv
CiAgICAgcmV0dXJuIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmZyb20od2luZG93KS0+d2Via2l0
Tm90aWZpY2F0aW9ucygpOwogfQogCi12b2lkIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmRpc2Nv
bm5lY3RGcmFtZUZvclBhZ2VDYWNoZSgpCit2b2lkIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmRp
c2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpCiB7CiAgICAgbV9zdXNwZW5kZWRO
b3RpZmljYXRpb25DZW50ZXIgPSBtX25vdGlmaWNhdGlvbkNlbnRlci5yZWxlYXNlKCk7Ci0gICAg
RE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5lY3RGcmFtZUZvclBhZ2VDYWNoZSgpOworICAgIERP
TVdpbmRvd1Byb3BlcnR5OjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKTsK
IH0KIAotdm9pZCBET01XaW5kb3dOb3RpZmljYXRpb25zOjpyZWNvbm5lY3RGcmFtZUZyb21QYWdl
Q2FjaGUoRnJhbWUqIGZyYW1lKQordm9pZCBET01XaW5kb3dOb3RpZmljYXRpb25zOjpyZWNvbm5l
Y3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJhbWUqIGZyYW1lKQogewotICAgIERPTVdp
bmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUoZnJhbWUpOworICAgIERP
TVdpbmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oZnJh
bWUpOwogICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gbV9zdXNwZW5kZWROb3RpZmljYXRpb25D
ZW50ZXIucmVsZWFzZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaAppbmRleCA3ZTk5
NzI4MGIwYjg3ODI3NGY4ZTkwMDk2M2UyMGQ0MmM3NjA2NzFhLi5lOWQxYmZlMTQyNjg3NjQ4OTNi
ZDkxY2IxM2E3YzFkYTQwZjUzMDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmgKQEAgLTQ2
LDggKzQ2LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtp
dE5vdGlmaWNhdGlvbnMoRE9NV2luZG93Kik7CiAgICAgc3RhdGljIERPTVdpbmRvd05vdGlmaWNh
dGlvbnMqIGZyb20oRE9NV2luZG93Kik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZy
YW1lRm9yUGFnZUNhY2hlKCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHJlY29ubmVjdEZy
YW1lRnJvbVBhZ2VDYWNoZShGcmFtZSopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNj
b25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgcmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKEZyYW1lKikgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95R2xvYmFsT2JqZWN0SW5DYWNoZWRGcmFt
ZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUdsb2JhbE9iamVjdElu
RnJhbWUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERldGFjaEdsb2JhbE9iamVj
dEZyb21GcmFtZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCA4ZjcwZmUxMzQ1MTA5YjVlMjQx
NmUzNWUxNTUwYTcxODU1NTE5NmZlLi5iZmVhYWI5ZThjOWZiNmQ0NDc4MTNmYmRmMTQxODgwNmJm
NDgyM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmNwcApAQCAtMTc1LDcgKzE3NSw3IEBAIGNvbnN0IGNoYXIqIE5vdGlm
aWNhdGlvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJOb3RpZmlj
YXRpb24iOwogfQogCi1ib29sIE5vdGlmaWNhdGlvbjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgp
IGNvbnN0Citib29sIE5vdGlmaWNhdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bigpIGNvbnN0CiB7CiAgICAgLy8gV2UgY2FuIHN1c3BlbmQgaWYgdGhlIE5vdGlmaWNhdGlvbiBp
cyBub3Qgc2hvd24geWV0IG9yIGFmdGVyIGl0IGlzIGNsb3NlZC4KICAgICByZXR1cm4gbV9zdGF0
ZSA9PSBJZGxlIHx8IG1fc3RhdGUgPT0gQ2xvc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGRiNjkzMzkzZmViOTE1
Y2M1OGEwOTk0YWU4NzJhM2E2YzhlNjZiZGUuLjNjNGQ0NmIzMWM4ZDA0ZDc0ZjI3NzU1MGZiMWFk
ZjM4YTIyMmE4YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTE0MCw3ICsxNDAsNyBAQCBwcml2YXRlOgogICAgIC8v
IEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBjb250ZXh0RGVzdHJveWVkKCkgb3ZlcnJp
ZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRl
OwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAg
IGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwog
CiAgICAgLy8gRXZlbnRUYXJnZXQgQVBJLgogICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdl
dCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggMThiMDA5
M2FmYjQzMjNkYTViNDM1MTY3NmRmYTk0ZDI2ZmFlZWZkNy4uYzdmMDZkMTM5YjE5M2JhMzFlODYx
ZTY0MzQ1NWYyM2MyM2I5ZDE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTEzNyw3ICsx
MzcsNyBAQCBjb25zdCBjaGFyKiBOb3RpZmljYXRpb25DZW50ZXI6OmFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdAogICAgIHJldHVybiAiTm90aWZpY2F0aW9uQ2VudGVyIjsKIH0KIAotYm9vbCBO
b3RpZmljYXRpb25DZW50ZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBO
b3RpZmljYXRpb25DZW50ZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25z
dAogewogICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgTm90aWZpY2F0aW9ucyBi
ZWNhdXNlIHRob3NlIGFyZSBBY3RpdmVET01PYmplY3QgdG9vLgogICAgIC8vIFRoZSBOb3RpZmlj
YXRpb25DZW50ZXIgY2FuIHNhZmVseSBiZSBzdXNwZW5kZWQgaWYgdGhlcmUgYXJlIG5vIHBlbmRp
bmcgcGVybWlzc2lvbiByZXF1ZXN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAppbmRleCAzNTgxZjQ1MWEx
YWMwM2FiNTE4M2NkMjQzYzAxNDI2N2E3YmQzMDBlLi5mZmVjOWFiZDRiYTcyMTYxZjIyZDViMzUz
Y2IyNmM3MWI1ZjE0YmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCkBAIC02NSw3ICs2NSw3IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKICAgICBjb25zdCBjaGFyKiBhY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9y
UGFnZUNhY2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1l
bnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHRpbWVyRmlyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3Bw
CmluZGV4IDQwYTQwYjE5ZmE3OTIxMDJmY2RiMDk0MzlkZDJjNTAwYmU0NmM0MzAuLjE5Y2Y3Y2Nk
NjYwYmU4ZTAwZDY0MzQwMDUzZjMwMWQ1ZGRmNmI5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTM1NSw3ICszNTUsNyBAQCB2
b2lkIEF1ZGlvQ29udGV4dDo6c3RvcCgpCiAgICAgfSk7CiB9CiAKLWJvb2wgQXVkaW9Db250ZXh0
OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgQXVkaW9Db250ZXh0OjpjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIGJlIGFibGUgdG8gc3VzcGVuZCB3aGlsZSByZW5kZXJpbmcgYXMgd2VsbCB3aXRoIHNv
bWUgbW9yZSBjb2RlLgogICAgIHJldHVybiBtX3N0YXRlID09IFN0YXRlOjpTdXNwZW5kZWQgfHwg
bV9zdGF0ZSA9PSBTdGF0ZTo6Q2xvc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmgKaW5kZXggMzdiYWM0OWZiOWY1YjcwMGRmMjZjMTRhOWQxODYz
OTg1Y2YzMzQzZi4uMTUzMTE1MTdmYzBiYjk5YWI4MDdhZmI4NzhkNTk4NzAyZjAwOWExNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0z
MDgsNyArMzA4LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAg
ICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNhY2hl
KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5z
aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgLy8gV2hlbiB0aGUgY29udGV4dCBnb2VzIGF3YXks
IHRoZXJlIG1pZ2h0IHN0aWxsIGJlIHNvbWUgc291cmNlcyB3aGljaCBoYXZlbid0IGZpbmlzaGVk
IHBsYXlpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlQ29udGV4dC5jcHAKaW5kZXggNjAzMGNjMWFlNWZiMDRkMjg1MmIzNmE2NGE5ZmEz
NzRjZGY1ZjI4MC4uNDJiZTkxYjE1NGU0MWVhYzc1YWNkMzJmNTE2M2M1NmQ4NWY5ZTc4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VD
b250ZXh0LmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgRGF0YWJhc2VDb250ZXh0OjpzdG9w
KCkKICAgICBzdG9wRGF0YWJhc2VzKCk7CiB9CiAKLWJvb2wgRGF0YWJhc2VDb250ZXh0OjpjYW5T
dXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgRGF0YWJhc2VDb250ZXh0OjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICBpZiAoIWhhc09wZW5EYXRh
YmFzZXMoKSB8fCAhbV9kYXRhYmFzZVRocmVhZCkKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNvbnRleHQu
aAppbmRleCA1NGQ1NGUwMjRkYTViMDU1MGNiYzI3ZjEyYmYzZDM1NDhhNDU3OTJiLi5kNWI5MTJj
ZjI0NmNkYThkNTVkOTFmMTdmNTMzYjNmZTlkN2I5MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmgKQEAgLTcxLDcgKzcx
LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY29udGV4dERlc3Ryb3llZCgpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNo
ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVu
c2lvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiRGF0YWJhc2VDb250ZXh0IjsgfQogCiAgICAg
UmVmUHRyPERhdGFiYXNlVGhyZWFkPiBtX2RhdGFiYXNlVGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCA0MWViMTA5ZTdiZWJk
OGJlZjFiOTZlODY0NTI2MjU1NjM5MjUxZGMxLi4wZjQ3NjgxNWM1NDFiMGMxMzkzY2M4MTIxNTYw
NTY2NzY4ZjNhNmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcApAQCAtNDc1LDcgKzQ3NSw3IEBAIHZvaWQgV2ViU29ja2V0Ojpjb250ZXh0
RGVzdHJveWVkKCkKICAgICBBY3RpdmVET01PYmplY3Q6OmNvbnRleHREZXN0cm95ZWQoKTsKIH0K
IAotYm9vbCBXZWJTb2NrZXQ6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBX
ZWJTb2NrZXQ6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAg
IHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5oCmluZGV4IDEyMDA0NTQ0MDJjOWZmNDFhOWE1MzgwZTYxNjE4NDdmOTY5NGI4NmUu
LmUwN2Y0MDg1MTE4ZDdhMzUwY2ZhNTEyMzJlMTNlY2E4YjNiM2RiODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmgKQEAgLTExNSw3ICsxMTUsNyBA
QCBwcml2YXRlOgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KICAgICB2b2lkIGNvbnRl
eHREZXN0cm95ZWQoKSBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JQYWdlQ2FjaGUo
KSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNp
b24oKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lv
bikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXN1bWUoKSBvdmVycmlkZTsKICAgICB2b2lkIHN0b3Ao
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA4ODEyZjNlMTZiYWIzY2RmZjhlNjA2ODlhN2U0YTY4MThhODM5MDQ3
Li4wZDIwZTYwZjJjODVhYTAwNzBjMGE0OGE3ZjUyZmYxNTQ3MGQ5MTVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03OTI3LDcg
Kzc5MjcsNyBAQAogCQkxNDQ3NkFBNzE1REM0QkIxMDAzMDVEQjIgLyogV3JpdGluZ01vZGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV3JpdGluZ01vZGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQ0OUUyNEExMDdENEE4NDAwQjU3OTNGIC8qIEpTQ2FsbGJh
Y2tEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ2FsbGJhY2tEYXRh
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0NDlFMjg2MTA3RDREQjQwMEI1Nzkz
RiAvKiBKU0NhbGxiYWNrRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0NhbGxiYWNrRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTE0
NzdFNzc0MEJGNDEzNEEwMDE1Mjg3MiAvKiBQYWdlQ2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhZ2VDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTE0NzdFNzc0MEJGNDEzNEEwMDE1Mjg3MiAvKiBQYWdlQ2FjaGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBQYWdlQ2Fj
aGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklk
ZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKIAkJMTQ3N0U3NzUwQkY0MTM0QTAwMTUyODcy
IC8qIFBhZ2VDYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFnZUNh
Y2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0NzlGQUU1MTA5QUUzNzUwMERF
RDY1NSAvKiBSZW5kZXJSdWJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlclJ1YnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDc5RkFF
NjEwOUFFMzc1MDBERUQ2NTUgLyogUmVuZGVyUnVieS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZW5kZXJSdWJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NDE0OCw4ICsxNDE0OCw4IEBACiAJCUUxMEI5Q0NBMEI3NDdBNDQwMDNFRDg5MCAvKiBET01DdXN0
b21YUGF0aE5TUmVzb2x2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
MEI5Q0NCMEI3NDdBNDQwMDNFRDg5MCAvKiBET01DdXN0b21YUGF0aE5TUmVzb2x2ZXIubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01DdXN0b21YUGF0aE5TUmVz
b2x2ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxMUFGMTUwMTFCOUExQTMw
MDgwNTEwMyAvKiBDdXJzb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQ3Vyc29yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTExQzlEOUEwRUIz
NjgxMjAwRTQwOURCIC8qIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlFMTFDOURBRjBFQjM2OTk1MDBFNDA5REIgLyogU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTEx
QzlEOUEwRUIzNjgxMjAwRTQwOURCIC8qIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRp
b25JZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CisJCUUxMUM5REFGMEVCMzY5OTUw
MEU0MDlEQiAvKiBTY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVu
dGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CiAJCUUxMjMzRjBBMTg1QTNFM0IwMDhERkFGNSAv
KiBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTIzM0YwQjE4NUEzRTNCMDA4REZBRjUgLyog
Q3J5cHRvQWxnb3JpdGhtUlNBRVNfUEtDUzFfdjFfNS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDcnlwdG9BbGdvcml0aG1SU0FFU19QS0NTMV92MV81Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUxMjMzRjBFMTg1QTQxMzAwMDhERkFGNSAvKiBDcnlwdG9BbGdv
cml0aG1SU0FFU19QS0NTMV92MV81TWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobVJTQUVTX1BLQ1MxX3YxXzVNYWMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuY3BwCmluZGV4IGM5MDc0
NjA1YTNlNjA5NTgwZjk5MmFhNjFmN2Q1ZTNmMDU4ZGI1NWYuLjkzM2I0YTM4MjQwYzBhYjI0YWQz
NjJjZDEwNGU1ZTkzYTQzMGZiN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udExvYWRlci5jcHAKQEAgLTE2
MSw3ICsxNjEsNyBAQCBjb25zdCBjaGFyKiBGb250TG9hZGVyOjphY3RpdmVET01PYmplY3ROYW1l
KCkgY29uc3QKICAgICByZXR1cm4gIkZvbnRMb2FkZXIiOwogfQogCi1ib29sIEZvbnRMb2FkZXI6
OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBGb250TG9hZGVyOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gIW1fbnVtTG9h
ZGluZ0Zyb21DU1MgJiYgIW1fbnVtTG9hZGluZ0Zyb21KUzsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udExvYWRl
ci5oCmluZGV4IDMzNDQ1OTRlNjE4OTIwYzA5N2VlMDFiZWRmYzYxMWFiYTkxMDZkNmQuLmUxMDA4
ZmFlZjQ2YjA4MDhiZTVlNzMwNWUxMzFhYjU5NWRkYzA3MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2Fk
ZXIuaApAQCAtODksNyArODksNyBAQCBwcml2YXRlOgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0
IEFQSS4KICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJp
ZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7
CiAKICAgICB2b2lkIHNjaGVkdWxlRXZlbnQoUGFzc1JlZlB0cjxFdmVudD4pOwogICAgIHZvaWQg
ZmlyZVBlbmRpbmdFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BY3Rp
dmVET01PYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAK
aW5kZXggYmQyN2NhY2MxOWFiOWVmYzI0NmIzNzRhZTgyNzhlMjk3NWFiYmM1Mi4uZDZjZmUyOTcx
YTZlMmI0NTA5MDRkMjU1YjA0YzU0NGMyOTkwMWE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0FjdGl2ZURPTU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2
ZURPTU9iamVjdC5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgYm9vbCBBY3RpdmVET01PYmplY3Q6Omhh
c1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGVuZGluZ0FjdGl2aXR5Q291
bnQ7CiB9CiAKLWJvb2wgQWN0aXZlRE9NT2JqZWN0OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkg
Y29uc3QKK2Jvb2wgQWN0aXZlRE9NT2JqZWN0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5z
aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQWN0aXZlRE9NT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZl
RE9NT2JqZWN0LmgKaW5kZXggNDYzYzk4YmIxYjFlZDJhMmI1Zjc2NzJlY2Q0NDhjODI3MjUwZjBk
Zi4uZmIxYzA0ZWVjYzg0NDY5MTY4ZjcwY2VlM2NjNDc2ODgxODcxYTFhNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BY3RpdmVET01PYmplY3QuaApAQCAtNDIsMTEgKzQyLDExIEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdDsKIAotICAgIC8vIFRoZSBj
YW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgZnVuY3Rpb24gaXMgdXNlZCBieSB0aGUgY2FsbGVyIGlm
IHRoZXJlIGlzIGEgY2hvaWNlIGJldHdlZW4gc3VzcGVuZGluZworICAgIC8vIFRoZSBjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgZnVuY3Rpb24gaXMgdXNlZCBieSB0aGUgY2FsbGVy
IGlmIHRoZXJlIGlzIGEgY2hvaWNlIGJldHdlZW4gc3VzcGVuZGluZwogICAgIC8vIGFuZCBzdG9w
cGluZy4gRm9yIGV4YW1wbGUsIGEgcGFnZSB3b24ndCBiZSBzdXNwZW5kZWQgYW5kIHBsYWNlZCBp
biB0aGUgYmFjay9mb3J3YXJkCiAgICAgLy8gY2FjaGUgaWYgaXQgY29udGFpbnMgYW55IG9iamVj
dHMgdGhhdCBjYW5ub3QgYmUgc3VzcGVuZGVkLgogCi0gICAgLy8gSG93ZXZlciwgdGhlIHN1c3Bl
bmQgZnVuY3Rpb24gd2lsbCBzb21ldGltZXMgYmUgY2FsbGVkIGV2ZW4gaWYgY2FuU3VzcGVuZEZv
clBhZ2VDYWNoZSgpIHJldHVybnMgZmFsc2UuCisgICAgLy8gSG93ZXZlciwgdGhlIHN1c3BlbmQg
ZnVuY3Rpb24gd2lsbCBzb21ldGltZXMgYmUgY2FsbGVkIGV2ZW4gaWYgY2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbigpIHJldHVybnMgZmFsc2UuCiAgICAgLy8gVGhhdCBoYXBwZW5zIGlu
IHN0ZXAtYnktc3RlcCBKUyBkZWJ1Z2dpbmcgZm9yIGV4YW1wbGUgLSBpbiB0aGlzIGNhc2UgaXQg
d291bGQgYmUgaW5jb3JyZWN0CiAgICAgLy8gdG8gc3RvcCB0aGUgb2JqZWN0LiBFeGFjdCBzZW1h
bnRpY3Mgb2Ygc3VzcGVuZCBpcyB1cCB0byB0aGUgb2JqZWN0IGluIGNhc2VzIGxpa2UgdGhhdC4K
IApAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBUaGVzZSB0aHJlZSBmdW5jdGlv
bnMgbXVzdCBub3QgaGF2ZSBhIHNpZGUgZWZmZWN0IG9mIGNyZWF0aW5nIG9yIGRlc3Ryb3lpbmcK
ICAgICAvLyBhbnkgQWN0aXZlRE9NT2JqZWN0LiBUaGF0IG1lYW5zIHRoZXkgbXVzdCBub3QgcmVz
dWx0IGluIGNhbGxzIHRvIGFyYml0cmFyeSBKYXZhU2NyaXB0LgotICAgIHZpcnR1YWwgYm9vbCBj
YW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QgPSAwOyAvLyBSZXR1cm5pbmcgZmFsc2UgaW4g
Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIHdpbGwgcHJldmVudCB0aGUgcGFnZSBmcm9tIGVudGVy
aW5nIHRoZSBQYWdlQ2FjaGUuCisgICAgdmlydHVhbCBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKSBjb25zdCA9IDA7IC8vIFJldHVybmluZyBmYWxzZSBpbiBjYW5TdXNwZW5k
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgd2lsbCBwcmV2ZW50IHRoZSBwYWdlIGZyb20gZW50ZXJp
bmcgdGhlIFBhZ2VDYWNoZS4KICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNw
ZW5zaW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDUxOWZmYjAzZGJmYTI0NWQ4NjNiNTEwMWRiZTVmNzEzZDAwZDM0NTguLjRjOWUz
Njk0YTEwN2M4N2NkOGQ3OGMyMWZiOTI3ZTVlZWFlYzFjMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNjA0LDcgKzYwNCw3IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogCiAgICAgLy8g
RklYTUU6IFNob3VsZCB3ZSByZXNldCBtX2RvbVdpbmRvdyB3aGVuIHdlIGRldGFjaCBmcm9tIHRo
ZSBGcmFtZT8KICAgICBpZiAobV9kb21XaW5kb3cpCi0gICAgICAgIG1fZG9tV2luZG93LT5yZXNl
dFVubGVzc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSgpOworICAgICAgICBtX2RvbVdpbmRvdy0+cmVz
ZXRVbmxlc3NTdXNwZW5kZWRGb3JEb2N1bWVudFN1c3BlbnNpb24oKTsKIAogICAgIG1fc2NyaXB0
UnVubmVyID0gbnVsbHB0cjsKICAgICBtX21vZHVsZUxvYWRlciA9IG51bGxwdHI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggZjA1MmQ4NmVi
NTQ1MGMyNzAzOGJkNTRjZGRkNTZjOGM4NWQwOTlmNy4uMzY2ZTE2ZTlmZGFjMDNlYjUzMWQ4MjU0
YzBhNzc4YWE1ZTc3ZjlhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmNwcApAQCAtMTc2LDcgKzE3Niw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6ZGlkTG9hZFJlc291cmNlU3luY2hyb25vdXNseShjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
CiB7CiB9CiAKLWJvb2wgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y2FuU3VzcGVuZEFjdGl2ZURP
TU9iamVjdHNGb3JQYWdlQ2FjaGUoVmVjdG9yPEFjdGl2ZURPTU9iamVjdCo+KiB1bnN1c3BlbmRh
YmxlT2JqZWN0cykKK2Jvb2wgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y2FuU3VzcGVuZEFjdGl2
ZURPTU9iamVjdHNGb3JEb2N1bWVudFN1c3BlbnNpb24oVmVjdG9yPEFjdGl2ZURPTU9iamVjdCo+
KiB1bnN1c3BlbmRhYmxlT2JqZWN0cykKIHsKICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CiAKQEAg
LTE5Myw3ICsxOTMsNyBAQCBib29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNhblN1c3BlbmRB
Y3RpdmVET01PYmplY3RzRm9yUGFnZUNhY2hlKFZlY3RvcjxBY3RpdgogICAgIC8vIGNhblN1c3Bl
bmQgZnVuY3Rpb25zIHNvIGl0IHdpbGwgbm90IGhhcHBlbiEKICAgICBOb0V2ZW50RGlzcGF0Y2hB
c3NlcnRpb24gYXNzZXJ0Tm9FdmVudERpc3BhdGNoOwogICAgIGZvciAoYXV0byogYWN0aXZlRE9N
T2JqZWN0IDogbV9hY3RpdmVET01PYmplY3RzKSB7Ci0gICAgICAgIGlmICghYWN0aXZlRE9NT2Jq
ZWN0LT5jYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkpIHsKKyAgICAgICAgaWYgKCFhY3RpdmVET01P
YmplY3QtPmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSkgewogICAgICAgICAgICAg
Y2FuU3VzcGVuZCA9IGZhbHNlOwogICAgICAgICAgICAgaWYgKHVuc3VzcGVuZGFibGVPYmplY3Rz
KQogICAgICAgICAgICAgICAgIHVuc3VzcGVuZGFibGVPYmplY3RzLT5hcHBlbmQoYWN0aXZlRE9N
T2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmlu
ZGV4IDE0MDMwZjgyYjE1YWNhYjA4YjNmOWE0MDdkNTYzZThjZmNhODhhN2QuLjlkMDA1OGNiM2Ez
MjMzNjA5YWE4NmVlZDdlMWZkMWYwOGU1ODZjNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtODUsOSArODUsOSBAQCBwdWJsaWM6CiAgICAgUHVi
bGljVVJMTWFuYWdlciYgcHVibGljVVJMTWFuYWdlcigpOwogCiAgICAgLy8gQWN0aXZlIG9iamVj
dHMgYXJlIG5vdCBnYXJiYWdlIGNvbGxlY3RlZCBldmVuIGlmIGluYWNjZXNzaWJsZSwgZS5nLiBi
ZWNhdXNlIHRoZWlyIGFjdGl2aXR5IG1heSByZXN1bHQgaW4gY2FsbGJhY2tzIGJlaW5nIGludm9r
ZWQuCi0gICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjYW5TdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0Zv
clBhZ2VDYWNoZShWZWN0b3I8QWN0aXZlRE9NT2JqZWN0Kj4qIHVuc3VzcGVuZGFibGVPYmplY3Rz
ID0gbnVsbHB0cik7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjYW5TdXNwZW5kQWN0aXZlRE9N
T2JqZWN0c0ZvckRvY3VtZW50U3VzcGVuc2lvbihWZWN0b3I8QWN0aXZlRE9NT2JqZWN0Kj4qIHVu
c3VzcGVuZGFibGVPYmplY3RzID0gbnVsbHB0cik7CiAKLSAgICAvLyBBY3RpdmUgb2JqZWN0cyBj
YW4gYmUgYXNrZWQgdG8gc3VzcGVuZCBldmVuIGlmIGNhblN1c3BlbmRBY3RpdmVET01PYmplY3Rz
Rm9yUGFnZUNhY2hlKCkgcmV0dXJucyAnZmFsc2UnIC0KKyAgICAvLyBBY3RpdmUgb2JqZWN0cyBj
YW4gYmUgYXNrZWQgdG8gc3VzcGVuZCBldmVuIGlmIGNhblN1c3BlbmRBY3RpdmVET01PYmplY3Rz
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgcmV0dXJucyAnZmFsc2UnIC0KICAgICAvLyBzdGVwLWJ5
LXN0ZXAgSlMgZGVidWdnaW5nIGlzIG9uZSBleGFtcGxlLgogICAgIHZpcnR1YWwgdm9pZCBzdXNw
ZW5kQWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6OlJlYXNvbkZvclN1c3BlbnNpb24p
OwogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVj
dDo6UmVhc29uRm9yU3VzcGVuc2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGVSZWFkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmNw
cAppbmRleCBhMDcxMDE4NWQ0YTg5ZTRjNmJiYTk3Y2NlZTMzMWNlNjRmNjQ0ODk1Li4xZDlhMDk1
ODQ5OGI3ZWQ4NWQxNDg0OTU3N2EwMzdjMjMzM2VmMjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVJlYWRlci5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgRmlsZVJlYWRlcjo6fkZpbGVSZWFkZXIo
KQogICAgIHRlcm1pbmF0ZSgpOwogfQogCi1ib29sIEZpbGVSZWFkZXI6OmNhblN1c3BlbmRGb3JQ
YWdlQ2FjaGUoKSBjb25zdAorYm9vbCBGaWxlUmVhZGVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRT
dXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogSXQgaXMgbm90IGN1cnJlbnRseSBw
b3NzaWJsZSB0byBzdXNwZW5kIGEgRmlsZVJlYWRlciwgc28gcGFnZXMgd2l0aCBGaWxlUmVhZGVy
IGNhbiBub3QgZ28gaW50byBwYWdlIGNhY2hlLgogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyLmgKaW5kZXggOThjY2Y2MmUyNjlhMGU5OTkxZjJkZWViNjk5OTE1
MjA4MDEzOGIwNy4uMjdmNGI2MTEyODk5ZmMzYWNkYTVmZGYyZDBhNjEzOTY1MjQ2YjU3NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHJpdmF0ZToK
IAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9N
T2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VD
YWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3Vz
cGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwogCiAg
ICAgLy8gRXZlbnRUYXJnZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2Fj
aGVkRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKaW5k
ZXggNDVlNjRiYWU4ZWM1YWQ0YzBmNmYyYjNhMGYxZjZhNjgxOTgwZmY1MC4uMjYwZmRiMzgyYWUz
NWVjMWNkZGI1MDUwMTc3NTYxMWViOTkzYWQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNo
ZWRGcmFtZS5jcHAKQEAgLTE3MCw3ICsxNzAsNyBAQCBDYWNoZWRGcmFtZTo6Q2FjaGVkRnJhbWUo
RnJhbWUmIGZyYW1lKQogICAgIG1fZG9jdW1lbnQtPnN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFj
dGl2ZURPTU9iamVjdDo6UGFnZUNhY2hlKTsKICAgICBtX2NhY2hlZEZyYW1lU2NyaXB0RGF0YSA9
IHN0ZDo6bWFrZV91bmlxdWU8U2NyaXB0Q2FjaGVkRnJhbWVEYXRhPihmcmFtZSk7CiAKLSAgICBt
X2RvY3VtZW50LT5kb21XaW5kb3coKS0+c3VzcGVuZEZvclBhZ2VDYWNoZSgpOworICAgIG1fZG9j
dW1lbnQtPmRvbVdpbmRvdygpLT5zdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCk7CiAKICAg
ICBmcmFtZS5sb2FkZXIoKS5jbGllbnQoKS5zYXZlUGxhdGZvcm1EYXRhVG9DYWNoZWRGcmFtZSh0
aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCmluZGV4IGI4NTQzMDIzMDZk
YmI5OTc4YjdiNDI4MWIyMDMyMWFhMmRjN2JkOTEuLjUyM2NiMTA1YjI4OWE1ZDgzOTFlYTYzNWQ3
MTIyODhiNGE4NzgyMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNh
Y2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKQEAgLTE0
OSw3ICsxNDksNyBAQCBzdGF0aWMgYm9vbCBjYW5DYWNoZUZyYW1lKEZyYW1lJiBmcmFtZSwgRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQmIGRpYWdub3N0aWNMb2dnaQogICAgIH0KIAogICAgIFZlY3Rv
cjxBY3RpdmVET01PYmplY3QqPiB1bnN1c3BlbmRhYmxlT2JqZWN0czsKLSAgICBpZiAoIWZyYW1l
LmRvY3VtZW50KCktPmNhblN1c3BlbmRBY3RpdmVET01PYmplY3RzRm9yUGFnZUNhY2hlKCZ1bnN1
c3BlbmRhYmxlT2JqZWN0cykpIHsKKyAgICBpZiAoIWZyYW1lLmRvY3VtZW50KCktPmNhblN1c3Bl
bmRBY3RpdmVET01PYmplY3RzRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCZ1bnN1c3BlbmRhYmxlT2Jq
ZWN0cykpIHsKICAgICAgICAgUENMT0coIiAgIC1UaGUgZG9jdW1lbnQgY2Fubm90IHN1c3BlbmQg
aXRzIGFjdGl2ZSBET00gT2JqZWN0cyIpOwogICAgICAgICBmb3IgKGF1dG8qIGFjdGl2ZURPTU9i
amVjdCA6IHVuc3VzcGVuZGFibGVPYmplY3RzKSB7CiAgICAgICAgICAgICBQQ0xPRygiICAgIC0g
VW5zdXNwZW5kYWJsZTogIiwgYWN0aXZlRE9NT2JqZWN0LT5hY3RpdmVET01PYmplY3ROYW1lKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuY3BwCmluZGV4IDIzZmZi
YjAwMWU5NGJjZDNkYTkwMDlhODQ5N2ZhMWI2YjQzMWU5MTkuLjk5NThiYTFiMzM5NjMyYWU2MWNh
ZDc2ZmI2ZGM5ZTVlYTM0Zjc4ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1hcnF1ZWVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXJxdWVl
RWxlbWVudC5jcHAKQEAgLTE2Niw3ICsxNjYsNyBAQCB2b2lkIEhUTUxNYXJxdWVlRWxlbWVudDo6
c2V0TG9vcChpbnQgbG9vcCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgICAgIHNldEludGVncmFs
QXR0cmlidXRlKGxvb3BBdHRyLCBsb29wKTsKIH0KIAotYm9vbCBIVE1MTWFycXVlZUVsZW1lbnQ6
OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBIVE1MTWFycXVlZUVsZW1lbnQ6
OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIHJldHVybiB0
cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmgKaW5kZXggZWJh
M2Y3OWQ5MTI5N2RkYmFjNjljM2E0ZjU3ZTUyYjJkMjc4NDcwOC4uMzk0YTE2M2I1MzA2ZDYxODQ5
YzlkNjExNjkzNjgwZmMzMWRjZGY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWFycXVlZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXJxdWVl
RWxlbWVudC5oCkBAIC01Nyw3ICs1Nyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNv
bGxlY3RTdHlsZUZvclByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
Y29uc3QgQXRvbWljU3RyaW5nJiwgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYpIG92ZXJyaWRlOwog
CiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0Ci0gICAgdmlydHVhbCBib29sIGNhblN1c3BlbmRGb3JQ
YWdlQ2FjaGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBz
dXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBy
ZXN1bWUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiSFRNTE1hcnF1ZWVFbGVtZW50IjsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNGRhZjRhNmVlZDQ3
N2FmZTgwOWI0YTBiOTQ2NGQ3MDVjMjc2NWM5Zi4uZTBjZGI4OTBhNDE4YTQyZTRkN2NlMTZlNjRl
OWI0MWM2OGMyOTc2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC00OTQ2LDcgKzQ5NDYsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNsZWFyTWVkaWFQ
bGF5ZXIoaW50IGZsYWdzKQogICAgIHVwZGF0ZVNsZWVwRGlzYWJsaW5nKCk7CiB9CiAKLWJvb2wg
SFRNTE1lZGlhRWxlbWVudDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIEhU
TUxNZWRpYUVsZW1lbnQ6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAog
ewogICAgIHJldHVybiB0cnVlOyAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmgKaW5kZXggZDRlMzhkMDAyMmFmNGEyMWI0ODUwNTg2NmUzN2FmYWM1NDBkYzRkNC4uZDRjYzc5
NjQ4ZmJlMzEwODZmN2U0MDVhNzU1ZWQ0YWY3MGY0NTVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKQEAgLTUwNCw3ICs1MDQsNyBAQCBwcml2YXRlOgogCiAgICAgLy8g
QWN0aXZlRE9NT2JqZWN0IEFQSS4KICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1l
KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29u
c3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIG92
ZXJyaWRlOwogICAgIHZvaWQgcmVzdW1lKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdG9wKCkgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IDI5
MzFjZTBkMzEyMjJhMzc4N2QyOTI0ZDk5MjgyZDE4MmNlZjExYjQuLjFmZWM0ZmVmZTY0YmZlNjVk
ZjA2ZGM4NjM0NzY1N2NiNzUzMzY2NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJj
ZUVsZW1lbnQuY3BwCkBAIC0xMjksNyArMTI5LDcgQEAgY29uc3QgY2hhciogSFRNTFNvdXJjZUVs
ZW1lbnQ6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiSFRNTFNvdXJj
ZUVsZW1lbnQiOwogfQogCi1ib29sIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5TdXNwZW5kRm9yUGFn
ZUNhY2hlKCkgY29uc3QKK2Jvb2wgSFRNTFNvdXJjZUVsZW1lbnQ6OmNhblN1c3BlbmRGb3JEb2N1
bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oCmluZGV4IGYzNzNmYjk5ODBhZDkxMTE2Njg2NjAw
MDBlZTM2YjhjODRiNTFmYjYuLjVlYWYxMzVhZGUxZmFlZmM5OTI1NzM0YjUyYmU5NjE1ZDE3ZDlj
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKQEAgLTU0LDcgKzU0
LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdC4KICAgICBjb25zdCBjaGFy
KiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNw
ZW5kRm9yUGFnZUNhY2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9y
RG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdXNwZW5kKFJl
YXNvbkZvclN1c3BlbnNpb24pIG92ZXJyaWRlOwogICAgIHZvaWQgcmVzdW1lKCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1B1YmxpY1VSTE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9QdWJsaWNVUkxN
YW5hZ2VyLmNwcAppbmRleCA0MTdmOTdjMzZjNmNiYWNjMWRlMWU3NzgwYzU0ZmI0ODE5MDJkNDU2
Li40NjhkODNmNzQyMzJkODFhMjJkODQ1NzE3MDJmNDI2NGRkNGE1Nzg2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1B1YmxpY1VSTE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvUHVibGljVVJMTWFuYWdlci5jcHAKQEAgLTgwLDcgKzgwLDcgQEAgdm9pZCBQdWJs
aWNVUkxNYW5hZ2VyOjpzdG9wKCkKICAgICBtX3JlZ2lzdHJ5VG9VUkwuY2xlYXIoKTsKIH0KIAot
Ym9vbCBQdWJsaWNVUkxNYW5hZ2VyOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jv
b2wgUHVibGljVVJMTWFuYWdlcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0CiB7CiAgICAgLy8gU3VzcGVuZGluZyBhbiBQdWJsaWNVUkxNYW5hZ2VyIGlzIHNhZmUgYXMg
aXQgZG9lcyBub3QgY2F1c2UgYW55IEpTIHRvIGJlIGV4ZWN1dGVkLgogICAgIHJldHVybiB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9QdWJsaWNVUkxNYW5hZ2VyLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1B1YmxpY1VSTE1hbmFnZXIuaAppbmRleCA1MDAwNTRlMzAzMDMz
NDc3NDkxNDc2MTZhOWMxMGE0YmY3YTk5MGYwLi40Zjk0ZmMxZmY0ZDdiM2JlNTFmNTQ2NzFlZTZm
ODFhYWRlNDI4NGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1B1YmxpY1VSTE1h
bmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1B1YmxpY1VSTE1hbmFnZXIuaApAQCAt
NTMsNyArNTMsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBB
UEkuCiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFn
ZUNhY2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRT
dXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAogICAgIHR5cGVkZWYgSGFzaFNldDxTdHJp
bmc+IFVSTFNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggNjFiYTM2NmE0MjJmNTVjMTNlNzQzNzdm
NGY0ZGFhN2VjM2ZjMjZjYi4uZjZmY2E5ZDg3ODNmYmM0NjVhMTlhMjQ3ZjQ0YjllNTU1YmM0Y2U0
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTM5MjcsNyArMzkyNyw3IEBAIGNvbnN0IGNoYXIqIFdl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogICAg
IHJldHVybiAiV2ViR0xSZW5kZXJpbmdDb250ZXh0IjsKIH0KIAotYm9vbCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0CiB7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cnkgYW5kIGRvIGJldHRlciBoZXJlLgog
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAppbmRleCBjYTA1OGIxYmUwZTk0ZGRkNGVmYjE5
MWQ5MmUxZjY2OTJhMzZlZTY1Li44MjkwMmFjYWRjMTQxMjk4MTRlMTU0ZDU2NDQ0MTVmNWYwMWY4
NjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5oCkBAIC0zODQsNyArMzg0LDcgQEAgcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgY29uc3QgY2hhciogYWN0aXZl
RE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBh
Z2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBhZGRTaGFyZWRPYmplY3Qo
V2ViR0xTaGFyZWRPYmplY3QqKTsKICAgICB2b2lkIGFkZENvbnRleHRPYmplY3QoV2ViR0xDb250
ZXh0T2JqZWN0Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA5MjFi
YmYxODlmOTJjYjg5MDQ5MDA1NDk2MTQyZjBkZTcwYmEwZTA1Li44MTQ4ODhiZTk3ZjQ1MTVmY2Iy
MjEwZWUyYWQ1M2Q2NTM3ZDhlZGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKQEAgLTU4NCw3ICs1ODQsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjbGVhcihEb2N1bWVudCog
bmV3RG9jdW1lbnQsIGJvb2wgY2xlYXJXaW5kb3dQcm9wZXJ0aWVzLCBib29sCiAgICAgLy8gRG8g
dGhpcyBhZnRlciBkZXRhY2hpbmcgdGhlIGRvY3VtZW50IHNvIHRoYXQgdGhlIHVubG9hZCBldmVu
dCB3b3Jrcy4KICAgICBpZiAoY2xlYXJXaW5kb3dQcm9wZXJ0aWVzKSB7CiAgICAgICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVXaW5kb3dEaXNjYXJkZWQoJm1fZnJhbWUsIG1fZnJh
bWUuZG9jdW1lbnQoKS0+ZG9tV2luZG93KCkpOwotICAgICAgICBtX2ZyYW1lLmRvY3VtZW50KCkt
PmRvbVdpbmRvdygpLT5yZXNldFVubGVzc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSgpOworICAgICAg
ICBtX2ZyYW1lLmRvY3VtZW50KCktPmRvbVdpbmRvdygpLT5yZXNldFVubGVzc1N1c3BlbmRlZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpOwogICAgICAgICBtX2ZyYW1lLnNjcmlwdCgpLmNsZWFyV2lu
ZG93U2hlbGwobmV3RG9jdW1lbnQtPmRvbVdpbmRvdygpLCBtX2ZyYW1lLmRvY3VtZW50KCktPmlu
UGFnZUNhY2hlKCkpOwogICAgIH0KIApAQCAtMjA3NCw3ICsyMDc0LDcgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6b3BlbihDYWNoZWRGcmFtZUJhc2UmIGNhY2hlZEZyYW1lKQogICAgICAgICB2aWV3LT5z
ZXRGcmFtZVJlY3QocHJldmlvdXNWaWV3RnJhbWVSZWN0LnZhbHVlKCkpOwogICAgIAogICAgIG1f
ZnJhbWUuc2V0RG9jdW1lbnQoZG9jdW1lbnQpOwotICAgIGRvY3VtZW50LT5kb21XaW5kb3coKS0+
cmVzdW1lRnJvbVBhZ2VDYWNoZSgpOworICAgIGRvY3VtZW50LT5kb21XaW5kb3coKS0+cmVzdW1l
RnJvbURvY3VtZW50U3VzcGVuc2lvbigpOwogCiAgICAgdXBkYXRlRmlyc3RQYXJ0eUZvckNvb2tp
ZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFw
cGxpY2F0aW9uQ2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFw
cGxpY2F0aW9uQ2FjaGUuY3BwCmluZGV4IGU1OGUyNzkxZTcyMThjM2U1YmJiY2ZmMzBlM2ZmNzFm
Yjc2YjUzMDUuLmE3YzA3Nzc5Y2E3YzcyOWM5MzQzMDk2OGRhMzZkYjc2MDM2MWE2NDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25D
YWNoZS5jcHAKQEAgLTQ2LDE2ICs0NiwxNiBAQCBET01BcHBsaWNhdGlvbkNhY2hlOjpET01BcHBs
aWNhdGlvbkNhY2hlKEZyYW1lKiBmcmFtZSkKICAgICAgICAgY2FjaGVIb3N0LT5zZXRET01BcHBs
aWNhdGlvbkNhY2hlKHRoaXMpOwogfQogCi12b2lkIERPTUFwcGxpY2F0aW9uQ2FjaGU6OmRpc2Nv
bm5lY3RGcmFtZUZvclBhZ2VDYWNoZSgpCit2b2lkIERPTUFwcGxpY2F0aW9uQ2FjaGU6OmRpc2Nv
bm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpCiB7CiAgICAgaWYgKEFwcGxpY2F0aW9u
Q2FjaGVIb3N0KiBjYWNoZUhvc3QgPSBhcHBsaWNhdGlvbkNhY2hlSG9zdCgpKQogICAgICAgICBj
YWNoZUhvc3QtPnNldERPTUFwcGxpY2F0aW9uQ2FjaGUobnVsbHB0cik7Ci0gICAgRE9NV2luZG93
UHJvcGVydHk6OmRpc2Nvbm5lY3RGcmFtZUZvclBhZ2VDYWNoZSgpOworICAgIERPTVdpbmRvd1By
b3BlcnR5OjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKTsKIH0KIAotdm9p
ZCBET01BcHBsaWNhdGlvbkNhY2hlOjpyZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUoRnJhbWUq
IGZyYW1lKQordm9pZCBET01BcHBsaWNhdGlvbkNhY2hlOjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1
bWVudFN1c3BlbnNpb24oRnJhbWUqIGZyYW1lKQogewotICAgIERPTVdpbmRvd1Byb3BlcnR5Ojpy
ZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUoZnJhbWUpOworICAgIERPTVdpbmRvd1Byb3BlcnR5
OjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oZnJhbWUpOwogICAgIGlmIChB
cHBsaWNhdGlvbkNhY2hlSG9zdCogY2FjaGVIb3N0ID0gYXBwbGljYXRpb25DYWNoZUhvc3QoKSkK
ICAgICAgICAgY2FjaGVIb3N0LT5zZXRET01BcHBsaWNhdGlvbkNhY2hlKHRoaXMpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2Fj
aGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hl
LmgKaW5kZXggNDRmMTIxODRlN2QwZmY2OGI0NGU5MWNhMzM1NGQ1Yzk3ZDk5NWZlNy4uMDgxMDFm
NDg3MjIzNTc2YTM0NWRhMTM0YTBiMjlkYmUxNjc5NzczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oCkBAIC00Niw4ICs0
Niw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPERPTUFwcGxpY2F0aW9uQ2FjaGU+IGNyZWF0
ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NQXBwbGljYXRpb25DYWNo
ZShmcmFtZSkpOyB9CiAgICAgdmlydHVhbCB+RE9NQXBwbGljYXRpb25DYWNoZSgpIHsgQVNTRVJU
KCFtX2ZyYW1lKTsgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RGcmFtZUZvclBhZ2VD
YWNoZSgpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCByZWNvbm5lY3RGcmFtZUZyb21QYWdl
Q2FjaGUoRnJhbWUqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZyYW1l
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHJlY29u
bmVjdEZyYW1lRnJvbURvY3VtZW50U3VzcGVuc2lvbihGcmFtZSopIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCB3aWxsRGVzdHJveUdsb2JhbE9iamVjdEluRnJhbWUoKSBvdmVycmlkZTsKIAog
ICAgIHVuc2lnbmVkIHNob3J0IHN0YXR1cygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwCmluZGV4IGEzNGExZWRiYTMwZDg4NDg4YjMwNGI3NjRiNDIxMzNjN2UzYzVkNTguLjFlOWM3
MDg3MmI4MGEyYjcyMTc1MTJhODJjMDU4NjBkNjczMzgxY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKQEAgLTM5Myw3ICszOTMsNyBAQCBET01XaW5kb3c6OkRPTVdpbmRvdyhEb2N1bWVu
dCogZG9jdW1lbnQpCiAgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcihkb2N1bWVudCkK
ICAgICAsIEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlcihkb2N1bWVudC0+ZnJhbWUoKSkKICAgICAs
IG1fc2hvdWxkUHJpbnRXaGVuRmluaXNoZWRMb2FkaW5nKGZhbHNlKQotICAgICwgbV9zdXNwZW5k
ZWRGb3JQYWdlQ2FjaGUoZmFsc2UpCisgICAgLCBtX3N1c3BlbmRlZEZvckRvY3VtZW50U3VzcGVu
c2lvbihmYWxzZSkKICAgICAsIG1fbGFzdFBhZ2VTdGF0dXMoUGFnZVN0YXR1c05vbmUpCiAgICAg
LCBtX3dlYWtQdHJGYWN0b3J5KHRoaXMpCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNDE4LDcgKzQx
OCw3IEBAIHZvaWQgRE9NV2luZG93OjpkaWRTZWN1cmVUcmFuc2l0aW9uVG8oRG9jdW1lbnQqIGRv
Y3VtZW50KQogRE9NV2luZG93Ojp+RE9NV2luZG93KCkKIHsKICNpZm5kZWYgTkRFQlVHCi0gICAg
aWYgKCFtX3N1c3BlbmRlZEZvclBhZ2VDYWNoZSkgeworICAgIGlmICghbV9zdXNwZW5kZWRGb3JE
b2N1bWVudFN1c3BlbnNpb24pIHsKICAgICAgICAgQVNTRVJUKCFtX3NjcmVlbik7CiAgICAgICAg
IEFTU0VSVCghbV9oaXN0b3J5KTsKICAgICAgICAgQVNTRVJUKCFtX2NyeXB0byk7CkBAIC00NDAs
NyArNDQwLDcgQEAgRE9NV2luZG93Ojp+RE9NV2luZG93KCkKICAgICB9CiAjZW5kaWYKIAotICAg
IGlmIChtX3N1c3BlbmRlZEZvclBhZ2VDYWNoZSkKKyAgICBpZiAobV9zdXNwZW5kZWRGb3JEb2N1
bWVudFN1c3BlbnNpb24pCiAgICAgICAgIHdpbGxEZXN0cm95Q2FjaGVkRnJhbWUoKTsKICAgICBl
bHNlCiAgICAgICAgIHdpbGxEZXN0cm95RG9jdW1lbnRJbkZyYW1lKCk7CkBAIC01NDIsNDUgKzU0
Miw0NSBAQCB2b2lkIERPTVdpbmRvdzo6dW5yZWdpc3RlclByb3BlcnR5KERPTVdpbmRvd1Byb3Bl
cnR5KiBwcm9wZXJ0eSkKICAgICBtX3Byb3BlcnRpZXMucmVtb3ZlKHByb3BlcnR5KTsKIH0KIAot
dm9pZCBET01XaW5kb3c6OnJlc2V0VW5sZXNzU3VzcGVuZGVkRm9yUGFnZUNhY2hlKCkKK3ZvaWQg
RE9NV2luZG93OjpyZXNldFVubGVzc1N1c3BlbmRlZEZvckRvY3VtZW50U3VzcGVuc2lvbigpCiB7
Ci0gICAgaWYgKG1fc3VzcGVuZGVkRm9yUGFnZUNhY2hlKQorICAgIGlmIChtX3N1c3BlbmRlZEZv
ckRvY3VtZW50U3VzcGVuc2lvbikKICAgICAgICAgcmV0dXJuOwogICAgIHdpbGxEZXN0cm95RG9j
dW1lbnRJbkZyYW1lKCk7CiAgICAgcmVzZXRET01XaW5kb3dQcm9wZXJ0aWVzKCk7CiB9CiAKLXZv
aWQgRE9NV2luZG93OjpzdXNwZW5kRm9yUGFnZUNhY2hlKCkKK3ZvaWQgRE9NV2luZG93OjpzdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkKIHsKICAgICBkaXNjb25uZWN0RE9NV2luZG93UHJv
cGVydGllcygpOwotICAgIG1fc3VzcGVuZGVkRm9yUGFnZUNhY2hlID0gdHJ1ZTsKKyAgICBtX3N1
c3BlbmRlZEZvckRvY3VtZW50U3VzcGVuc2lvbiA9IHRydWU7CiB9CiAKLXZvaWQgRE9NV2luZG93
OjpyZXN1bWVGcm9tUGFnZUNhY2hlKCkKK3ZvaWQgRE9NV2luZG93OjpyZXN1bWVGcm9tRG9jdW1l
bnRTdXNwZW5zaW9uKCkKIHsKICAgICByZWNvbm5lY3RET01XaW5kb3dQcm9wZXJ0aWVzKCk7Ci0g
ICAgbV9zdXNwZW5kZWRGb3JQYWdlQ2FjaGUgPSBmYWxzZTsKKyAgICBtX3N1c3BlbmRlZEZvckRv
Y3VtZW50U3VzcGVuc2lvbiA9IGZhbHNlOwogfQogCiB2b2lkIERPTVdpbmRvdzo6ZGlzY29ubmVj
dERPTVdpbmRvd1Byb3BlcnRpZXMoKQogewogICAgIC8vIEl0IGlzIG5lY2Vzc2FyeSB0byBjb3B5
IG1fcHJvcGVydGllcyB0byBhIHNlcGFyYXRlIHZlY3RvciBiZWNhdXNlIHRoZSBET01XaW5kb3dQ
cm9wZXJ0aWVzIG1heQotICAgIC8vIHVucmVnaXN0ZXIgdGhlbXNlbHZlcyBmcm9tIHRoZSBET01X
aW5kb3cgYXMgYSByZXN1bHQgb2YgdGhlIGNhbGwgdG8gZGlzY29ubmVjdEZyYW1lRm9yUGFnZUNh
Y2hlLgorICAgIC8vIHVucmVnaXN0ZXIgdGhlbXNlbHZlcyBmcm9tIHRoZSBET01XaW5kb3cgYXMg
YSByZXN1bHQgb2YgdGhlIGNhbGwgdG8gZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5z
aW9uLgogICAgIFZlY3RvcjxET01XaW5kb3dQcm9wZXJ0eSo+IHByb3BlcnRpZXM7CiAgICAgY29w
eVRvVmVjdG9yKG1fcHJvcGVydGllcywgcHJvcGVydGllcyk7CiAgICAgZm9yIChhdXRvJiBwcm9w
ZXJ0eSA6IHByb3BlcnRpZXMpCi0gICAgICAgIHByb3BlcnR5LT5kaXNjb25uZWN0RnJhbWVGb3JQ
YWdlQ2FjaGUoKTsKKyAgICAgICAgcHJvcGVydHktPmRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50
U3VzcGVuc2lvbigpOwogfQogCiB2b2lkIERPTVdpbmRvdzo6cmVjb25uZWN0RE9NV2luZG93UHJv
cGVydGllcygpCiB7Ci0gICAgQVNTRVJUKG1fc3VzcGVuZGVkRm9yUGFnZUNhY2hlKTsKKyAgICBB
U1NFUlQobV9zdXNwZW5kZWRGb3JEb2N1bWVudFN1c3BlbnNpb24pOwogICAgIC8vIEl0IGlzIG5l
Y2Vzc2FyeSB0byBjb3B5IG1fcHJvcGVydGllcyB0byBhIHNlcGFyYXRlIHZlY3RvciBiZWNhdXNl
IHRoZSBET01XaW5kb3dQcm9wZXJ0aWVzIG1heQogICAgIC8vIHVucmVnaXN0ZXIgdGhlbXNlbHZl
cyBmcm9tIHRoZSBET01XaW5kb3cgYXMgYSByZXN1bHQgb2YgdGhlIGNhbGwgdG8gcmVjb25uZWN0
RnJvbVBhZ2VDYWNoZS4KICAgICBWZWN0b3I8RE9NV2luZG93UHJvcGVydHkqPiBwcm9wZXJ0aWVz
OwogICAgIGNvcHlUb1ZlY3RvcihtX3Byb3BlcnRpZXMsIHByb3BlcnRpZXMpOwogICAgIGZvciAo
YXV0byYgcHJvcGVydHkgOiBwcm9wZXJ0aWVzKQotICAgICAgICBwcm9wZXJ0eS0+cmVjb25uZWN0
RnJhbWVGcm9tUGFnZUNhY2hlKG1fZnJhbWUpOworICAgICAgICBwcm9wZXJ0eS0+cmVjb25uZWN0
RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKG1fZnJhbWUpOwogfQogCiB2b2lkIERPTVdpbmRv
dzo6cmVzZXRET01XaW5kb3dQcm9wZXJ0aWVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4
IGI1MDAxYmNmMWI3MDZmZTcwZWI0OGY0YTc4NzFlNzI2YjJiYTFhNTIuLjE5NDc0ZmJlYzI3YmU0
YWEyYTlhY2Q5MWZhM2RjYWFkYmFjYmM0ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAt
MTE5LDkgKzExOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCByZWdpc3Rl
clByb3BlcnR5KERPTVdpbmRvd1Byb3BlcnR5Kik7CiAgICAgICAgIHZvaWQgdW5yZWdpc3RlclBy
b3BlcnR5KERPTVdpbmRvd1Byb3BlcnR5Kik7CiAKLSAgICAgICAgdm9pZCByZXNldFVubGVzc1N1
c3BlbmRlZEZvclBhZ2VDYWNoZSgpOwotICAgICAgICB2b2lkIHN1c3BlbmRGb3JQYWdlQ2FjaGUo
KTsKLSAgICAgICAgdm9pZCByZXN1bWVGcm9tUGFnZUNhY2hlKCk7CisgICAgICAgIHZvaWQgcmVz
ZXRVbmxlc3NTdXNwZW5kZWRGb3JEb2N1bWVudFN1c3BlbnNpb24oKTsKKyAgICAgICAgdm9pZCBz
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCk7CisgICAgICAgIHZvaWQgcmVzdW1lRnJvbURv
Y3VtZW50U3VzcGVuc2lvbigpOwogCiAgICAgICAgIFBhc3NSZWZQdHI8TWVkaWFRdWVyeUxpc3Q+
IG1hdGNoTWVkaWEoY29uc3QgU3RyaW5nJik7CiAKQEAgLTM2OSw3ICszNjksNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogICAgICAgICBib29sIG1fc2hvdWxkUHJpbnRXaGVuRmlu
aXNoZWRMb2FkaW5nOwotICAgICAgICBib29sIG1fc3VzcGVuZGVkRm9yUGFnZUNhY2hlOworICAg
ICAgICBib29sIG1fc3VzcGVuZGVkRm9yRG9jdW1lbnRTdXNwZW5zaW9uOwogCiAgICAgICAgIEhh
c2hTZXQ8RE9NV2luZG93UHJvcGVydHkqPiBtX3Byb3BlcnRpZXM7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93RXh0ZW5zaW9uLmNwcAppbmRleCAzMzU2MTAwNjY3NWY1NTE1MDU2ZTA1
ZDQ2Zjk5NDA2MmYwZmUwZWNjLi4wZTYyYjM0MzdhYjhiYjVkZWZlNGMzNmYyNTkyMzkxNjNmNWNk
YjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvd0V4dGVuc2lvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3dFeHRlbnNpb24uY3BwCkBAIC00
Myw3ICs0Myw3IEBAIERPTVdpbmRvd0V4dGVuc2lvbjo6RE9NV2luZG93RXh0ZW5zaW9uKEZyYW1l
KiBmcmFtZSwgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCkKICAgICBBU1NFUlQodGhpcy0+ZnJhbWUo
KSk7CiB9CiAKLXZvaWQgRE9NV2luZG93RXh0ZW5zaW9uOjpkaXNjb25uZWN0RnJhbWVGb3JQYWdl
Q2FjaGUoKQordm9pZCBET01XaW5kb3dFeHRlbnNpb246OmRpc2Nvbm5lY3RGcmFtZUZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpCiB7CiAgICAgLy8gQ2FsbGluZyBvdXQgdG8gdGhlIGNsaWVudCBtaWdo
dCByZXN1bHQgaW4gdGhpcyBET01XaW5kb3dFeHRlbnNpb24gYmVpbmcgZGVzdHJveWVkCiAgICAg
Ly8gd2hpbGUgdGhlcmUgaXMgc3RpbGwgd29yayB0byBkby4KQEAgLTU0LDE0ICs1NCwxNCBAQCB2
b2lkIERPTVdpbmRvd0V4dGVuc2lvbjo6ZGlzY29ubmVjdEZyYW1lRm9yUGFnZUNhY2hlKCkKIAog
ICAgIG1fZGlzY29ubmVjdGVkRnJhbWUgPSBmcmFtZTsKIAotICAgIERPTVdpbmRvd1Byb3BlcnR5
OjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUoKTsKKyAgICBET01XaW5kb3dQcm9wZXJ0eTo6
ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCk7CiB9CiAKLXZvaWQgRE9NV2lu
ZG93RXh0ZW5zaW9uOjpyZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUoRnJhbWUqIGZyYW1lKQor
dm9pZCBET01XaW5kb3dFeHRlbnNpb246OnJlY29ubmVjdEZyYW1lRnJvbURvY3VtZW50U3VzcGVu
c2lvbihGcmFtZSogZnJhbWUpCiB7CiAgICAgQVNTRVJUKG1fZGlzY29ubmVjdGVkRnJhbWUgPT0g
ZnJhbWUpOwogICAgIAotICAgIERPTVdpbmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21Q
YWdlQ2FjaGUoZnJhbWUpOworICAgIERPTVdpbmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZy
b21Eb2N1bWVudFN1c3BlbnNpb24oZnJhbWUpOwogICAgIG1fZGlzY29ubmVjdGVkRnJhbWUgPSBu
dWxscHRyOwogCiAgICAgdGhpcy0+ZnJhbWUoKS0+bG9hZGVyKCkuY2xpZW50KCkuZGlzcGF0Y2hE
aWRSZWNvbm5lY3RET01XaW5kb3dFeHRlbnNpb25Ub0dsb2JhbE9iamVjdCh0aGlzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93RXh0ZW5zaW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvd0V4dGVuc2lvbi5oCmluZGV4IGE5NzhmZmM0MGQ3OWUzM2M2
N2U0NzdlOTYwYzdjYTE3ZWIwYzE3ODguLjM2MjE4ZDFkNWE5NDM4NGZlMzdiZGViYTc5YWIzNDA1
MzYwZDViY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93RXh0ZW5z
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3dFeHRlbnNpb24uaApAQCAt
NDMsOCArNDMsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERPTVdp
bmRvd0V4dGVuc2lvbihmcmFtZSwgd29ybGQpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlzY29ubmVjdEZyYW1lRm9yUGFnZUNhY2hlKCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lk
IHJlY29ubmVjdEZyYW1lRnJvbVBhZ2VDYWNoZShGcmFtZSopIG92ZXJyaWRlOworICAgIHZpcnR1
YWwgdm9pZCBkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBvdmVycmlkZTsK
KyAgICB2aXJ0dWFsIHZvaWQgcmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKEZy
YW1lKikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95R2xvYmFsT2JqZWN0
SW5DYWNoZWRGcmFtZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUds
b2JhbE9iamVjdEluRnJhbWUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERldGFj
aEdsb2JhbE9iamVjdEZyb21GcmFtZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3dQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvd1Byb3BlcnR5LmNwcAppbmRleCBlMTdlNTNmYjJiY2I3NDViYTMyMzhkNWUwMjYzN2Y3
MGExYzAzZmQzLi5hMzc3MGU4ZTcwMGM2NTgyNjI2YzY0Yjk4NWZkZWM2ZmMwN2YzM2Y1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvd1Byb3BlcnR5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvd1Byb3BlcnR5LmNwcApAQCAtNTUsNyArNTUsNyBA
QCBET01XaW5kb3dQcm9wZXJ0eTo6fkRPTVdpbmRvd1Byb3BlcnR5KCkKICAgICBtX2ZyYW1lID0g
bnVsbHB0cjsKIH0KIAotdm9pZCBET01XaW5kb3dQcm9wZXJ0eTo6ZGlzY29ubmVjdEZyYW1lRm9y
UGFnZUNhY2hlKCkKK3ZvaWQgRE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5lY3RGcmFtZUZvckRv
Y3VtZW50U3VzcGVuc2lvbigpCiB7CiAgICAgLy8gSWYgdGhpcyBwcm9wZXJ0eSBpcyBiZWluZyBk
aXNjb25uZWN0ZWQgZnJvbSBpdHMgRnJhbWUgdG8gZW50ZXIgdGhlIFBhZ2VDYWNoZSwgaXQgbXVz
dCBoYXZlCiAgICAgLy8gYmVlbiBjcmVhdGVkIHdpdGggYSBGcmFtZSBpbiB0aGUgZmlyc3QgcGxh
Y2UuCkBAIC02NSw3ICs2NSw3IEBAIHZvaWQgRE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5lY3RG
cmFtZUZvclBhZ2VDYWNoZSgpCiAgICAgbV9mcmFtZSA9IG51bGxwdHI7CiB9CiAKLXZvaWQgRE9N
V2luZG93UHJvcGVydHk6OnJlY29ubmVjdEZyYW1lRnJvbVBhZ2VDYWNoZShGcmFtZSogZnJhbWUp
Cit2b2lkIERPTVdpbmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3Bl
bnNpb24oRnJhbWUqIGZyYW1lKQogewogICAgIC8vIElmIHRoaXMgcHJvcGVydHkgaXMgYmVpbmcg
cmVjb25uZWN0ZWQgdG8gaXRzIEZyYW1lIHRvIGVudGVyIHRoZSBQYWdlQ2FjaGUsIGl0IG11c3Qg
aGF2ZQogICAgIC8vIGJlZW4gZGlzY29ubmVjdGVkIGZyb20gaXRzIEZyYW1lIGluIHRoZSBmaXJz
dCBwbGFjZSBhbmQgaXQgc2hvdWxkIHN0aWxsIGhhdmUgYW4gYXNzb2NpYXRlZCBET01XaW5kb3cu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvd1Byb3BlcnR5LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvd1Byb3BlcnR5LmgKaW5kZXggZTJkY2M0NDM3MWVh
Y2YxMjk0N2E4YjFhODBjYjBlMmM3Mjg5YTFiNC4uZjY2MjRhZGJlYWUyZmNjODQzMTE5Yzg1NTVm
MGNlNDFjOWU3NjdlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3dQ
cm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93UHJvcGVydHkuaApA
QCAtMzUsOCArMzUsOCBAQCBjbGFzcyBET01XaW5kb3dQcm9wZXJ0eSB7CiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgRE9NV2luZG93UHJvcGVydHkoRnJhbWUqKTsKIAotICAgIHZpcnR1YWwgdm9pZCBk
aXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUoKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVjb25uZWN0
RnJhbWVGcm9tUGFnZUNhY2hlKEZyYW1lKik7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RG
cmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpOworICAgIHZpcnR1YWwgdm9pZCByZWNvbm5lY3RG
cmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgd2ls
bERlc3Ryb3lHbG9iYWxPYmplY3RJbkNhY2hlZEZyYW1lKCk7CiAgICAgdmlydHVhbCB2b2lkIHdp
bGxEZXN0cm95R2xvYmFsT2JqZWN0SW5GcmFtZSgpOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGV0
YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3Bw
CmluZGV4IDRhMTAxNTEyZDY4NjYzODg2MDBlZDczMmZjM2NhODQxNmY3YTQwYmIuLmI4MzQxZTZi
NmMwNzU3NmY3NGY0MTIzNDUzMzJhZjVlOTkyNmM0NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwCkBAIC00MDQsNyArNDA0LDcgQEAgY29uc3QgY2hhciogRXZlbnRTb3VyY2U6OmFj
dGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiRXZlbnRTb3VyY2UiOwogfQog
Ci1ib29sIEV2ZW50U291cmNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wg
RXZlbnRTb3VyY2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewog
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJ5IGFuZCBkbyBiZXR0ZXIgaGVyZS4KICAgICByZXR1
cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggMWQyNTQ1OGVlM2QwYmZh
ZGIxMjNiMDFiZjZmOWZlZGUwMjQzZGU1OS4uOWU4MWEyYWYxMTM4YTJiM2NiZDY0NmVjMmQ0Zjk1
NWMwMDIyZWZlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtOTAsNyArOTAsNyBA
QCBwcml2YXRlOgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkg
b3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92
ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRl
OworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJy
aWRlOwogCiAgICAgdm9pZCBjb25uZWN0KCk7CiAgICAgdm9pZCBuZXR3b3JrUmVxdWVzdEVuZGVk
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcAppbmRleCA3OWIwNGZk
ZDlmMTI1MWQzZjA1NTgwY2M2MzA2NTQzYzQ2NDI1ZmRkLi43NjU4M2MxMmJhODI5MWFhYTZhZTRi
YzVkZmRkNDZiMjRjNTc2NDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3Bl
bmRhYmxlVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1l
ci5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBTdXNwZW5kYWJsZVRpbWVyOjpyZXN1bWUoKQog
ICAgICAgICBzdGFydChtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCwgbV9zYXZlZFJlcGVhdEludGVy
dmFsKTsKIH0KIAotYm9vbCBTdXNwZW5kYWJsZVRpbWVyOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hl
KCkgY29uc3QKK2Jvb2wgU3VzcGVuZGFibGVUaW1lcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3Vz
cGVuc2lvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3VzcGVuZGFibGVUaW1lci5oCmluZGV4IDU3OGZjM2JmNjNhZTQwN2JiZTBiNzViMzhiNzRkNDVh
ZDJkZWU2NTEuLmEwMWRkNWUyOTY4ZmM0M2EwZDIyMTk0OTkyMThmMDJjMDg4NTdjYTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oCkBAIC02MCw3ICs2MCw3IEBAIHByaXZh
dGU6CiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KICAgICBib29sIGhhc1BlbmRpbmdBY3Rp
dml0eSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlIGZp
bmFsOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlIGZp
bmFsOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92
ZXJyaWRlIGZpbmFsOwogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBvdmVy
cmlkZSBmaW5hbDsKICAgICB2b2lkIHJlc3VtZSgpIG92ZXJyaWRlIGZpbmFsOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggZTg2ODkwNmY4OGNhMGRkNDZmOTkzYWM4NDFiMGUwYWJm
YjBiNDQwMC4uZGUzZDRlMTBkZWYxZWY1ODAwMzA3ZTc4MTQyYTcwYTNjYjA1ZTJjMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMTI0LDcgKzEyNCw3IEBAIHZvaWQgV29ya2VyOjp0
ZXJtaW5hdGUoKQogICAgIG1fY29udGV4dFByb3h5LT50ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29w
ZSgpOwogfQogCi1ib29sIFdvcmtlcjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citi
b29sIFdvcmtlcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7CiAg
ICAgLy8gRklYTUU6IEl0IGlzIG5vdCBjdXJyZW50bHkgcG9zc2libGUgdG8gc3VzcGVuZCBhIHdv
cmtlciwgc28gcGFnZXMgd2l0aCB3b3JrZXJzIGNhbiBub3QgZ28gaW50byBwYWdlIGNhY2hlLgog
ICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCmluZGV4IGQ5ZGJhNGI5OWI1
OWE2ODM1ZDRlNTk4MzZiYTUyMjVkNjU0ZDNmMTIuLjA5ODU3NTE5MTBiNGU5MjJkZDA1ZmIwM2My
MzBlMGZkMWY5MjBkY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaApAQCAtNzUsNyArNzUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hl
ZCgpIG92ZXJyaWRlOwogCiAgICAgICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCi0gICAgICAg
IGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgICAgICBi
b29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZTsKICAg
ICAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CiAgICAgICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURP
TU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKaW5kZXggODA0YjcwODFjMTcxNWZmMDViZWVjNDFlNjJmNWYyNWJkMDlmYTdlOS4u
NGM0OGM5NGY4YjI5MzM2YjQ0MjQxMTJkNmIyZWNiYjk2MDgzZmM1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0xMjQ2LDcgKzEyNDYsNyBAQCB2b2lkIFhNTEh0dHBS
ZXF1ZXN0OjpkaWRSZWFjaFRpbWVvdXQoKQogICAgIGRpc3BhdGNoRXJyb3JFdmVudHMoZXZlbnRO
YW1lcygpLnRpbWVvdXRFdmVudCk7CiB9CiAKLWJvb2wgWE1MSHR0cFJlcXVlc3Q6OmNhblN1c3Bl
bmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBYTUxIdHRwUmVxdWVzdDo6Y2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7CiAgICAgLy8gSWYgdGhlIGxvYWQgZXZlbnQg
aGFzIG5vdCBmaXJlZCB5ZXQsIGNhbmNlbGxpbmcgdGhlIGxvYWQgaW4gc3VzcGVuZCgpIG1heSBj
YXVzZQogICAgIC8vIHRoZSBsb2FkIGV2ZW50IHRvIGJlIGZpcmVkIGFuZCBhcmJpdHJhcnkgSlMg
ZXhlY3V0aW9uLCB3aGljaCB3b3VsZCBiZSB1bnNhZmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oCmluZGV4IGE1ZDEzMGJjZTFhNzRkYmE1ZjllOTZlODAzZTkxYTBiNmFlZThjNmQuLjMy
YzcxMmY1OWIwNjlkYmM3OTNhOGM1ODkzYjFiZDU5YjhjYTkxNDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oCkBAIC0xNDgsNyArMTQ4LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFj
dGl2ZURPTU9iamVjdAogICAgIHZvaWQgY29udGV4dERlc3Ryb3llZCgpIG92ZXJyaWRlOwotICAg
IGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wg
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZv
aWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBvdmVycmlkZTsKICAgICB2b2lkIHJlc3Vt
ZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWMwNWNiODRlZTE5MzY0
YjQ4YjNkMDY3OGI3Mjc2N2E1NTg5NjM3NS4uZGIzMzE0NTFmOGFiZDg2MThmMDg0NGRlOWMwZTg1
Zjg3OGZlZmJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC04NzgsNyArODc4LDcgQEAKIAkJRURFODUwQ0QwNkVDQzc5RTAwNUZBQjA1
IC8qIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJRjUw
ODk0NjkwMkI3MUQ1OTAxOEE5Q0Q0IC8qIFdlYk5TVmlld0V4dHJhcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5TVmlld0V4dHJhcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJ
RjUwODk0NkEwMkI3MUQ1OTAxOEE5Q0Q0IC8qIFdlYk5TVmlld0V4dHJhcy5tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IFdlYk5TVmlld0V4dHJh
cy5tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKLQkJRjUxNDNBMzcwMjIxRENDRTAxQTgwMTgxIC8qIFdlYkZyYW1lLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJGcmFtZS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CisJCUY1MTQzQTM3MDIyMURDQ0UwMUE4MDE4MSAvKiBXZWJGcmFtZS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0
aCA9IFdlYkZyYW1lLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVz
ZXNUYWJzID0gMDsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFu
Zy5vYmpjcHA7IH07CiAJCUY1MjBGQjE5MDIyMURFRkQwMUMxQTUyNSAvKiBXZWJIaXN0b3J5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkhp
c3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9
IDA7IH07CiAJCUY1MjhFM0U5MDMxRTkxQUQwMUNBMkFDQSAvKiBXZWJJY29uRGF0YWJhc2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0
aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJY29u
RGF0YWJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFi
cyA9IDA7IH07CiAJCUY1MjhFM0VBMDMxRTkxQUQwMUNBMkFDQSAvKiBXZWJJY29uRGF0YWJhc2Uu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50
V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYkljb25EYXRhYmFzZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGgg
PSA4OyB1c2VzVGFicyA9IDA7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkZyYW1lLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQpp
bmRleCBmMjE5MDYwZWFhNjdhMTQ0N2RjYzAwODEwM2NiMWU2YmQ5MmU4N2U2Li43OTczODAwMjMz
NzdkZWE3ZjkxYzA0OGFiYzU2NzU3ZjI1NzIyM2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViRnJhbWUubW0KQEAgLTIwNTMsNyArMjA1Myw3IEBAIC0gKE5TTXV0YWJsZURpY3Rpb25hcnkg
KilfY2FjaGVhYmlsaXR5RGljdGlvbmFyeQogICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSBf
cHJpdmF0ZS0+Y29yZUZyYW1lLT5kb2N1bWVudCgpKSB7CiAgICAgICAgIGlmIChEYXRhYmFzZU1h
bmFnZXI6OnNpbmdsZXRvbigpLmhhc09wZW5EYXRhYmFzZXMoZG9jdW1lbnQpKQogICAgICAgICAg
ICAgW3Jlc3VsdCBzZXRPYmplY3Q6W05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10gZm9yS2V5
OldlYkZyYW1lVXNlc0RhdGFiYXNlc107Ci0gICAgICAgIGlmICghZG9jdW1lbnQtPmNhblN1c3Bl
bmRBY3RpdmVET01PYmplY3RzRm9yUGFnZUNhY2hlKCkpCisgICAgICAgIGlmICghZG9jdW1lbnQt
PmNhblN1c3BlbmRBY3RpdmVET01PYmplY3RzRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkpCiAgICAg
ICAgICAgICBbcmVzdWx0IHNldE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSBm
b3JLZXk6V2ViRnJhbWVDYW5TdXNwZW5kQWN0aXZlRE9NT2JqZWN0c107CiAgICAgfQogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266299</attachid>
            <date>2015-11-30 16:31:45 -0800</date>
            <delta_ts>2015-11-30 17:55:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151677-20151130163123.patch</filename>
            <type>text/plain</type>
            <size>72172</size>
            <attacher name="Kat Graff">kgraff</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzcwYTFkZjYxMDgyMjE1
OTgyM2I3ZjVlODJkNmVjNjFmNTEyZDQ1NC4uZTU5NTlhZGRmYzQyYzJjM2JiODk2MmY4NmVlODg0
YzBhODNhZWE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4OCBAQAorMjAxNS0xMS0zMCAgS2F0
bHluIEdyYWZmICA8a2dyYWZmQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgQWN0aXZlRE9N
T2JqZWN0L0RPTVdpbmRvdyBQYWdlQ2FjaGVTdXNwZW5zaW9uIGNvZGUgdG8gc3VwcG9ydCBtb3Jl
IHJlYXNvbnMgZm9yIHN1c3BlbnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MTY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNpbXBseSBhIHJlZmFjdG9yaW5nIHBhdGNoLCBzbyBubyBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmNhblN1c3BlbmRGb3JEb2N1
bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjYW5T
dXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24v
R2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OmNhblN1c3Bl
bmRGb3JEb2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246
OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvZ2Vv
bG9jYXRpb24vR2VvbG9jYXRpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9ET01X
aW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93SW5k
ZXhlZERhdGFiYXNlOjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpyZWNvbm5lY3RGcmFtZUZy
b21Eb2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhl
ZERhdGFiYXNlOjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpyZWNvbm5lY3RGcmFtZUZyb21Q
YWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJEYXRhYmFzZUltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJEYXRh
YmFzZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpJREJDbGllbnQ6OklEQkRhdGFiYXNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRGF0YWJhc2VJbXBsLmg6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCUmVxdWVzdDo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQlJlcXVl
c3Q6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
aW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SURCQ2xpZW50OjpJREJUcmFuc2FjdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQlRyYW5zYWN0aW9uOjpjYW5TdXNw
ZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9j
bGllbnQvSURCVHJhbnNhY3Rpb25JbXBsLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
bGVnYWN5L0xlZ2FjeURhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeURhdGFi
YXNlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkxlZ2FjeURhdGFiYXNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5RGF0YWJhc2UuaDoKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5UmVxdWVzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMZWdhY3lSZXF1ZXN0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVJlcXVlc3Q6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUp
OiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lSZXF1
ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeVRyYW5zYWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRyYW5zYWN0aW9uOjpjYW5TdXNwZW5k
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkxlZ2FjeVRyYW5zYWN0
aW9uOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5VHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291
cmNlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU291cmNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVm
ZmVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlNvdXJjZUJ1ZmZlcjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTdHJlYW1UcmFjazo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UlRDRFRNRlNlbmRlcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpSVENEVE1GU2VuZGVyOjpjYW5TdXNwZW5kRm9yUGFnZUNh
Y2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5k
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjpjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjpj
YW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRp
b25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93Tm90aWZpY2F0aW9uczo6ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd05vdGlmaWNhdGlvbnM6OnJlY29ubmVjdEZyYW1l
RnJvbURvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dOb3Rp
ZmljYXRpb25zOjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93Tm90aWZpY2F0aW9uczo6cmVjb25uZWN0RnJhbWVGcm9tUGFn
ZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2lu
ZG93Tm90aWZpY2F0aW9ucy5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpjYW5TdXNwZW5k
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6
Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
Q2VudGVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6Ok5vdGlmaWNhdGlvbkNlbnRlcjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSk6IERlbGV0ZWQu
CisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkF1ZGlvQ29udGV4dDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBE
ZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0Lmg6CisgICAg
ICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RGF0YWJhc2VDb250ZXh0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6Y2FuU3VzcGVuZEZvclBhZ2VD
YWNoZSk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNv
bnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUp
OiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaDoKKyAg
ICAgICAgKiBjc3MvRm9udExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250TG9hZGVy
OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRMb2FkZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIGNz
cy9Gb250TG9hZGVyLmg6CisgICAgICAgICogZG9tL0FjdGl2ZURPTU9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBY3RpdmVET01PYmplY3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3Bl
bnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6QWN0aXZlRE9NT2JqZWN0OjpjYW5TdXNwZW5kRm9y
UGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vQWN0aXZlRE9NT2JqZWN0Lmg6Cisg
ICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+
RG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNhblN1c3BlbmRBY3RpdmVE
T01PYmplY3RzRm9yVGFiU3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpjYW5TdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0ZvclBhZ2VDYWNoZSk6IERl
bGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAg
KiBmaWxlYXBpL0ZpbGVSZWFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpGaWxl
UmVhZGVyOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAgKiBmaWxl
YXBpL0ZpbGVSZWFkZXIuaDoKKyAgICAgICAgKiBoaXN0b3J5L0NhY2hlZEZyYW1lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZEZyYW1lOjpDYWNoZWRGcmFtZSk6CisgICAgICAgICogaGlz
dG9yeS9QYWdlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2FuQ2FjaGVGcmFtZSk6Cisg
ICAgICAgICogaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1hcnF1ZWVFbGVtZW50OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNYXJxdWVlRWxlbWVudDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNo
ZSk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxTb3VyY2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50
OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxTb3VyY2VFbGVtZW50OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBodG1sL0hUTUxTb3VyY2VFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9QdWJsaWNVUkxN
YW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlB1YmxpY1VSTE1hbmFnZXI6OmNhblN1c3Bl
bmRGb3JEb2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6UHVibGljVVJMTWFu
YWdlcjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9Q
dWJsaWNVUkxNYW5hZ2VyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxl
dGVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaDoK
KyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpvcGVuKToK
KyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01BcHBsaWNhdGlvbkNhY2hlOjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1
bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NQXBwbGljYXRpb25DYWNoZTo6
cmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTUFwcGxpY2F0aW9uQ2FjaGU6OmRpc2Nvbm5lY3RGcmFtZUZvclBhZ2VDYWNoZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpET01BcHBsaWNhdGlvbkNhY2hlOjpyZWNvbm5lY3RGcmFt
ZUZyb21QYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9ET01B
cHBsaWNhdGlvbkNhY2hlLmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93OjpET01XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
V2luZG93Ojp+RE9NV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVzZXRV
bmxlc3NTdXNwZW5kZWRGb3JEb2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93OjpzdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkRPTVdpbmRvdzo6cmVzdW1lRnJvbURvY3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpET01XaW5kb3c6OmRpc2Nvbm5lY3RET01XaW5kb3dQcm9wZXJ0aWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6cmVjb25uZWN0RE9NV2luZG93UHJvcGVydGllcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlc2V0VW5sZXNzU3VzcGVuZGVkRm9yUGFnZUNh
Y2hlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6c3VzcGVuZEZvclBh
Z2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlc3VtZUZy
b21QYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6CisgICAg
ICAgICogcGFnZS9ET01XaW5kb3dFeHRlbnNpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9N
V2luZG93RXh0ZW5zaW9uOjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93RXh0ZW5zaW9uOjpyZWNvbm5lY3RGcmFtZUZyb21E
b2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93RXh0ZW5zaW9u
OjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RE9NV2luZG93RXh0ZW5zaW9uOjpyZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUpOiBEZWxl
dGVkLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93RXh0ZW5zaW9uLmg6CisgICAgICAgICogcGFn
ZS9ET01XaW5kb3dQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dQcm9w
ZXJ0eTo6ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkRPTVdpbmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3Bl
bnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5lY3RG
cmFtZUZvclBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dQ
cm9wZXJ0eTo6cmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBwYWdlL0RPTVdpbmRvd1Byb3BlcnR5Lmg6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZv
clBhZ2VDYWNoZSk6IERlbGV0ZWQuCisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAg
ICAgICAqIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdXNw
ZW5kYWJsZVRpbWVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUpOiBEZWxl
dGVkLgorICAgICAgICAqIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5oOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcjo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6OmNhblN1c3BlbmRG
b3JQYWdlQ2FjaGUpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmg6CisgICAg
ICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBS
ZXF1ZXN0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlhNTEh0dHBSZXF1ZXN0OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAxNS0xMS0zMCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGxvY2F0aW9uLm9yaWdpbiBpcyB1bmRlZmlu
ZWQgaW4gYSB3ZWIgd29ya2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggM2I5OWY0ODgxOTFjYTIzMDYx
ZWQyMGQ3OGU4NzEzMzFkNDUxZTQ2MC4uOTNjNWE1NzBkNTc5NjVkMzcwYzhkYjdmOWQzMmJhMDJm
MDg0NmJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSArMSwxMSBAQAorMjAxNS0xMS0zMCAgS2F0
bHluIEdyYWZmICA8a2dyYWZmQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgQWN0aXZlRE9N
T2JqZWN0L0RPTVdpbmRvdyBQYWdlQ2FjaGVTdXNwZW5zaW9uIGNvZGUgdG8gc3VwcG9ydCBtb3Jl
IHJlYXNvbnMgZm9yIHN1c3BlbnNpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MTY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAgICAgKC1bV2ViRnJh
bWUgX2NhY2hlYWJpbGl0eURpY3Rpb25hcnldKToKKwogPT0gUm9sbGVkIG92ZXIgdG8gQ2hhbmdl
TG9nLTIwMTUtMTEtMjEgPT0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAppbmRleCAxZTQyODZjZDQyZTk3ZmQ5
NzMxNTMzMzJlZWQ2ZTI3Yjc0YjYxMzRmLi5iMjE4MTA0YmQ3YTVlNmM2MGFmYWIxNzQyNTk3Nzc0
NzdjODUwNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCkBAIC0yNjUsNyArMjY1LDcgQEAgY29uc3Qg
Y2hhciogTWVkaWFLZXlTZXNzaW9uOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICBy
ZXR1cm4gIk1lZGlhS2V5U2Vzc2lvbiI7CiB9CiAKLWJvb2wgTWVkaWFLZXlTZXNzaW9uOjpjYW5T
dXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgTWVkaWFLZXlTZXNzaW9uOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIHRyeSBhbmQgZG8gYmV0dGVyIGhlcmUuCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmgKaW5kZXggM2Y1OGEzNGE5MWRhZTJiMWE1ZmMxY2ZiZTVjNWQ3Yzk1OWJmYWExZC4uYTQ2ZGJh
NDdkMTU3YmI3YWRiNjU1ZTg3OTNjMWIyNjE3OTY1YjcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0x
MTMsNyArMTEzLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAg
ICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNhY2hl
KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5z
aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0IG92ZXJyaWRlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcAppbmRleCBkYzQ3MjZhMmI4MTY5NjcxN2Y3ZjE5
MzhhODQzMzRkZTg1ZGIxZDRiLi5mOTIzNzM3YWMzNTRiMjVkMTU5MGE4NjU0YjgxMjg0M2M5N2Q1
OTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xv
Y2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xv
Y2F0aW9uLmNwcApAQCAtMTYxLDcgKzE2MSw3IEBAIFBhZ2UqIEdlb2xvY2F0aW9uOjpwYWdlKCkg
Y29uc3QKICAgICByZXR1cm4gZG9jdW1lbnQoKSA/IGRvY3VtZW50KCktPnBhZ2UoKSA6IG51bGxw
dHI7CiB9CiAKLWJvb2wgR2VvbG9jYXRpb246OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25z
dAorYm9vbCBHZW9sb2NhdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmgKaW5kZXggZTVmZWVjNTJlNzkyNDA5NjBmYjY3ZDdm
ZWVmOTE1N2Q2MGI0MjVlZS4uMDg4MzUyZjEwYWIzYTZiODNiM2I5YTMxM2E0MWU5Yzk0NTg0OTMw
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2Nh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRp
b24uaApAQCAtNzksNyArNzksNyBAQCBwcml2YXRlOgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0
CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNh
Y2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3Bl
bnNpb24pIG92ZXJyaWRlOwogICAgIHZvaWQgcmVzdW1lKCkgb3ZlcnJpZGU7CiAgICAgY29uc3Qg
Y2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4ZWRE
YXRhYmFzZS5jcHAKaW5kZXggN2MzMTQxNTk1NjZkYzk5YTE4YTNhMjVkZTNkYWM0YzMyYWE2YWYz
Mi4uY2MxOWY0MTBlZDE3Y2M1ZmExMjAwMDM4NzcwODVhNjYwMmYyYmUyNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRl
eGVkRGF0YWJhc2UuY3BwCkBAIC02NCwxNSArNjQsMTUgQEAgRE9NV2luZG93SW5kZXhlZERhdGFi
YXNlKiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2U6OmZyb20oRE9NV2luZG93KiB3aW5kb3cpCiAg
ICAgcmV0dXJuIHN1cHBsZW1lbnQ7CiB9CiAKLXZvaWQgRE9NV2luZG93SW5kZXhlZERhdGFiYXNl
OjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUoKQordm9pZCBET01XaW5kb3dJbmRleGVkRGF0
YWJhc2U6OmRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpCiB7CiAgICAgbV9z
dXNwZW5kZWRJREJGYWN0b3J5ID0gbV9pZGJGYWN0b3J5LnJlbGVhc2UoKTsKLSAgICBET01XaW5k
b3dQcm9wZXJ0eTo6ZGlzY29ubmVjdEZyYW1lRm9yUGFnZUNhY2hlKCk7CisgICAgRE9NV2luZG93
UHJvcGVydHk6OmRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpOwogfQogCi12
b2lkIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZTo6cmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hl
KEZyYW1lKiBmcmFtZSkKK3ZvaWQgRE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjpyZWNvbm5lY3RG
cmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJhbWUqIGZyYW1lKQogewotICAgIERPTVdpbmRv
d1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUoZnJhbWUpOworICAgIERPTVdp
bmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oZnJhbWUp
OwogICAgIG1faWRiRmFjdG9yeSA9IG1fc3VzcGVuZGVkSURCRmFjdG9yeS5yZWxlYXNlKCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmgKaW5kZXggYTBiZTg1MGViMTk4ZmMwNWYxZDI2ZDgyZmE2
ZDU4OTYwZWE2YzkzZi4uM2ZmYjcxYzVjYmMzZDBmZWY4ZjhlZWI5MDY3ODc1NzEyYmNjNGU2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5k
ZXhlZERhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmgKQEAgLTQ2LDggKzQ2LDggQEAgcHVibGljOgogCiAgICAg
c3RhdGljIElEQkZhY3RvcnkqIGluZGV4ZWREQihET01XaW5kb3cqKTsKIAotICAgIHZpcnR1YWwg
dm9pZCBkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUoKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFs
IHZvaWQgcmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hlKEZyYW1lKikgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCByZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNp
b24oRnJhbWUqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lHbG9iYWxP
YmplY3RJbkNhY2hlZEZyYW1lKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0
cm95R2xvYmFsT2JqZWN0SW5GcmFtZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxs
RGV0YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRGF0YWJhc2VJbXBsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJEYXRhYmFzZUltcGwu
Y3BwCmluZGV4IDg5ZDQzZTllNDU3ZDkwZjc1YzgyYmVhOTljMWJjM2Y0MzkwNTc1MTIuLjkyN2Yw
MTdkYjM1ODFhMDJlYTdiNWQzOWFmMTdiYzhlZDdhODkxOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJEYXRhYmFzZUltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJEYXRhYmFzZUltcGwu
Y3BwCkBAIC0yMzQsNyArMjM0LDcgQEAgY29uc3QgY2hhciogSURCRGF0YWJhc2U6OmFjdGl2ZURP
TU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiSURCRGF0YWJhc2UiOwogfQogCi1ib29s
IElEQkRhdGFiYXNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgSURCRGF0
YWJhc2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIC8v
IEZJWE1FOiBUaGlzIHZhbHVlIHdpbGwgc29tZXRpbWVzIGJlIGZhbHNlIHdoZW4gZGF0YWJhc2Ug
b3BlcmF0aW9ucyBhcmUgYWN0dWFsbHkgaW4gcHJvZ3Jlc3MuCiAgICAgLy8gU3VjaCBkYXRhYmFz
ZSBvcGVyYXRpb25zIGRvIG5vdCB5ZXQgZXhpc3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRGF0YWJhc2VJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRGF0YWJhc2VJbXBsLmgKaW5kZXggZmRj
MGJmOGI0NDU5M2U0MWE3MGIxMjZkMDU3NmYxYzY0NWVhYTc5Zi4uYjEzZjYwYTY3Y2E5M2NjNzM4
N2YxM2RlY2EwODRkNTg1ODY4ZmYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQkRhdGFiYXNlSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJEYXRhYmFzZUltcGwuaApAQCAtNjcsNyArNjcs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlk
ZSBmaW5hbCB7IGRlcmVmKCk7IH0KIAogICAgIHZpcnR1YWwgY29uc3QgY2hhciogYWN0aXZlRE9N
T2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwotICAgIHZpcnR1YWwgYm9vbCBjYW5T
dXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CisgICAgdmlydHVhbCBi
b29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZSBmaW5h
bDsKIAogICAgIGNvbnN0IElEQkRhdGFiYXNlSW5mbyYgaW5mbygpIGNvbnN0IHsgcmV0dXJuIG1f
aW5mbzsgfQogICAgIHVpbnQ2NF90IGRhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX2RhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXI7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdElt
cGwuY3BwCmluZGV4IGU5YzRlNzRjZjE3MmZjZjg4YWQwNjZhMDNjYmRmMjU2MjU4NDk4YmYuLjZl
OTYwMTBiNGMwMzE1ZDg3MmU5NmIwZTg2ODI0NDg5YzNiZjAwNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBs
LmNwcApAQCAtMjE1LDcgKzIxNSw3IEBAIGNvbnN0IGNoYXIqIElEQlJlcXVlc3Q6OmFjdGl2ZURP
TU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiSURCUmVxdWVzdCI7CiB9CiAKLWJvb2wg
SURCUmVxdWVzdDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIElEQlJlcXVl
c3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIHJldHVy
biBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmgKaW5kZXggYTNjNDYwNDFmY2JmY2FmZDg5YmY0NjJj
Y2YzM2FkZGVhMjNjZWNmZS4uZDIzMDFjZTY2MThkNzkzOTBmMjhmMjcxNThjMmJlMjQwMzhlZTEx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QlJlcXVlc3RJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQlJlcXVlc3RJbXBsLmgKQEAgLTEwNiw3ICsxMDYsNyBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICAvLyBBY3RpdmVET01PYmplY3QuCiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiBhY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGUgZmluYWw7Ci0gICAgdmlydHVhbCBib29sIGNhblN1
c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKKyAgICB2aXJ0dWFsIGJv
b2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlIGZpbmFs
OwogICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBvdmVycmlkZSBm
aW5hbDsKICAgICAKICAgICAvLyBFdmVudFRhcmdldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5j
cHAKaW5kZXggZTQwODVkZjA1ZDhlYzk2NWMzNmVkYmFlMGE3ZjJmZWUxNzczOTEzYi4uYTg2MTkx
NTdmOTIyYWJlNDVhZDA3MGFlZmMxOGFkYjg2ZDI1YzRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9u
SW1wbC5jcHAKQEAgLTIwNiw3ICsyMDYsNyBAQCBjb25zdCBjaGFyKiBJREJUcmFuc2FjdGlvbjo6
YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJJREJUcmFuc2FjdGlvbiI7
CiB9CiAKLWJvb2wgSURCVHJhbnNhY3Rpb246OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25z
dAorYm9vbCBJREJUcmFuc2FjdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5oCmlu
ZGV4IDE0MjQ0N2JjMmE1NmE2M2UzMjU3ZWYyMjRhMTY3YjM4YjJiZTZiM2IuLmQxYjA1ZjA1OTE4
MjIxNTYxOTAxOTc1NWUxOGYzZjA2N2NlYzdmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCVHJhbnNhY3Rpb25JbXBsLmgK
QEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50
KEV2ZW50Jikgb3ZlcnJpZGUgZmluYWw7CiAKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGFjdGl2
ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKLSAgICB2aXJ0dWFsIGJvb2wg
Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1
YWwgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGUg
ZmluYWw7CiAgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IG92ZXJy
aWRlIGZpbmFsOwogCiAgICAgY29uc3QgSURCVHJhbnNhY3Rpb25JbmZvIGluZm8oKSBjb25zdCB7
IHJldHVybiBtX2luZm87IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2xlZ2FjeS9MZWdhY3lEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5RGF0YWJhc2UuY3BwCmluZGV4IGQwM2YxMjhjZDMxMWVk
MjI5YmRjMzRjN2MwMWU1Y2UwZTExYjY3Y2MuLjg2NWM5ZjI5YTVkZjI2ZmE1MWJkMWI5MTgxNzIz
MmMzMzU4ZWMzOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2xlZ2FjeS9MZWdhY3lEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvbGVnYWN5L0xlZ2FjeURhdGFiYXNlLmNwcApAQCAtMzkzLDcgKzM5Myw3IEBAIGNv
bnN0IGNoYXIqIExlZ2FjeURhdGFiYXNlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAg
ICByZXR1cm4gIkxlZ2FjeURhdGFiYXNlIjsKIH0KIAotYm9vbCBMZWdhY3lEYXRhYmFzZTo6Y2Fu
U3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIExlZ2FjeURhdGFiYXNlOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9pc0Nsb3Nl
ZDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2Fj
eS9MZWdhY3lEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVn
YWN5L0xlZ2FjeURhdGFiYXNlLmgKaW5kZXggZWExZWI1ZjIzZGEwZjU2NmQ5NjMzNjhhNjhiYzMx
YWY0NGZkYjI2Mi4uNjUxZWNiNGNlMmUzOWRhZDU1YmRjYWNjOGJlOTUwM2EyYjg2YjJlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeURh
dGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xl
Z2FjeURhdGFiYXNlLmgKQEAgLTExMCw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIC8vIEFjdGl2
ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hh
ciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3Vz
cGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgLy8gRXZlbnRUYXJn
ZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IHJl
ZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdh
Y3kvTGVnYWN5UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9s
ZWdhY3kvTGVnYWN5UmVxdWVzdC5jcHAKaW5kZXggMmM3NDdhNTZhYWFkNTNjZjdkNGQzYTNkZDA4
NGY4ZDVmMzJhOWFkMi4uYzE4NDQ3ZGUzOTVjYWIxNDYzOWM0NWJhZGQ0ZmE4NDU4YzhmOTA1ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2Fj
eVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2Fj
eS9MZWdhY3lSZXF1ZXN0LmNwcApAQCAtNDUxLDcgKzQ1MSw3IEBAIHZvaWQgTGVnYWN5UmVxdWVz
dDo6c3RvcCgpCiAgICAgICAgIG1hcmtFYXJseURlYXRoKCk7CiB9CiAKLWJvb2wgTGVnYWN5UmVx
dWVzdDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIExlZ2FjeVJlcXVlc3Q6
OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIHJldHVybiAh
bV9oYXNQZW5kaW5nQWN0aXZpdHk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeVJlcXVlc3QuaAppbmRleCBlYjFmYmFlZjJhZTYy
NjVlMzIxN2JiYWNlNWYxYzA3ZTVmZDFiY2JjLi4yODE2OTE0M2MwMjM3ODdkMmYxMTYwNzg3ZDlm
NjkxMmNkZTUzODRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9sZWdhY3kvTGVnYWN5UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2xlZ2FjeS9MZWdhY3lSZXF1ZXN0LmgKQEAgLTEyNiw3ICsxMjYsNyBAQCBwcml2YXRl
OgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7
CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJv
b2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogCiAg
ICAgLy8gRXZlbnRUYXJnZXQgQVBJLgogICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgp
IG92ZXJyaWRlIGZpbmFsIHsgcmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5VHJhbnNhY3Rpb24uY3BwCmluZGV4
IGNlODQ5ZmQzZjc2NGE0NWZlODAxY2FkZTIxMDZkZWQwMTVlM2I0ZWIuLjJlOTQ5N2ZjMGI2OTE0
MjYyNDM5NzIzMzEwYjVkMzlhN2VhNjNmYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGVnYWN5L0xlZ2FjeVRyYW5zYWN0aW9uLmNwcApA
QCAtMzQwLDcgKzM0MCw3IEBAIGJvb2wgTGVnYWN5VHJhbnNhY3Rpb246OmRpc3BhdGNoRXZlbnQo
RXZlbnQmIGV2ZW50KQogICAgIHJldHVybiByZXR1cm5WYWx1ZTsKIH0KIAotYm9vbCBMZWdhY3lU
cmFuc2FjdGlvbjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIExlZ2FjeVRy
YW5zYWN0aW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAg
ICAvLyBGSVhNRTogVGVjaG5pY2FsbHkgd2UgY2FuIHN1c3BlbmQgYmVmb3JlIHRoZSBmaXJzdCBy
ZXF1ZXN0IGlzIHNjaGVkdWxlCiAgICAgLy8gICAgICAgIGFuZCBhZnRlciB0aGUgY29tcGxldGUv
YWJvcnQgZXZlbnQgaXMgZW5xdWV1ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9sZWdhY3kvTGVnYWN5VHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5oCmluZGV4IGY3OWRl
YzMzMzk1ZGEyYTViZDY2MzNhNjIzYzgzYTNmOTcwNzU1NGYuLjlmNzc1MGVjMzRkNzllZWIxMzNh
Yjk0ODEyZDliNWMyOWE4NzVkMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9MZWdhY3lUcmFuc2FjdGlvbi5oCkBAIC0xMTEsNyAr
MTExLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVucmVnaXN0ZXJPcGVuQ3Vyc29yKExlZ2FjeUN1
cnNvciopOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KLSAgICBib29sIGNhblN1c3Bl
bmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHN0b3AoKSBvdmVy
cmlkZTsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJp
ZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVk
aWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNv
dXJjZS5jcHAKaW5kZXggMjNjMzdiZmEyNTZjOTc0ZTkxNmNmMjVjZDQ5ZjYxN2M4NWQyZmViYS4u
MjRjYjBlNWViN2YyOGRkMmMzMjdkNjFjNTgyZjE3YWM4ZjBhMDNlNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTgxNCw3
ICs4MTQsNyBAQCB2b2lkIE1lZGlhU291cmNlOjpzdG9wKCkKICAgICBtX3ByaXZhdGUgPSBudWxs
cHRyOwogfQogCi1ib29sIE1lZGlhU291cmNlOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29u
c3QKK2Jvb2wgTWVkaWFTb3VyY2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBj
b25zdAogewogICAgIHJldHVybiBpc0Nsb3NlZCgpICYmICFtX2FzeW5jRXZlbnRRdWV1ZS5oYXNQ
ZW5kaW5nRXZlbnRzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlLmgKaW5kZXggMDU5OWVmMDI1NDA5NmE1ODAxMWJjN2U1MDRlZWNiOTJk
ZjI0N2NjNC4uYTRmNGE1YzMxNGY4YWIwY2NlYWVjZDY5ZWE2OWRmZDc4YTQxZWFmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaApAQCAt
MTE5LDcgKzExOSw3IEBAIHByb3RlY3RlZDoKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEku
CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNh
Y2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBvblJlYWR5U3RhdGVDaGFuZ2UoY29u
c3QgQXRvbWljU3RyaW5nJiBvbGRTdGF0ZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdGF0ZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1
ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHAKaW5kZXggYzg2ZTgyMGQ4ZGQ0YTJiNzk4ZGIyZGUwMjQ4N2Q2Yjg3ZmNiZGY2ZC4uOGQ2
NDYxNmUxNTM1NTU1YjJlNGE4YzAyYTUzY2ZiMzFjM2ZlZmYwMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcApAQCAtNTEwLDcg
KzUxMCw3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzdG9wKCkKICAgICBtX3JlbW92ZVRpbWVyLnN0
b3AoKTsKIH0KIAotYm9vbCBTb3VyY2VCdWZmZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBj
b25zdAorYm9vbCBTb3VyY2VCdWZmZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBjb25zdAogewogICAgIHJldHVybiAhaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAppbmRleCBl
ZGE0Mzk5MjEwNWZiYjU3NmE4YWExYzllOTNhMzdlNzc1NmI2MjU0Li44ZjNkMDM0NjUxODQyMzM3
YjY1MDM4ZTlmNDg2YmI0ZjE2ZGY0ZTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKQEAgLTEzOSw3ICsxMzksNyBAQCBwcml2YXRl
OgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7
CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJv
b2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogCiAg
ICAgLy8gU291cmNlQnVmZmVyUHJpdmF0ZUNsaWVudAogICAgIHZpcnR1YWwgdm9pZCBzb3VyY2VC
dWZmZXJQcml2YXRlRGlkRW5kU3RyZWFtKFNvdXJjZUJ1ZmZlclByaXZhdGUqLCBjb25zdCBXVEY6
OkF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKaW5kZXggZDdhMmE1ZWRiYmU1
N2FjYWVmODk0MzExNTgwMzJiNWJkOGY2ZjY5MS4uNjFkMDZlYTBiOTViOGY3OTE1NDg1NzNhZWY5
ZTE2MmNiMjdjYzRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgY29uc3Qg
Y2hhciogTWVkaWFTdHJlYW1UcmFjazo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAg
cmV0dXJuICJNZWRpYVN0cmVhbVRyYWNrIjsKIH0KIAotYm9vbCBNZWRpYVN0cmVhbVRyYWNrOjpj
YW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgTWVkaWFTdHJlYW1UcmFjazo6Y2Fu
U3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IFdl
IHNob3VsZCB0cnkgYW5kIGRvIGJldHRlciBoZXJlLgogICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
ay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNr
LmgKaW5kZXggNzJlNzVhNjU4Y2M5Y2UxZThkNDIyYzRlZTAxMjM3OTM3YjRjZTdiYi4uOGQ3OGJk
ZDk2NjgyYmRkODNmMjMyOGNkMzQxYWJlZTk2YTBhOWU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTEwOCw3
ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9p
ZCBzdG9wKCkgb3ZlcnJpZGUgZmluYWw7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VD
YWNoZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogCiAgICAgLy8gRXZlbnRUYXJn
ZXQKICAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSBmaW5hbCB7IHJl
ZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmNwcAppbmRleCBjOWUyY2NhYzVjMWE2MzdjYWUyNTJlYWFlMzllMThlZGFhYmQ0
ZTE3Li5hYzJiODRmMDIxMmIyYzhiOWM5MTliZTUwYTlmNWEwMjBlZjZmYTNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAK
QEAgLTEzOSw3ICsxMzksNyBAQCBjb25zdCBjaGFyKiBSVENEVE1GU2VuZGVyOjphY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIlJUQ0RUTUZTZW5kZXIiOwogfQogCi1ib29s
IFJUQ0RUTUZTZW5kZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBSVENE
VE1GU2VuZGVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAg
ICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyeSBhbmQgZG8gYmV0dGVyIGhlcmUuCiAgICAgcmV0dXJu
IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEVE1GU2VuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RU
TUZTZW5kZXIuaAppbmRleCBhYTVkZGE5MWJiOGY0OTQ1NmZhN2RlOGJmZTRmZmFmYTZmMDM1NjMy
Li45OTkyY2UwNmJiYmJlZjJhNzExYWY0NmYzZDA4ZmQ0NTMzMmMzZDA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaApAQCAtNjks
NyArNjksNyBAQCBwcml2YXRlOgogICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIHZvaWQgc3Rv
cCgpIG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVy
cmlkZTsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBv
dmVycmlkZTsKIAogICAgIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEV2ZW50KFJlZjxFdmVudD4mJik7
CiAgICAgdm9pZCBzY2hlZHVsZWRFdmVudFRpbWVyRmlyZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKaW5k
ZXggMWNjNjZhMjE5OGJjMTViYTZiMGEyZWZmNjlkOWY1OTkwYzQzNzMyNy4uMDM1MmIwMTE2Yzcw
ZDdiZWYyODM1NWMyNzJmNTlhNTA5YTE2NDM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAKQEAgLTM5OCw3
ICszOTgsNyBAQCBjb25zdCBjaGFyKiBSVENQZWVyQ29ubmVjdGlvbjo6YWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJSVENQZWVyQ29ubmVjdGlvbiI7CiB9CiAKLWJvb2wg
UlRDUGVlckNvbm5lY3Rpb246OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBS
VENQZWVyQ29ubmVjdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0
CiB7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cnkgYW5kIGRvIGJldHRlciBoZXJlLgogICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaAppbmRleCBkZWEyY2NjMTFhMDRiZjU4NGUzZTYwMDU4
NGIzMDNhZDkzODljMDUwLi5hNGY5MDI1ZWFlYzZiYTc5MDlhM2FhMjE1MjliOTNiNmUxZjJiNGY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi5oCkBAIC0xMTcsNyArMTE3LDcgQEAgcHJpdmF0ZToKICAgICAvLyBBY3Rp
dmVET01PYmplY3QKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKICAgICBjb25zdCBjaGFyKiBh
Y3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5k
Rm9yUGFnZUNhY2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICAvLyBQZWVyQ29ubmVjdGlv
bkJhY2tlbmRDbGllbnQKICAgICB2b2lkIHNldFNpZ25hbGluZ1N0YXRlKFBlZXJDb25uZWN0aW9u
U3RhdGVzOjpTaWduYWxpbmdTdGF0ZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9u
cy5jcHAKaW5kZXggYmQyYTFhMzA5M2YyN2M1YjM3MTAzZjZlOWU4OGUyZmRhZWQ4NTY0NC4uODNi
OTlhZWY4YWFmMjM5YjVkOWRlOGUyOWFkYTk3OWVjY2U2ZWQ1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3Rp
ZmljYXRpb25zLmNwcApAQCAtNjgsMTUgKzY4LDE1IEBAIE5vdGlmaWNhdGlvbkNlbnRlciogRE9N
V2luZG93Tm90aWZpY2F0aW9uczo6d2Via2l0Tm90aWZpY2F0aW9ucyhET01XaW5kb3cqIHdpbmRv
CiAgICAgcmV0dXJuIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmZyb20od2luZG93KS0+d2Via2l0
Tm90aWZpY2F0aW9ucygpOwogfQogCi12b2lkIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmRpc2Nv
bm5lY3RGcmFtZUZvclBhZ2VDYWNoZSgpCit2b2lkIERPTVdpbmRvd05vdGlmaWNhdGlvbnM6OmRp
c2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpCiB7CiAgICAgbV9zdXNwZW5kZWRO
b3RpZmljYXRpb25DZW50ZXIgPSBtX25vdGlmaWNhdGlvbkNlbnRlci5yZWxlYXNlKCk7Ci0gICAg
RE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5lY3RGcmFtZUZvclBhZ2VDYWNoZSgpOworICAgIERP
TVdpbmRvd1Byb3BlcnR5OjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKTsK
IH0KIAotdm9pZCBET01XaW5kb3dOb3RpZmljYXRpb25zOjpyZWNvbm5lY3RGcmFtZUZyb21QYWdl
Q2FjaGUoRnJhbWUqIGZyYW1lKQordm9pZCBET01XaW5kb3dOb3RpZmljYXRpb25zOjpyZWNvbm5l
Y3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJhbWUqIGZyYW1lKQogewotICAgIERPTVdp
bmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUoZnJhbWUpOworICAgIERP
TVdpbmRvd1Byb3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oZnJh
bWUpOwogICAgIG1fbm90aWZpY2F0aW9uQ2VudGVyID0gbV9zdXNwZW5kZWROb3RpZmljYXRpb25D
ZW50ZXIucmVsZWFzZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMuaAppbmRleCA3ZTk5
NzI4MGIwYjg3ODI3NGY4ZTkwMDk2M2UyMGQ0MmM3NjA2NzFhLi5lOWQxYmZlMTQyNjg3NjQ4OTNi
ZDkxY2IxM2E3YzFkYTQwZjUzMDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9ET01XaW5kb3dOb3RpZmljYXRpb25zLmgKQEAgLTQ2
LDggKzQ2LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBOb3RpZmljYXRpb25DZW50ZXIqIHdlYmtp
dE5vdGlmaWNhdGlvbnMoRE9NV2luZG93Kik7CiAgICAgc3RhdGljIERPTVdpbmRvd05vdGlmaWNh
dGlvbnMqIGZyb20oRE9NV2luZG93Kik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZy
YW1lRm9yUGFnZUNhY2hlKCkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHJlY29ubmVjdEZy
YW1lRnJvbVBhZ2VDYWNoZShGcmFtZSopIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNj
b25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFs
IHZvaWQgcmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKEZyYW1lKikgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95R2xvYmFsT2JqZWN0SW5DYWNoZWRGcmFt
ZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUdsb2JhbE9iamVjdElu
RnJhbWUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERldGFjaEdsb2JhbE9iamVj
dEZyb21GcmFtZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCA4ZjcwZmUxMzQ1MTA5YjVlMjQx
NmUzNWUxNTUwYTcxODU1NTE5NmZlLi5iZmVhYWI5ZThjOWZiNmQ0NDc4MTNmYmRmMTQxODgwNmJm
NDgyM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmNwcApAQCAtMTc1LDcgKzE3NSw3IEBAIGNvbnN0IGNoYXIqIE5vdGlm
aWNhdGlvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJOb3RpZmlj
YXRpb24iOwogfQogCi1ib29sIE5vdGlmaWNhdGlvbjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgp
IGNvbnN0Citib29sIE5vdGlmaWNhdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bigpIGNvbnN0CiB7CiAgICAgLy8gV2UgY2FuIHN1c3BlbmQgaWYgdGhlIE5vdGlmaWNhdGlvbiBp
cyBub3Qgc2hvd24geWV0IG9yIGFmdGVyIGl0IGlzIGNsb3NlZC4KICAgICByZXR1cm4gbV9zdGF0
ZSA9PSBJZGxlIHx8IG1fc3RhdGUgPT0gQ2xvc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGRiNjkzMzkzZmViOTE1
Y2M1OGEwOTk0YWU4NzJhM2E2YzhlNjZiZGUuLjNjNGQ0NmIzMWM4ZDA0ZDc0ZjI3NzU1MGZiMWFk
ZjM4YTIyMmE4YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTE0MCw3ICsxNDAsNyBAQCBwcml2YXRlOgogICAgIC8v
IEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBjb250ZXh0RGVzdHJveWVkKCkgb3ZlcnJp
ZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRl
OwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAg
IGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwog
CiAgICAgLy8gRXZlbnRUYXJnZXQgQVBJLgogICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdl
dCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKaW5kZXggMThiMDA5
M2FmYjQzMjNkYTViNDM1MTY3NmRmYTk0ZDI2ZmFlZWZkNy4uYzdmMDZkMTM5YjE5M2JhMzFlODYx
ZTY0MzQ1NWYyM2MyM2I5ZDE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5jcHAKQEAgLTEzNyw3ICsx
MzcsNyBAQCBjb25zdCBjaGFyKiBOb3RpZmljYXRpb25DZW50ZXI6OmFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdAogICAgIHJldHVybiAiTm90aWZpY2F0aW9uQ2VudGVyIjsKIH0KIAotYm9vbCBO
b3RpZmljYXRpb25DZW50ZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBO
b3RpZmljYXRpb25DZW50ZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25z
dAogewogICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gd29ycnkgYWJvdXQgTm90aWZpY2F0aW9ucyBi
ZWNhdXNlIHRob3NlIGFyZSBBY3RpdmVET01PYmplY3QgdG9vLgogICAgIC8vIFRoZSBOb3RpZmlj
YXRpb25DZW50ZXIgY2FuIHNhZmVseSBiZSBzdXNwZW5kZWQgaWYgdGhlcmUgYXJlIG5vIHBlbmRp
bmcgcGVybWlzc2lvbiByZXF1ZXN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaAppbmRleCAzNTgxZjQ1MWEx
YWMwM2FiNTE4M2NkMjQzYzAxNDI2N2E3YmQzMDBlLi5mZmVjOWFiZDRiYTcyMTYxZjIyZDViMzUz
Y2IyNmM3MWI1ZjE0YmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ2VudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5oCkBAIC02NSw3ICs2NSw3IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKICAgICBjb25zdCBjaGFyKiBhY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9y
UGFnZUNhY2hlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1l
bnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHRpbWVyRmlyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3Bw
CmluZGV4IDQwYTQwYjE5ZmE3OTIxMDJmY2RiMDk0MzlkZDJjNTAwYmU0NmM0MzAuLjE5Y2Y3Y2Nk
NjYwYmU4ZTAwZDY0MzQwMDUzZjMwMWQ1ZGRmNmI5OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTM1NSw3ICszNTUsNyBAQCB2
b2lkIEF1ZGlvQ29udGV4dDo6c3RvcCgpCiAgICAgfSk7CiB9CiAKLWJvb2wgQXVkaW9Db250ZXh0
OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgQXVkaW9Db250ZXh0OjpjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIGJlIGFibGUgdG8gc3VzcGVuZCB3aGlsZSByZW5kZXJpbmcgYXMgd2VsbCB3aXRoIHNv
bWUgbW9yZSBjb2RlLgogICAgIHJldHVybiBtX3N0YXRlID09IFN0YXRlOjpTdXNwZW5kZWQgfHwg
bV9zdGF0ZSA9PSBTdGF0ZTo6Q2xvc2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Db250ZXh0LmgKaW5kZXggMzdiYWM0OWZiOWY1YjcwMGRmMjZjMTRhOWQxODYz
OTg1Y2YzMzQzZi4uMTUzMTE1MTdmYzBiYjk5YWI4MDdhZmI4NzhkNTk4NzAyZjAwOWExNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0z
MDgsNyArMzA4LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAg
ICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNhY2hl
KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5z
aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgLy8gV2hlbiB0aGUgY29udGV4dCBnb2VzIGF3YXks
IHRoZXJlIG1pZ2h0IHN0aWxsIGJlIHNvbWUgc291cmNlcyB3aGljaCBoYXZlbid0IGZpbmlzaGVk
IHBsYXlpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L0RhdGFiYXNlQ29udGV4dC5jcHAKaW5kZXggNjAzMGNjMWFlNWZiMDRkMjg1MmIzNmE2NGE5ZmEz
NzRjZGY1ZjI4MC4uNDJiZTkxYjE1NGU0MWVhYzc1YWNkMzJmNTE2M2M1NmQ4NWY5ZTc4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VD
b250ZXh0LmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgRGF0YWJhc2VDb250ZXh0OjpzdG9w
KCkKICAgICBzdG9wRGF0YWJhc2VzKCk7CiB9CiAKLWJvb2wgRGF0YWJhc2VDb250ZXh0OjpjYW5T
dXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgRGF0YWJhc2VDb250ZXh0OjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICBpZiAoIWhhc09wZW5EYXRh
YmFzZXMoKSB8fCAhbV9kYXRhYmFzZVRocmVhZCkKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNvbnRleHQu
aAppbmRleCA1NGQ1NGUwMjRkYTViMDU1MGNiYzI3ZjEyYmYzZDM1NDhhNDU3OTJiLi5kNWI5MTJj
ZjI0NmNkYThkNTVkOTFmMTdmNTMzYjNmZTlkN2I5MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmgKQEAgLTcxLDcgKzcx
LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY29udGV4dERlc3Ryb3llZCgpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNo
ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVu
c2lvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiRGF0YWJhc2VDb250ZXh0IjsgfQogCiAgICAg
UmVmUHRyPERhdGFiYXNlVGhyZWFkPiBtX2RhdGFiYXNlVGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCA0MWViMTA5ZTdiZWJk
OGJlZjFiOTZlODY0NTI2MjU1NjM5MjUxZGMxLi4wZjQ3NjgxNWM1NDFiMGMxMzkzY2M4MTIxNTYw
NTY2NzY4ZjNhNmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcApAQCAtNDc1LDcgKzQ3NSw3IEBAIHZvaWQgV2ViU29ja2V0Ojpjb250ZXh0
RGVzdHJveWVkKCkKICAgICBBY3RpdmVET01PYmplY3Q6OmNvbnRleHREZXN0cm95ZWQoKTsKIH0K
IAotYm9vbCBXZWJTb2NrZXQ6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBX
ZWJTb2NrZXQ6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAg
IHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJz
b2NrZXRzL1dlYlNvY2tldC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5oCmluZGV4IDEyMDA0NTQ0MDJjOWZmNDFhOWE1MzgwZTYxNjE4NDdmOTY5NGI4NmUu
LmUwN2Y0MDg1MTE4ZDdhMzUwY2ZhNTEyMzJlMTNlY2E4YjNiM2RiODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmgKQEAgLTExNSw3ICsxMTUsNyBA
QCBwcml2YXRlOgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KICAgICB2b2lkIGNvbnRl
eHREZXN0cm95ZWQoKSBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JQYWdlQ2FjaGUo
KSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNp
b24oKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lv
bikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXN1bWUoKSBvdmVycmlkZTsKICAgICB2b2lkIHN0b3Ao
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmNwcAppbmRleCBjOTA3NDYwNWEzZTYw
OTU4MGY5OTJhYTYxZjdkNWUzZjA1OGRiNTVmLi45MzNiNGEzODI0MGMwYWIyNGFkMzYyY2QxMDRl
NWU5M2E0MzBmYjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuY3BwCkBAIC0xNjEsNyArMTYx
LDcgQEAgY29uc3QgY2hhciogRm9udExvYWRlcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0
CiAgICAgcmV0dXJuICJGb250TG9hZGVyIjsKIH0KIAotYm9vbCBGb250TG9hZGVyOjpjYW5TdXNw
ZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgRm9udExvYWRlcjo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuICFtX251bUxvYWRpbmdGcm9t
Q1NTICYmICFtX251bUxvYWRpbmdGcm9tSlM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuaAppbmRl
eCAzMzQ0NTk0ZTYxODkyMGMwOTdlZTAxYmVkZmM2MTFhYmE5MTA2ZDZkLi5lMTAwOGZhZWY0NmIw
ODA4YmU1ZTczMDVlMTMxYWI1OTVkZGMwNzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvRm9udExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmgKQEAg
LTg5LDcgKzg5LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAg
ICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwotICAg
IGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wg
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAg
dm9pZCBzY2hlZHVsZUV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KTsKICAgICB2b2lkIGZpcmVQZW5k
aW5nRXZlbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0aXZlRE9NT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuY3BwCmluZGV4IGJk
MjdjYWNjMTlhYjllZmMyNDZiMzc0YWU4Mjc4ZTI5NzVhYmJjNTIuLmQ2Y2ZlMjk3MWE2ZTJiNDUw
OTA0ZDI1NWIwNGM1NDRjMjk5MDFhNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9B
Y3RpdmVET01PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVET01PYmpl
Y3QuY3BwCkBAIC05MCw3ICs5MCw3IEBAIGJvb2wgQWN0aXZlRE9NT2JqZWN0OjpoYXNQZW5kaW5n
QWN0aXZpdHkoKSBjb25zdAogICAgIHJldHVybiBtX3BlbmRpbmdBY3Rpdml0eUNvdW50OwogfQog
Ci1ib29sIEFjdGl2ZURPTU9iamVjdDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citi
b29sIEFjdGl2ZURPTU9iamVjdDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0FjdGl2ZURPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9iamVj
dC5oCmluZGV4IDQ2M2M5OGJiMWIxZWQyYTJiNWY3NjcyZWNkNDQ4YzgyNzI1MGYwZGYuLmZiMWMw
NGVlY2M4NDQ2OTE2OGY3MGNlZTNjYzQ3Njg4MTg3MWExYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWN0
aXZlRE9NT2JqZWN0LmgKQEAgLTQyLDExICs0MiwxMSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Q7CiAKLSAgICAvLyBUaGUgY2FuU3VzcGVu
ZEZvclBhZ2VDYWNoZSgpIGZ1bmN0aW9uIGlzIHVzZWQgYnkgdGhlIGNhbGxlciBpZiB0aGVyZSBp
cyBhIGNob2ljZSBiZXR3ZWVuIHN1c3BlbmRpbmcKKyAgICAvLyBUaGUgY2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbigpIGZ1bmN0aW9uIGlzIHVzZWQgYnkgdGhlIGNhbGxlciBpZiB0aGVy
ZSBpcyBhIGNob2ljZSBiZXR3ZWVuIHN1c3BlbmRpbmcKICAgICAvLyBhbmQgc3RvcHBpbmcuIEZv
ciBleGFtcGxlLCBhIHBhZ2Ugd29uJ3QgYmUgc3VzcGVuZGVkIGFuZCBwbGFjZWQgaW4gdGhlIGJh
Y2svZm9yd2FyZAogICAgIC8vIGNhY2hlIGlmIGl0IGNvbnRhaW5zIGFueSBvYmplY3RzIHRoYXQg
Y2Fubm90IGJlIHN1c3BlbmRlZC4KIAotICAgIC8vIEhvd2V2ZXIsIHRoZSBzdXNwZW5kIGZ1bmN0
aW9uIHdpbGwgc29tZXRpbWVzIGJlIGNhbGxlZCBldmVuIGlmIGNhblN1c3BlbmRGb3JQYWdlQ2Fj
aGUoKSByZXR1cm5zIGZhbHNlLgorICAgIC8vIEhvd2V2ZXIsIHRoZSBzdXNwZW5kIGZ1bmN0aW9u
IHdpbGwgc29tZXRpbWVzIGJlIGNhbGxlZCBldmVuIGlmIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1
c3BlbnNpb24oKSByZXR1cm5zIGZhbHNlLgogICAgIC8vIFRoYXQgaGFwcGVucyBpbiBzdGVwLWJ5
LXN0ZXAgSlMgZGVidWdnaW5nIGZvciBleGFtcGxlIC0gaW4gdGhpcyBjYXNlIGl0IHdvdWxkIGJl
IGluY29ycmVjdAogICAgIC8vIHRvIHN0b3AgdGhlIG9iamVjdC4gRXhhY3Qgc2VtYW50aWNzIG9m
IHN1c3BlbmQgaXMgdXAgdG8gdGhlIG9iamVjdCBpbiBjYXNlcyBsaWtlIHRoYXQuCiAKQEAgLTYy
LDcgKzYyLDcgQEAgcHVibGljOgogCiAgICAgLy8gVGhlc2UgdGhyZWUgZnVuY3Rpb25zIG11c3Qg
bm90IGhhdmUgYSBzaWRlIGVmZmVjdCBvZiBjcmVhdGluZyBvciBkZXN0cm95aW5nCiAgICAgLy8g
YW55IEFjdGl2ZURPTU9iamVjdC4gVGhhdCBtZWFucyB0aGV5IG11c3Qgbm90IHJlc3VsdCBpbiBj
YWxscyB0byBhcmJpdHJhcnkgSmF2YVNjcmlwdC4KLSAgICB2aXJ0dWFsIGJvb2wgY2FuU3VzcGVu
ZEZvclBhZ2VDYWNoZSgpIGNvbnN0ID0gMDsgLy8gUmV0dXJuaW5nIGZhbHNlIGluIGNhblN1c3Bl
bmRGb3JQYWdlQ2FjaGUoKSB3aWxsIHByZXZlbnQgdGhlIHBhZ2UgZnJvbSBlbnRlcmluZyB0aGUg
UGFnZUNhY2hlLgorICAgIHZpcnR1YWwgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5z
aW9uKCkgY29uc3QgPSAwOyAvLyBSZXR1cm5pbmcgZmFsc2UgaW4gY2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIHdpbGwgcHJldmVudCB0aGUgcGFnZSBmcm9tIGVudGVyaW5nIHRoZSBQ
YWdlQ2FjaGUuCiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbik7
CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCA1MTlmZmIwM2RiZmEyNDVkODYzYjUxMDFkYmU1ZjcxM2QwMGQzNDU4Li40YzllMzY5NGExMDdj
ODdjZDhkNzhjMjFmYjkyN2U1ZWVhZWMxYzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTYwNCw3ICs2MDQsNyBAQCBEb2N1bWVudDo6fkRvY3VtZW50KCkKIAogICAgIC8vIEZJWE1FOiBT
aG91bGQgd2UgcmVzZXQgbV9kb21XaW5kb3cgd2hlbiB3ZSBkZXRhY2ggZnJvbSB0aGUgRnJhbWU/
CiAgICAgaWYgKG1fZG9tV2luZG93KQotICAgICAgICBtX2RvbVdpbmRvdy0+cmVzZXRVbmxlc3NT
dXNwZW5kZWRGb3JQYWdlQ2FjaGUoKTsKKyAgICAgICAgbV9kb21XaW5kb3ctPnJlc2V0VW5sZXNz
U3VzcGVuZGVkRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCk7CiAKICAgICBtX3NjcmlwdFJ1bm5lciA9
IG51bGxwdHI7CiAgICAgbV9tb2R1bGVMb2FkZXIgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IGYwNTJkODZlYjU0NTBjMjcw
MzhiZDU0Y2RkZDU2YzhjODVkMDk5ZjcuLjM2NmUxNmU5ZmRhYzAzZWI1MzFkODI1NGMwYTc3OGFh
NWU3N2Y5YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAKQEAgLTE3Niw3ICsxNzYsNyBAQCB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRp
ZExvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JgogewogfQog
Ci1ib29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNhblN1c3BlbmRBY3RpdmVET01PYmplY3Rz
Rm9yUGFnZUNhY2hlKFZlY3RvcjxBY3RpdmVET01PYmplY3QqPiogdW5zdXNwZW5kYWJsZU9iamVj
dHMpCitib29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNhblN1c3BlbmRBY3RpdmVET01PYmpl
Y3RzRm9yRG9jdW1lbnRTdXNwZW5zaW9uKFZlY3RvcjxBY3RpdmVET01PYmplY3QqPiogdW5zdXNw
ZW5kYWJsZU9iamVjdHMpCiB7CiAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogCkBAIC0xOTMsNyAr
MTkzLDcgQEAgYm9vbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjYW5TdXNwZW5kQWN0aXZlRE9N
T2JqZWN0c0ZvclBhZ2VDYWNoZShWZWN0b3I8QWN0aXYKICAgICAvLyBjYW5TdXNwZW5kIGZ1bmN0
aW9ucyBzbyBpdCB3aWxsIG5vdCBoYXBwZW4hCiAgICAgTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9u
IGFzc2VydE5vRXZlbnREaXNwYXRjaDsKICAgICBmb3IgKGF1dG8qIGFjdGl2ZURPTU9iamVjdCA6
IG1fYWN0aXZlRE9NT2JqZWN0cykgewotICAgICAgICBpZiAoIWFjdGl2ZURPTU9iamVjdC0+Y2Fu
U3VzcGVuZEZvclBhZ2VDYWNoZSgpKSB7CisgICAgICAgIGlmICghYWN0aXZlRE9NT2JqZWN0LT5j
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkpIHsKICAgICAgICAgICAgIGNhblN1c3Bl
bmQgPSBmYWxzZTsKICAgICAgICAgICAgIGlmICh1bnN1c3BlbmRhYmxlT2JqZWN0cykKICAgICAg
ICAgICAgICAgICB1bnN1c3BlbmRhYmxlT2JqZWN0cy0+YXBwZW5kKGFjdGl2ZURPTU9iamVjdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCAxNDAz
MGY4MmIxNWFjYWIwOGIzZjlhNDA3ZDU2M2U4Y2ZjYTg4YTdkLi45ZDAwNThjYjNhMzIzMzYwOWFh
ODZlZWQ3ZTFmZDFmMDhlNTg2YzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgKQEAgLTg1LDkgKzg1LDkgQEAgcHVibGljOgogICAgIFB1YmxpY1VSTE1h
bmFnZXImIHB1YmxpY1VSTE1hbmFnZXIoKTsKIAogICAgIC8vIEFjdGl2ZSBvYmplY3RzIGFyZSBu
b3QgZ2FyYmFnZSBjb2xsZWN0ZWQgZXZlbiBpZiBpbmFjY2Vzc2libGUsIGUuZy4gYmVjYXVzZSB0
aGVpciBhY3Rpdml0eSBtYXkgcmVzdWx0IGluIGNhbGxiYWNrcyBiZWluZyBpbnZva2VkLgotICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgY2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHNGb3JQYWdlQ2Fj
aGUoVmVjdG9yPEFjdGl2ZURPTU9iamVjdCo+KiB1bnN1c3BlbmRhYmxlT2JqZWN0cyA9IG51bGxw
dHIpOworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHNG
b3JEb2N1bWVudFN1c3BlbnNpb24oVmVjdG9yPEFjdGl2ZURPTU9iamVjdCo+KiB1bnN1c3BlbmRh
YmxlT2JqZWN0cyA9IG51bGxwdHIpOwogCi0gICAgLy8gQWN0aXZlIG9iamVjdHMgY2FuIGJlIGFz
a2VkIHRvIHN1c3BlbmQgZXZlbiBpZiBjYW5TdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0ZvclBhZ2VD
YWNoZSgpIHJldHVybnMgJ2ZhbHNlJyAtCisgICAgLy8gQWN0aXZlIG9iamVjdHMgY2FuIGJlIGFz
a2VkIHRvIHN1c3BlbmQgZXZlbiBpZiBjYW5TdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0ZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIHJldHVybnMgJ2ZhbHNlJyAtCiAgICAgLy8gc3RlcC1ieS1zdGVwIEpT
IGRlYnVnZ2luZyBpcyBvbmUgZXhhbXBsZS4KICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZEFjdGl2
ZURPTU9iamVjdHMoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9uKTsKICAgICB2
aXJ0dWFsIHZvaWQgcmVzdW1lQWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01PYmplY3Q6OlJlYXNv
bkZvclN1c3BlbnNpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
UmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAKaW5kZXgg
YTA3MTAxODVkNGE4OWU0YzZiYmE5N2NjZWUzMzFjZTY0ZjY0NDg5NS4uMWQ5YTA5NTg0OThiN2Vk
ODVkMTQ4NDk1NzdhMDM3YzIzMzNlZjIwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlUmVhZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFk
ZXIuY3BwCkBAIC02NSw3ICs2NSw3IEBAIEZpbGVSZWFkZXI6On5GaWxlUmVhZGVyKCkKICAgICB0
ZXJtaW5hdGUoKTsKIH0KIAotYm9vbCBGaWxlUmVhZGVyOjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hl
KCkgY29uc3QKK2Jvb2wgRmlsZVJlYWRlcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bigpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IEl0IGlzIG5vdCBjdXJyZW50bHkgcG9zc2libGUg
dG8gc3VzcGVuZCBhIEZpbGVSZWFkZXIsIHNvIHBhZ2VzIHdpdGggRmlsZVJlYWRlciBjYW4gbm90
IGdvIGludG8gcGFnZSBjYWNoZS4KICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVJlYWRlci5oCmluZGV4IDk4Y2NmNjJlMjY5YTBlOTk5MWYyZGVlYjY5OTkxNTIwODAxMzhi
MDcuLjI3ZjRiNjExMjg5OWZjM2FjZGE1ZmRmMmQwYTYxMzk2NTI0NmI1NzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZVJlYWRlci5oCkBAIC05Nyw3ICs5Nyw3IEBAIHByaXZhdGU6CiAKICAgICAv
LyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBj
b25zdCBvdmVycmlkZTsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKIAogICAgIC8vIEV2
ZW50VGFyZ2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0NhY2hlZEZyYW1l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwCmluZGV4IDQ1ZTY0
YmFlOGVjNWFkNGMwZjZmMmIzYTBmMWY2YTY4MTk4MGZmNTAuLjI2MGZkYjM4MmFlMzVlYzFjZGRi
NTA1MDE3NzU2MTFlYjk5M2FkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
Q2FjaGVkRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUu
Y3BwCkBAIC0xNzAsNyArMTcwLDcgQEAgQ2FjaGVkRnJhbWU6OkNhY2hlZEZyYW1lKEZyYW1lJiBm
cmFtZSkKICAgICBtX2RvY3VtZW50LT5zdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyhBY3RpdmVET01P
YmplY3Q6OlBhZ2VDYWNoZSk7CiAgICAgbV9jYWNoZWRGcmFtZVNjcmlwdERhdGEgPSBzdGQ6Om1h
a2VfdW5pcXVlPFNjcmlwdENhY2hlZEZyYW1lRGF0YT4oZnJhbWUpOwogCi0gICAgbV9kb2N1bWVu
dC0+ZG9tV2luZG93KCktPnN1c3BlbmRGb3JQYWdlQ2FjaGUoKTsKKyAgICBtX2RvY3VtZW50LT5k
b21XaW5kb3coKS0+c3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpOwogCiAgICAgZnJhbWUu
bG9hZGVyKCkuY2xpZW50KCkuc2F2ZVBsYXRmb3JtRGF0YVRvQ2FjaGVkRnJhbWUodGhpcyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAppbmRleCBiODU0MzAyMzA2ZGJiOTk3OGI3
YjQyODFiMjAzMjFhYTJkYzdiZDkxLi41MjNjYjEwNWIyODlhNWQ4MzkxZWE2MzVkNzEyMjg4YjRh
ODc4MjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCkBAIC0xNDksNyArMTQ5
LDcgQEAgc3RhdGljIGJvb2wgY2FuQ2FjaGVGcmFtZShGcmFtZSYgZnJhbWUsIERpYWdub3N0aWNM
b2dnaW5nQ2xpZW50JiBkaWFnbm9zdGljTG9nZ2kKICAgICB9CiAKICAgICBWZWN0b3I8QWN0aXZl
RE9NT2JqZWN0Kj4gdW5zdXNwZW5kYWJsZU9iamVjdHM7Ci0gICAgaWYgKCFmcmFtZS5kb2N1bWVu
dCgpLT5jYW5TdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0ZvclBhZ2VDYWNoZSgmdW5zdXNwZW5kYWJs
ZU9iamVjdHMpKSB7CisgICAgaWYgKCFmcmFtZS5kb2N1bWVudCgpLT5jYW5TdXNwZW5kQWN0aXZl
RE9NT2JqZWN0c0ZvckRvY3VtZW50U3VzcGVuc2lvbigmdW5zdXNwZW5kYWJsZU9iamVjdHMpKSB7
CiAgICAgICAgIFBDTE9HKCIgICAtVGhlIGRvY3VtZW50IGNhbm5vdCBzdXNwZW5kIGl0cyBhY3Rp
dmUgRE9NIE9iamVjdHMiKTsKICAgICAgICAgZm9yIChhdXRvKiBhY3RpdmVET01PYmplY3QgOiB1
bnN1c3BlbmRhYmxlT2JqZWN0cykgewogICAgICAgICAgICAgUENMT0coIiAgICAtIFVuc3VzcGVu
ZGFibGU6ICIsIGFjdGl2ZURPTU9iamVjdC0+YWN0aXZlRE9NT2JqZWN0TmFtZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmNwcAppbmRleCAyM2ZmYmIwMDFlOTRi
Y2QzZGE5MDA5YTg0OTdmYTFiNmI0MzFlOTE5Li45OTU4YmExYjMzOTYzMmFlNjFjYWQ3NmZiNmRj
OWU1ZWEzNGY3OGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXJxdWVl
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQu
Y3BwCkBAIC0xNjYsNyArMTY2LDcgQEAgdm9pZCBIVE1MTWFycXVlZUVsZW1lbnQ6OnNldExvb3Ao
aW50IGxvb3AsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBzZXRJbnRlZ3JhbEF0dHJpYnV0
ZShsb29wQXR0ciwgbG9vcCk7CiB9CiAKLWJvb2wgSFRNTE1hcnF1ZWVFbGVtZW50OjpjYW5TdXNw
ZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKK2Jvb2wgSFRNTE1hcnF1ZWVFbGVtZW50OjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gdHJ1ZTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNYXJxdWVlRWxlbWVudC5oCmluZGV4IGViYTNmNzlkOTEy
OTdkZGJhYzY5YzNhNGY1N2U1MmIyZDI3ODQ3MDguLjM5NGExNjNiNTMwNmQ2MTg0OWM5ZDYxMTY5
MzY4MGZjMzFkY2RmNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1
ZWVFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQu
aApAQCAtNTcsNyArNTcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjb2xsZWN0U3R5
bGVGb3JQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0
b21pY1N0cmluZyYsIE11dGFibGVTdHlsZVByb3BlcnRpZXMmKSBvdmVycmlkZTsKIAogICAgIC8v
IEFjdGl2ZURPTU9iamVjdAotICAgIHZpcnR1YWwgYm9vbCBjYW5TdXNwZW5kRm9yUGFnZUNhY2hl
KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZChS
ZWFzb25Gb3JTdXNwZW5zaW9uKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lKCkg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIkhUTUxNYXJxdWVlRWxlbWVudCI7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDRkYWY0YTZlZWQ0NzdhZmU4MDli
NGEwYjk0NjRkNzA1YzI3NjVjOWYuLmUwY2RiODkwYTQxOGE0MmU0ZDdjZTE2ZTY0ZTliNDFjNjhj
Mjk3NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNDk0
Niw3ICs0OTQ2LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpjbGVhck1lZGlhUGxheWVyKGlu
dCBmbGFncykKICAgICB1cGRhdGVTbGVlcERpc2FibGluZygpOwogfQogCi1ib29sIEhUTUxNZWRp
YUVsZW1lbnQ6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBIVE1MTWVkaWFF
bGVtZW50OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gdHJ1ZTsgCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4
IGQ0ZTM4ZDAwMjJhZjRhMjFiNDg1MDU4NjZlMzdhZmFjNTQwZGM0ZDQuLmQ0Y2M3OTY0OGZiZTMx
MDg2ZjdlNDA1YTc1NWVkNGFmNzBmNDU1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCkBAIC01MDQsNyArNTA0LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURP
TU9iamVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0
IG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0IG92ZXJy
aWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBvdmVycmlkZTsK
ICAgICB2b2lkIHJlc3VtZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcAppbmRleCAyOTMxY2UwZDMx
MjIyYTM3ODdkMjkyNGQ5OTI4MmQxODJjZWYxMWI0Li4xZmVjNGZlZmU2NGJmZTY1ZGYwNmRjODYz
NDc2NTdjYjc1MzM2Njc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3Vy
Y2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50
LmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIGNvbnN0IGNoYXIqIEhUTUxTb3VyY2VFbGVtZW50Ojph
Y3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIkhUTUxTb3VyY2VFbGVtZW50
IjsKIH0KIAotYm9vbCBIVE1MU291cmNlRWxlbWVudDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgp
IGNvbnN0Citib29sIEhUTUxTb3VyY2VFbGVtZW50OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFNvdXJjZUVsZW1lbnQuaAppbmRleCBmMzczZmI5OTgwYWQ5MTExNjY4NjYwMDAwZWUzNmI4
Yzg0YjUxZmI2Li41ZWFmMTM1YWRlMWZhZWZjOTkyNTczNGI1MmJlOTYxNWQxN2Q5YzJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oCkBAIC01NCw3ICs1NCw3IEBAIHBy
aXZhdGU6CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QuCiAgICAgY29uc3QgY2hhciogYWN0aXZl
RE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBh
Z2VDYWNoZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JT
dXNwZW5zaW9uKSBvdmVycmlkZTsKICAgICB2b2lkIHJlc3VtZSgpIG92ZXJyaWRlOwogICAgIHZv
aWQgc3RvcCgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9QdWJs
aWNVUkxNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUHVibGljVVJMTWFuYWdlci5j
cHAKaW5kZXggNDE3Zjk3YzM2YzZjYmFjYzFkZTFlNzc4MGM1NGZiNDgxOTAyZDQ1Ni4uNDY4ZDgz
Zjc0MjMyZDgxYTIyZDg0NTcxNzAyZjQyNjRkZDRhNTc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9QdWJsaWNVUkxNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1B1YmxpY1VSTE1hbmFnZXIuY3BwCkBAIC04MCw3ICs4MCw3IEBAIHZvaWQgUHVibGljVVJMTWFu
YWdlcjo6c3RvcCgpCiAgICAgbV9yZWdpc3RyeVRvVVJMLmNsZWFyKCk7CiB9CiAKLWJvb2wgUHVi
bGljVVJMTWFuYWdlcjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIFB1Ymxp
Y1VSTE1hbmFnZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewog
ICAgIC8vIFN1c3BlbmRpbmcgYW4gUHVibGljVVJMTWFuYWdlciBpcyBzYWZlIGFzIGl0IGRvZXMg
bm90IGNhdXNlIGFueSBKUyB0byBiZSBleGVjdXRlZC4KICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUHVibGljVVJMTWFuYWdlci5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9QdWJsaWNVUkxNYW5hZ2VyLmgKaW5kZXggNTAwMDU0ZTMwMzAzMzQ3NzQ5MTQ3
NjE2YTljMTBhNGJmN2E5OTBmMC4uNGY5NGZjMWZmNGQ3YjNiZTUxZjU0NjcxZWU2ZjgxYWFkZTQy
ODRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9QdWJsaWNVUkxNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9QdWJsaWNVUkxNYW5hZ2VyLmgKQEAgLTUzLDcgKzUz
LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAg
IHZvaWQgc3RvcCgpIG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgp
IGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bigpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUo
KSBjb25zdCBvdmVycmlkZTsKICAgICAKICAgICB0eXBlZGVmIEhhc2hTZXQ8U3RyaW5nPiBVUkxT
ZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDYxYmEzNjZhNDIyZjU1YzEzZTc0Mzc3ZjRmNGRhYTdl
YzNmYzI2Y2IuLmY2ZmNhOWQ4NzgzZmJjNDY1YTE5YTI0N2Y0NGI5ZTU1NWJjNGNlNDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwCkBAIC0zOTI3LDcgKzM5MjcsNyBAQCBjb25zdCBjaGFyKiBXZWJHTFJlbmRl
cmluZ0NvbnRleHRCYXNlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4g
IldlYkdMUmVuZGVyaW5nQ29udGV4dCI7CiB9CiAKLWJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZTo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIFdlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewog
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJ5IGFuZCBkbyBiZXR0ZXIgaGVyZS4KICAgICByZXR1
cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmgKaW5kZXggY2EwNThiMWJlMGU5NGRkZDRlZmIxOTFkOTJlMWY2
NjkyYTM2ZWU2NS4uODI5MDJhY2FkYzE0MTI5ODE0ZTE1NGQ1NjQ0NDE1ZjVmMDFmODY0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuaApAQCAtMzg0LDcgKzM4NCw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJv
b2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IHN0b3AoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JQYWdlQ2FjaGUo
KSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNp
b24oKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgYWRkU2hhcmVkT2JqZWN0KFdlYkdMU2hh
cmVkT2JqZWN0Kik7CiAgICAgdm9pZCBhZGRDb250ZXh0T2JqZWN0KFdlYkdMQ29udGV4dE9iamVj
dCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggOTIxYmJmMTg5Zjky
Y2I4OTA0OTAwNTQ5NjE0MmYwZGU3MGJhMGUwNS4uODE0ODg4YmU5N2Y0NTE1ZmNiMjIxMGVlMmFk
NTNkNjUzN2Q4ZWRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC01
ODQsNyArNTg0LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y2xlYXIoRG9jdW1lbnQqIG5ld0RvY3Vt
ZW50LCBib29sIGNsZWFyV2luZG93UHJvcGVydGllcywgYm9vbAogICAgIC8vIERvIHRoaXMgYWZ0
ZXIgZGV0YWNoaW5nIHRoZSBkb2N1bWVudCBzbyB0aGF0IHRoZSB1bmxvYWQgZXZlbnQgd29ya3Mu
CiAgICAgaWYgKGNsZWFyV2luZG93UHJvcGVydGllcykgewogICAgICAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmZyYW1lV2luZG93RGlzY2FyZGVkKCZtX2ZyYW1lLCBtX2ZyYW1lLmRvY3Vt
ZW50KCktPmRvbVdpbmRvdygpKTsKLSAgICAgICAgbV9mcmFtZS5kb2N1bWVudCgpLT5kb21XaW5k
b3coKS0+cmVzZXRVbmxlc3NTdXNwZW5kZWRGb3JQYWdlQ2FjaGUoKTsKKyAgICAgICAgbV9mcmFt
ZS5kb2N1bWVudCgpLT5kb21XaW5kb3coKS0+cmVzZXRVbmxlc3NTdXNwZW5kZWRGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKTsKICAgICAgICAgbV9mcmFtZS5zY3JpcHQoKS5jbGVhcldpbmRvd1NoZWxs
KG5ld0RvY3VtZW50LT5kb21XaW5kb3coKSwgbV9mcmFtZS5kb2N1bWVudCgpLT5pblBhZ2VDYWNo
ZSgpKTsKICAgICB9CiAKQEAgLTIwNzQsNyArMjA3NCw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6Om9w
ZW4oQ2FjaGVkRnJhbWVCYXNlJiBjYWNoZWRGcmFtZSkKICAgICAgICAgdmlldy0+c2V0RnJhbWVS
ZWN0KHByZXZpb3VzVmlld0ZyYW1lUmVjdC52YWx1ZSgpKTsKICAgICAKICAgICBtX2ZyYW1lLnNl
dERvY3VtZW50KGRvY3VtZW50KTsKLSAgICBkb2N1bWVudC0+ZG9tV2luZG93KCktPnJlc3VtZUZy
b21QYWdlQ2FjaGUoKTsKKyAgICBkb2N1bWVudC0+ZG9tV2luZG93KCktPnJlc3VtZUZyb21Eb2N1
bWVudFN1c3BlbnNpb24oKTsKIAogICAgIHVwZGF0ZUZpcnN0UGFydHlGb3JDb29raWVzKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlv
bkNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlv
bkNhY2hlLmNwcAppbmRleCBlNThlMjc5MWU3MjE4YzNlNWJiYmNmZjMwZTNmZjcxZmI3NmI1MzA1
Li5hN2MwNzc3OWNhN2M3MjljOTM0MzA5NjhkYTM2ZGI3NjAzNjFhNjQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuY3Bw
CkBAIC00NiwxNiArNDYsMTYgQEAgRE9NQXBwbGljYXRpb25DYWNoZTo6RE9NQXBwbGljYXRpb25D
YWNoZShGcmFtZSogZnJhbWUpCiAgICAgICAgIGNhY2hlSG9zdC0+c2V0RE9NQXBwbGljYXRpb25D
YWNoZSh0aGlzKTsKIH0KIAotdm9pZCBET01BcHBsaWNhdGlvbkNhY2hlOjpkaXNjb25uZWN0RnJh
bWVGb3JQYWdlQ2FjaGUoKQordm9pZCBET01BcHBsaWNhdGlvbkNhY2hlOjpkaXNjb25uZWN0RnJh
bWVGb3JEb2N1bWVudFN1c3BlbnNpb24oKQogewogICAgIGlmIChBcHBsaWNhdGlvbkNhY2hlSG9z
dCogY2FjaGVIb3N0ID0gYXBwbGljYXRpb25DYWNoZUhvc3QoKSkKICAgICAgICAgY2FjaGVIb3N0
LT5zZXRET01BcHBsaWNhdGlvbkNhY2hlKG51bGxwdHIpOwotICAgIERPTVdpbmRvd1Byb3BlcnR5
OjpkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUoKTsKKyAgICBET01XaW5kb3dQcm9wZXJ0eTo6
ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCk7CiB9CiAKLXZvaWQgRE9NQXBw
bGljYXRpb25DYWNoZTo6cmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hlKEZyYW1lKiBmcmFtZSkK
K3ZvaWQgRE9NQXBwbGljYXRpb25DYWNoZTo6cmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNw
ZW5zaW9uKEZyYW1lKiBmcmFtZSkKIHsKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6cmVjb25uZWN0
RnJhbWVGcm9tUGFnZUNhY2hlKGZyYW1lKTsKKyAgICBET01XaW5kb3dQcm9wZXJ0eTo6cmVjb25u
ZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKGZyYW1lKTsKICAgICBpZiAoQXBwbGljYXRp
b25DYWNoZUhvc3QqIGNhY2hlSG9zdCA9IGFwcGxpY2F0aW9uQ2FjaGVIb3N0KCkpCiAgICAgICAg
IGNhY2hlSG9zdC0+c2V0RE9NQXBwbGljYXRpb25DYWNoZSh0aGlzKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oCmluZGV4
IDQ0ZjEyMTg0ZTdkMGZmNjhiNDRlOTFjYTMzNTRkNWM5N2Q5OTVmZTcuLjA4MTAxZjQ4NzIyMzU3
NmEzNDVkYTEzNGEwYjI5ZGJlMTY3OTc3MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaApAQCAtNDYsOCArNDYsOCBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIFJlZjxET01BcHBsaWNhdGlvbkNhY2hlPiBjcmVhdGUoRnJhbWUq
IGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTUFwcGxpY2F0aW9uQ2FjaGUoZnJhbWUp
KTsgfQogICAgIHZpcnR1YWwgfkRPTUFwcGxpY2F0aW9uQ2FjaGUoKSB7IEFTU0VSVCghbV9mcmFt
ZSk7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0RnJhbWVGb3JQYWdlQ2FjaGUoKSBv
dmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hlKEZy
YW1lKikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RGcmFtZUZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCByZWNvbm5lY3RGcmFt
ZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJhbWUqKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZv
aWQgd2lsbERlc3Ryb3lHbG9iYWxPYmplY3RJbkZyYW1lKCkgb3ZlcnJpZGU7CiAKICAgICB1bnNp
Z25lZCBzaG9ydCBzdGF0dXMoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRl
eCBhMzRhMWVkYmEzMGQ4ODQ4OGIzMDRiNzY0YjQyMTMzYzdlM2M1ZDU4Li4xZTljNzA4NzJiODBh
MmI3MjE3NTEyYTgyYzA1ODYwZDY3MzM4MWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CkBAIC0zOTMsNyArMzkzLDcgQEAgRE9NV2luZG93OjpET01XaW5kb3coRG9jdW1lbnQqIGRvY3Vt
ZW50KQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoZG9jdW1lbnQpCiAgICAgLCBG
cmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIoZG9jdW1lbnQtPmZyYW1lKCkpCiAgICAgLCBtX3Nob3Vs
ZFByaW50V2hlbkZpbmlzaGVkTG9hZGluZyhmYWxzZSkKLSAgICAsIG1fc3VzcGVuZGVkRm9yUGFn
ZUNhY2hlKGZhbHNlKQorICAgICwgbV9zdXNwZW5kZWRGb3JEb2N1bWVudFN1c3BlbnNpb24oZmFs
c2UpCiAgICAgLCBtX2xhc3RQYWdlU3RhdHVzKFBhZ2VTdGF0dXNOb25lKQogICAgICwgbV93ZWFr
UHRyRmFjdG9yeSh0aGlzKQogI2lmIFBMQVRGT1JNKElPUykKQEAgLTQxOCw3ICs0MTgsNyBAQCB2
b2lkIERPTVdpbmRvdzo6ZGlkU2VjdXJlVHJhbnNpdGlvblRvKERvY3VtZW50KiBkb2N1bWVudCkK
IERPTVdpbmRvdzo6fkRPTVdpbmRvdygpCiB7CiAjaWZuZGVmIE5ERUJVRwotICAgIGlmICghbV9z
dXNwZW5kZWRGb3JQYWdlQ2FjaGUpIHsKKyAgICBpZiAoIW1fc3VzcGVuZGVkRm9yRG9jdW1lbnRT
dXNwZW5zaW9uKSB7CiAgICAgICAgIEFTU0VSVCghbV9zY3JlZW4pOwogICAgICAgICBBU1NFUlQo
IW1faGlzdG9yeSk7CiAgICAgICAgIEFTU0VSVCghbV9jcnlwdG8pOwpAQCAtNDQwLDcgKzQ0MCw3
IEBAIERPTVdpbmRvdzo6fkRPTVdpbmRvdygpCiAgICAgfQogI2VuZGlmCiAKLSAgICBpZiAobV9z
dXNwZW5kZWRGb3JQYWdlQ2FjaGUpCisgICAgaWYgKG1fc3VzcGVuZGVkRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKQogICAgICAgICB3aWxsRGVzdHJveUNhY2hlZEZyYW1lKCk7CiAgICAgZWxzZQogICAg
ICAgICB3aWxsRGVzdHJveURvY3VtZW50SW5GcmFtZSgpOwpAQCAtNTQyLDQ1ICs1NDIsNDUgQEAg
dm9pZCBET01XaW5kb3c6OnVucmVnaXN0ZXJQcm9wZXJ0eShET01XaW5kb3dQcm9wZXJ0eSogcHJv
cGVydHkpCiAgICAgbV9wcm9wZXJ0aWVzLnJlbW92ZShwcm9wZXJ0eSk7CiB9CiAKLXZvaWQgRE9N
V2luZG93OjpyZXNldFVubGVzc1N1c3BlbmRlZEZvclBhZ2VDYWNoZSgpCit2b2lkIERPTVdpbmRv
dzo6cmVzZXRVbmxlc3NTdXNwZW5kZWRGb3JEb2N1bWVudFN1c3BlbnNpb24oKQogewotICAgIGlm
IChtX3N1c3BlbmRlZEZvclBhZ2VDYWNoZSkKKyAgICBpZiAobV9zdXNwZW5kZWRGb3JEb2N1bWVu
dFN1c3BlbnNpb24pCiAgICAgICAgIHJldHVybjsKICAgICB3aWxsRGVzdHJveURvY3VtZW50SW5G
cmFtZSgpOwogICAgIHJlc2V0RE9NV2luZG93UHJvcGVydGllcygpOwogfQogCi12b2lkIERPTVdp
bmRvdzo6c3VzcGVuZEZvclBhZ2VDYWNoZSgpCit2b2lkIERPTVdpbmRvdzo6c3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbigpCiB7CiAgICAgZGlzY29ubmVjdERPTVdpbmRvd1Byb3BlcnRpZXMo
KTsKLSAgICBtX3N1c3BlbmRlZEZvclBhZ2VDYWNoZSA9IHRydWU7CisgICAgbV9zdXNwZW5kZWRG
b3JEb2N1bWVudFN1c3BlbnNpb24gPSB0cnVlOwogfQogCi12b2lkIERPTVdpbmRvdzo6cmVzdW1l
RnJvbVBhZ2VDYWNoZSgpCit2b2lkIERPTVdpbmRvdzo6cmVzdW1lRnJvbURvY3VtZW50U3VzcGVu
c2lvbigpCiB7CiAgICAgcmVjb25uZWN0RE9NV2luZG93UHJvcGVydGllcygpOwotICAgIG1fc3Vz
cGVuZGVkRm9yUGFnZUNhY2hlID0gZmFsc2U7CisgICAgbV9zdXNwZW5kZWRGb3JEb2N1bWVudFN1
c3BlbnNpb24gPSBmYWxzZTsKIH0KIAogdm9pZCBET01XaW5kb3c6OmRpc2Nvbm5lY3RET01XaW5k
b3dQcm9wZXJ0aWVzKCkKIHsKICAgICAvLyBJdCBpcyBuZWNlc3NhcnkgdG8gY29weSBtX3Byb3Bl
cnRpZXMgdG8gYSBzZXBhcmF0ZSB2ZWN0b3IgYmVjYXVzZSB0aGUgRE9NV2luZG93UHJvcGVydGll
cyBtYXkKLSAgICAvLyB1bnJlZ2lzdGVyIHRoZW1zZWx2ZXMgZnJvbSB0aGUgRE9NV2luZG93IGFz
IGEgcmVzdWx0IG9mIHRoZSBjYWxsIHRvIGRpc2Nvbm5lY3RGcmFtZUZvclBhZ2VDYWNoZS4KKyAg
ICAvLyB1bnJlZ2lzdGVyIHRoZW1zZWx2ZXMgZnJvbSB0aGUgRE9NV2luZG93IGFzIGEgcmVzdWx0
IG9mIHRoZSBjYWxsIHRvIGRpc2Nvbm5lY3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbi4KICAg
ICBWZWN0b3I8RE9NV2luZG93UHJvcGVydHkqPiBwcm9wZXJ0aWVzOwogICAgIGNvcHlUb1ZlY3Rv
cihtX3Byb3BlcnRpZXMsIHByb3BlcnRpZXMpOwogICAgIGZvciAoYXV0byYgcHJvcGVydHkgOiBw
cm9wZXJ0aWVzKQotICAgICAgICBwcm9wZXJ0eS0+ZGlzY29ubmVjdEZyYW1lRm9yUGFnZUNhY2hl
KCk7CisgICAgICAgIHByb3BlcnR5LT5kaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3BlbnNp
b24oKTsKIH0KIAogdm9pZCBET01XaW5kb3c6OnJlY29ubmVjdERPTVdpbmRvd1Byb3BlcnRpZXMo
KQogewotICAgIEFTU0VSVChtX3N1c3BlbmRlZEZvclBhZ2VDYWNoZSk7CisgICAgQVNTRVJUKG1f
c3VzcGVuZGVkRm9yRG9jdW1lbnRTdXNwZW5zaW9uKTsKICAgICAvLyBJdCBpcyBuZWNlc3Nhcnkg
dG8gY29weSBtX3Byb3BlcnRpZXMgdG8gYSBzZXBhcmF0ZSB2ZWN0b3IgYmVjYXVzZSB0aGUgRE9N
V2luZG93UHJvcGVydGllcyBtYXkKICAgICAvLyB1bnJlZ2lzdGVyIHRoZW1zZWx2ZXMgZnJvbSB0
aGUgRE9NV2luZG93IGFzIGEgcmVzdWx0IG9mIHRoZSBjYWxsIHRvIHJlY29ubmVjdEZyb21QYWdl
Q2FjaGUuCiAgICAgVmVjdG9yPERPTVdpbmRvd1Byb3BlcnR5Kj4gcHJvcGVydGllczsKICAgICBj
b3B5VG9WZWN0b3IobV9wcm9wZXJ0aWVzLCBwcm9wZXJ0aWVzKTsKICAgICBmb3IgKGF1dG8mIHBy
b3BlcnR5IDogcHJvcGVydGllcykKLSAgICAgICAgcHJvcGVydHktPnJlY29ubmVjdEZyYW1lRnJv
bVBhZ2VDYWNoZShtX2ZyYW1lKTsKKyAgICAgICAgcHJvcGVydHktPnJlY29ubmVjdEZyYW1lRnJv
bURvY3VtZW50U3VzcGVuc2lvbihtX2ZyYW1lKTsKIH0KIAogdm9pZCBET01XaW5kb3c6OnJlc2V0
RE9NV2luZG93UHJvcGVydGllcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCBiNTAwMWJj
ZjFiNzA2ZmU3MGViNDhmNGE3ODcxZTcyNmIyYmExYTUyLi4xOTQ3NGZiZWMyN2JlNGFhMmE5YWNk
OTFmYTNkY2FhZGJhY2JjNGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTExOSw5ICsx
MTksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgcmVnaXN0ZXJQcm9wZXJ0
eShET01XaW5kb3dQcm9wZXJ0eSopOwogICAgICAgICB2b2lkIHVucmVnaXN0ZXJQcm9wZXJ0eShE
T01XaW5kb3dQcm9wZXJ0eSopOwogCi0gICAgICAgIHZvaWQgcmVzZXRVbmxlc3NTdXNwZW5kZWRG
b3JQYWdlQ2FjaGUoKTsKLSAgICAgICAgdm9pZCBzdXNwZW5kRm9yUGFnZUNhY2hlKCk7Ci0gICAg
ICAgIHZvaWQgcmVzdW1lRnJvbVBhZ2VDYWNoZSgpOworICAgICAgICB2b2lkIHJlc2V0VW5sZXNz
U3VzcGVuZGVkRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCk7CisgICAgICAgIHZvaWQgc3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpOworICAgICAgICB2b2lkIHJlc3VtZUZyb21Eb2N1bWVudFN1
c3BlbnNpb24oKTsKIAogICAgICAgICBQYXNzUmVmUHRyPE1lZGlhUXVlcnlMaXN0PiBtYXRjaE1l
ZGlhKGNvbnN0IFN0cmluZyYpOwogCkBAIC0zNjksNyArMzY5LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogI2VuZGlmCiAKICAgICAgICAgYm9vbCBtX3Nob3VsZFByaW50V2hlbkZpbmlzaGVkTG9h
ZGluZzsKLSAgICAgICAgYm9vbCBtX3N1c3BlbmRlZEZvclBhZ2VDYWNoZTsKKyAgICAgICAgYm9v
bCBtX3N1c3BlbmRlZEZvckRvY3VtZW50U3VzcGVuc2lvbjsKIAogICAgICAgICBIYXNoU2V0PERP
TVdpbmRvd1Byb3BlcnR5Kj4gbV9wcm9wZXJ0aWVzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvd0V4dGVuc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvd0V4dGVuc2lvbi5jcHAKaW5kZXggMzM1NjEwMDY2NzVmNTUxNTA1NmUwNWQ0NmY5OTQw
NjJmMGZlMGVjYy4uMGU2MmIzNDM3YWI4YmI1ZGVmZTRjMzZmMjU5MjM5MTYzZjVjZGIwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3dFeHRlbnNpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93RXh0ZW5zaW9uLmNwcApAQCAtNDMsNyArNDMs
NyBAQCBET01XaW5kb3dFeHRlbnNpb246OkRPTVdpbmRvd0V4dGVuc2lvbihGcmFtZSogZnJhbWUs
IERPTVdyYXBwZXJXb3JsZCYgd29ybGQpCiAgICAgQVNTRVJUKHRoaXMtPmZyYW1lKCkpOwogfQog
Ci12b2lkIERPTVdpbmRvd0V4dGVuc2lvbjo6ZGlzY29ubmVjdEZyYW1lRm9yUGFnZUNhY2hlKCkK
K3ZvaWQgRE9NV2luZG93RXh0ZW5zaW9uOjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1c3Bl
bnNpb24oKQogewogICAgIC8vIENhbGxpbmcgb3V0IHRvIHRoZSBjbGllbnQgbWlnaHQgcmVzdWx0
IGluIHRoaXMgRE9NV2luZG93RXh0ZW5zaW9uIGJlaW5nIGRlc3Ryb3llZAogICAgIC8vIHdoaWxl
IHRoZXJlIGlzIHN0aWxsIHdvcmsgdG8gZG8uCkBAIC01NCwxNCArNTQsMTQgQEAgdm9pZCBET01X
aW5kb3dFeHRlbnNpb246OmRpc2Nvbm5lY3RGcmFtZUZvclBhZ2VDYWNoZSgpCiAKICAgICBtX2Rp
c2Nvbm5lY3RlZEZyYW1lID0gZnJhbWU7CiAKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6ZGlzY29u
bmVjdEZyYW1lRm9yUGFnZUNhY2hlKCk7CisgICAgRE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5l
Y3RGcmFtZUZvckRvY3VtZW50U3VzcGVuc2lvbigpOwogfQogCi12b2lkIERPTVdpbmRvd0V4dGVu
c2lvbjo6cmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hlKEZyYW1lKiBmcmFtZSkKK3ZvaWQgRE9N
V2luZG93RXh0ZW5zaW9uOjpyZWNvbm5lY3RGcmFtZUZyb21Eb2N1bWVudFN1c3BlbnNpb24oRnJh
bWUqIGZyYW1lKQogewogICAgIEFTU0VSVChtX2Rpc2Nvbm5lY3RlZEZyYW1lID09IGZyYW1lKTsK
ICAgICAKLSAgICBET01XaW5kb3dQcm9wZXJ0eTo6cmVjb25uZWN0RnJhbWVGcm9tUGFnZUNhY2hl
KGZyYW1lKTsKKyAgICBET01XaW5kb3dQcm9wZXJ0eTo6cmVjb25uZWN0RnJhbWVGcm9tRG9jdW1l
bnRTdXNwZW5zaW9uKGZyYW1lKTsKICAgICBtX2Rpc2Nvbm5lY3RlZEZyYW1lID0gbnVsbHB0cjsK
IAogICAgIHRoaXMtPmZyYW1lKCktPmxvYWRlcigpLmNsaWVudCgpLmRpc3BhdGNoRGlkUmVjb25u
ZWN0RE9NV2luZG93RXh0ZW5zaW9uVG9HbG9iYWxPYmplY3QodGhpcyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvd0V4dGVuc2lvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3dFeHRlbnNpb24uaAppbmRleCBhOTc4ZmZjNDBkNzllMzNjNjdlNDc3ZTk2
MGM3Y2ExN2ViMGMxNzg4Li4zNjIxOGQxZDVhOTQzODRmZTM3YmRlYmE3OWFiMzQwNTM2MGQ1YmNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvd0V4dGVuc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93RXh0ZW5zaW9uLmgKQEAgLTQzLDggKzQz
LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01XaW5kb3dFeHRl
bnNpb24oZnJhbWUsIHdvcmxkKSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5l
Y3RGcmFtZUZvclBhZ2VDYWNoZSgpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCByZWNvbm5l
Y3RGcmFtZUZyb21QYWdlQ2FjaGUoRnJhbWUqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlzY29ubmVjdEZyYW1lRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCB2b2lkIHJlY29ubmVjdEZyYW1lRnJvbURvY3VtZW50U3VzcGVuc2lvbihGcmFtZSopIG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveUdsb2JhbE9iamVjdEluQ2FjaGVk
RnJhbWUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lHbG9iYWxPYmpl
Y3RJbkZyYW1lKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXRhY2hHbG9iYWxP
YmplY3RGcm9tRnJhbWUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93UHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3dQ
cm9wZXJ0eS5jcHAKaW5kZXggZTE3ZTUzZmIyYmNiNzQ1YmEzMjM4ZDVlMDI2MzdmNzBhMWMwM2Zk
My4uYTM3NzBlOGU3MDBjNjU4MjYyNmM2NGI5ODVmZGVjNmZjMDdmMzNmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3dQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3dQcm9wZXJ0eS5jcHAKQEAgLTU1LDcgKzU1LDcgQEAgRE9NV2lu
ZG93UHJvcGVydHk6On5ET01XaW5kb3dQcm9wZXJ0eSgpCiAgICAgbV9mcmFtZSA9IG51bGxwdHI7
CiB9CiAKLXZvaWQgRE9NV2luZG93UHJvcGVydHk6OmRpc2Nvbm5lY3RGcmFtZUZvclBhZ2VDYWNo
ZSgpCit2b2lkIERPTVdpbmRvd1Byb3BlcnR5OjpkaXNjb25uZWN0RnJhbWVGb3JEb2N1bWVudFN1
c3BlbnNpb24oKQogewogICAgIC8vIElmIHRoaXMgcHJvcGVydHkgaXMgYmVpbmcgZGlzY29ubmVj
dGVkIGZyb20gaXRzIEZyYW1lIHRvIGVudGVyIHRoZSBQYWdlQ2FjaGUsIGl0IG11c3QgaGF2ZQog
ICAgIC8vIGJlZW4gY3JlYXRlZCB3aXRoIGEgRnJhbWUgaW4gdGhlIGZpcnN0IHBsYWNlLgpAQCAt
NjUsNyArNjUsNyBAQCB2b2lkIERPTVdpbmRvd1Byb3BlcnR5OjpkaXNjb25uZWN0RnJhbWVGb3JQ
YWdlQ2FjaGUoKQogICAgIG1fZnJhbWUgPSBudWxscHRyOwogfQogCi12b2lkIERPTVdpbmRvd1By
b3BlcnR5OjpyZWNvbm5lY3RGcmFtZUZyb21QYWdlQ2FjaGUoRnJhbWUqIGZyYW1lKQordm9pZCBE
T01XaW5kb3dQcm9wZXJ0eTo6cmVjb25uZWN0RnJhbWVGcm9tRG9jdW1lbnRTdXNwZW5zaW9uKEZy
YW1lKiBmcmFtZSkKIHsKICAgICAvLyBJZiB0aGlzIHByb3BlcnR5IGlzIGJlaW5nIHJlY29ubmVj
dGVkIHRvIGl0cyBGcmFtZSB0byBlbnRlciB0aGUgUGFnZUNhY2hlLCBpdCBtdXN0IGhhdmUKICAg
ICAvLyBiZWVuIGRpc2Nvbm5lY3RlZCBmcm9tIGl0cyBGcmFtZSBpbiB0aGUgZmlyc3QgcGxhY2Ug
YW5kIGl0IHNob3VsZCBzdGlsbCBoYXZlIGFuIGFzc29jaWF0ZWQgRE9NV2luZG93LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3dQcm9wZXJ0eS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3dQcm9wZXJ0eS5oCmluZGV4IGUyZGNjNDQzNzFlYWNmMTI5NDdh
OGIxYTgwY2IwZTJjNzI4OWExYjQuLmY2NjI0YWRiZWFlMmZjYzg0MzExOWM4NTU1ZjBjZTQxYzll
NzY3ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93UHJvcGVydHku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvd1Byb3BlcnR5LmgKQEAgLTM1LDgg
KzM1LDggQEAgY2xhc3MgRE9NV2luZG93UHJvcGVydHkgewogcHVibGljOgogICAgIGV4cGxpY2l0
IERPTVdpbmRvd1Byb3BlcnR5KEZyYW1lKik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVj
dEZyYW1lRm9yUGFnZUNhY2hlKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlY29ubmVjdEZyYW1lRnJv
bVBhZ2VDYWNoZShGcmFtZSopOworICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0RnJhbWVGb3JE
b2N1bWVudFN1c3BlbnNpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVjb25uZWN0RnJhbWVGcm9t
RG9jdW1lbnRTdXNwZW5zaW9uKEZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95
R2xvYmFsT2JqZWN0SW5DYWNoZWRGcmFtZSgpOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJv
eUdsb2JhbE9iamVjdEluRnJhbWUoKTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERldGFjaEdsb2Jh
bE9iamVjdEZyb21GcmFtZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAppbmRleCA0
YTEwMTUxMmQ2ODY2Mzg4NjAwZWQ3MzJmYzNjYTg0MTZmN2E0MGJiLi5iODM0MWU2YjZjMDc1NzZm
NzRmNDEyMzQ1MzMyYWY1ZTk5MjZjNDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNw
cApAQCAtNDA0LDcgKzQwNCw3IEBAIGNvbnN0IGNoYXIqIEV2ZW50U291cmNlOjphY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIkV2ZW50U291cmNlIjsKIH0KIAotYm9vbCBF
dmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0Citib29sIEV2ZW50U291
cmNlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKIHsKICAgICAvLyBG
SVhNRTogV2Ugc2hvdWxkIHRyeSBhbmQgZG8gYmV0dGVyIGhlcmUuCiAgICAgcmV0dXJuIGZhbHNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IDFkMjU0NThlZTNkMGJmYWRiMTIzYjAx
YmY2ZjlmZWRlMDI0M2RlNTkuLjllODFhMmFmMTEzOGEyYjNjYmQ2NDZlYzJkNGY5NTVjMDAyMmVm
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTkwLDcgKzkwLDcgQEAgcHJpdmF0
ZToKICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRl
OwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsK
LSAgICBib29sIGNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBi
b29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIHZvaWQgY29ubmVjdCgpOwogICAgIHZvaWQgbmV0d29ya1JlcXVlc3RFbmRlZCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXggNzliMDRmZGQ5ZjEyNTFk
M2YwNTU4MGNjNjMwNjU0M2M0NjQyNWZkZC4uNzY1ODNjMTJiYTgyOTFhYWE2YWU0YmM1ZGZkZDQ2
YjI0YzU3NjQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuY3BwCkBA
IC04NCw3ICs4NCw3IEBAIHZvaWQgU3VzcGVuZGFibGVUaW1lcjo6cmVzdW1lKCkKICAgICAgICAg
c3RhcnQobV9zYXZlZE5leHRGaXJlSW50ZXJ2YWwsIG1fc2F2ZWRSZXBlYXRJbnRlcnZhbCk7CiB9
CiAKLWJvb2wgU3VzcGVuZGFibGVUaW1lcjo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0
Citib29sIFN1c3BlbmRhYmxlVGltZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBjb25zdAogewogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRh
YmxlVGltZXIuaAppbmRleCA1NzhmYzNiZjYzYWU0MDdiYmUwYjc1YjM4Yjc0ZDQ1YWQyZGVlNjUx
Li5hMDFkZDVlMjk2OGZjNDNhMGQyMjE5NDk5MjE4ZjAyYzA4ODU3Y2EzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNjAsNyArNjAsNyBAQCBwcml2YXRlOgogICAg
IC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBj
b25zdCBvdmVycmlkZSBmaW5hbDsKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZSBmaW5hbDsKLSAg
ICBib29sIGNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKKyAg
ICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZSBm
aW5hbDsKICAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikgb3ZlcnJpZGUgZmlu
YWw7CiAgICAgdm9pZCByZXN1bWUoKSBvdmVycmlkZSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuY3BwCmluZGV4IGU4Njg5MDZmODhjYTBkZDQ2Zjk5M2FjODQxYjBlMGFiZmIwYjQ0MDAu
LmRlM2Q0ZTEwZGVmMWVmNTgwMDMwN2U3ODE0MmE3MGEzY2IwNWUyYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlci5jcHAKQEAgLTEyNCw3ICsxMjQsNyBAQCB2b2lkIFdvcmtlcjo6dGVybWluYXRl
KCkKICAgICBtX2NvbnRleHRQcm94eS0+dGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKTsKIH0K
IAotYm9vbCBXb3JrZXI6OmNhblN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdAorYm9vbCBXb3Jr
ZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIC8vIEZJ
WE1FOiBJdCBpcyBub3QgY3VycmVudGx5IHBvc3NpYmxlIHRvIHN1c3BlbmQgYSB3b3JrZXIsIHNv
IHBhZ2VzIHdpdGggd29ya2VycyBjYW4gbm90IGdvIGludG8gcGFnZSBjYWNoZS4KICAgICByZXR1
cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAppbmRleCBkOWRiYTRiOTliNTlhNjgzNWQ0
ZTU5ODM2YmE1MjI1ZDY1NGQzZjEyLi4wOTg1NzUxOTEwYjRlOTIyZGQwNWZiMDNjMjMwZTBmZDFm
OTIwZGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKQEAgLTc1LDcgKzc1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoKSBvdmVy
cmlkZTsKIAogICAgICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgotICAgICAgICBib29sIGNh
blN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICAgICAgYm9vbCBjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgICAgIHZv
aWQgc3RvcCgpIG92ZXJyaWRlOwogICAgICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3Bw
CmluZGV4IDgwNGI3MDgxYzE3MTVmZjA1YmVlYzQxZTYyZjVmMjViZDA5ZmE3ZTkuLjRjNDhjOTRm
OGIyOTMzNmI0NDI0MTEyZDZiMmVjYmI5NjA4M2ZjNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcApAQCAtMTI0Niw3ICsxMjQ2LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6
ZGlkUmVhY2hUaW1lb3V0KCkKICAgICBkaXNwYXRjaEVycm9yRXZlbnRzKGV2ZW50TmFtZXMoKS50
aW1lb3V0RXZlbnQpOwogfQogCi1ib29sIFhNTEh0dHBSZXF1ZXN0OjpjYW5TdXNwZW5kRm9yUGFn
ZUNhY2hlKCkgY29uc3QKK2Jvb2wgWE1MSHR0cFJlcXVlc3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKSBjb25zdAogewogICAgIC8vIElmIHRoZSBsb2FkIGV2ZW50IGhhcyBub3Qg
ZmlyZWQgeWV0LCBjYW5jZWxsaW5nIHRoZSBsb2FkIGluIHN1c3BlbmQoKSBtYXkgY2F1c2UKICAg
ICAvLyB0aGUgbG9hZCBldmVudCB0byBiZSBmaXJlZCBhbmQgYXJiaXRyYXJ5IEpTIGV4ZWN1dGlv
biwgd2hpY2ggd291bGQgYmUgdW5zYWZlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApp
bmRleCBhNWQxMzBiY2UxYTc0ZGJhNWY5ZTk2ZTgwM2U5MWEwYjZhZWU4YzZkLi4zMmM3MTJmNTli
MDY5ZGJjNzkzYThjNTg5M2IxYmQ1OWI4Y2E5MTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuaApAQCAtMTQ4LDcgKzE0OCw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBBY3RpdmVET01P
YmplY3QKICAgICB2b2lkIGNvbnRleHREZXN0cm95ZWQoKSBvdmVycmlkZTsKLSAgICBib29sIGNh
blN1c3BlbmRGb3JQYWdlQ2FjaGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGNhblN1c3Bl
bmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHN1c3Bl
bmQoUmVhc29uRm9yU3VzcGVuc2lvbikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXN1bWUoKSBvdmVy
cmlkZTsKICAgICB2b2lkIHN0b3AoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YkZyYW1lLm1tCmluZGV4IGYyMTkwNjBlYWE2N2ExNDQ3ZGNjMDA4MTAzY2IxZTZiZDkyZTg3ZTYu
Ljc5NzM4MDAyMzM3N2RlYTdmOTFjMDQ4YWJjNTY3NTdmMjU3MjIzYzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGcmFtZS5tbQpAQCAtMjA1Myw3ICsyMDUzLDcgQEAgLSAoTlNNdXRhYmxl
RGljdGlvbmFyeSAqKV9jYWNoZWFiaWxpdHlEaWN0aW9uYXJ5CiAgICAgaWYgKERvY3VtZW50KiBk
b2N1bWVudCA9IF9wcml2YXRlLT5jb3JlRnJhbWUtPmRvY3VtZW50KCkpIHsKICAgICAgICAgaWYg
KERhdGFiYXNlTWFuYWdlcjo6c2luZ2xldG9uKCkuaGFzT3BlbkRhdGFiYXNlcyhkb2N1bWVudCkp
CiAgICAgICAgICAgICBbcmVzdWx0IHNldE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
WUVTXSBmb3JLZXk6V2ViRnJhbWVVc2VzRGF0YWJhc2VzXTsKLSAgICAgICAgaWYgKCFkb2N1bWVu
dC0+Y2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHNGb3JQYWdlQ2FjaGUoKSkKKyAgICAgICAgaWYg
KCFkb2N1bWVudC0+Y2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHNGb3JEb2N1bWVudFN1c3BlbnNp
b24oKSkKICAgICAgICAgICAgIFtyZXN1bHQgc2V0T2JqZWN0OltOU051bWJlciBudW1iZXJXaXRo
Qm9vbDpZRVNdIGZvcktleTpXZWJGcmFtZUNhblN1c3BlbmRBY3RpdmVET01PYmplY3RzXTsKICAg
ICB9CiAgICAgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>