<?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>216442</bug_id>
          
          <creation_ts>2020-09-12 12:19:54 -0700</creation_ts>
          <short_desc>[WebIDL] Remove need for [MayThrowException] on constructors and legacy factory functions</short_desc>
          <delta_ts>2020-09-13 17:01:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>180019</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>toyoshim</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1687952</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-12 12:19:54 -0700</bug_when>
    <thetext>[WebIDL] Remove need for [MayThrowException] on constructors and legacy factory functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687953</commentid>
    <comment_count>1</comment_count>
      <attachid>408604</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-12 12:27:38 -0700</bug_when>
    <thetext>Created attachment 408604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688121</commentid>
    <comment_count>2</comment_count>
      <attachid>408658</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-13 11:21:32 -0700</bug_when>
    <thetext>Created attachment 408658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688124</commentid>
    <comment_count>3</comment_count>
      <attachid>408660</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-13 11:32:41 -0700</bug_when>
    <thetext>Created attachment 408660
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688158</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-13 17:00:47 -0700</bug_when>
    <thetext>Committed r267007: &lt;https://trac.webkit.org/changeset/267007&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408660.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688159</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-13 17:01:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/68819122&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408604</attachid>
            <date>2020-09-12 12:27:38 -0700</date>
            <delta_ts>2020-09-13 11:21:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216442-20200912122737.patch</filename>
            <type>text/plain</type>
            <size>75170</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2Njk3OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNCBAQAorMjAyMC0wOS0xMiAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYklETF0gUmVtb3ZlIG5lZWQg
Zm9yIFtNYXlUaHJvd0V4Y2VwdGlvbl0gb24gY29uc3RydWN0b3JzIGFuZCBsZWdhY3kgZmFjdG9y
eSBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNjQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERlZHVjZSBpbXBsZW1lbnRhdGlvbiBwb3RlbnRpYWxseSB0aHJvd2luZyBieSB1c2luZyB0
aGUgZXhpc3Rpbmcgb3ZlcmxvYWQgb2YKKyAgICAgICAgdG9KU05ld2x5Q3JlYXRlZCB0aGF0IGNv
bmRpdGlvbmFsbHkgY2hlY2tzIGZvciBleGNlcHRpb25zIGJhc2VkIG9uIHRoZSByZXR1cm4KKyAg
ICAgICAgdHlwZS4gY29uc3RleHByIElzRXhjZXB0aW9uT3IgdG8gbWFpbnRhaW4gZXhpc3Rpbmcg
b3B0aW1pemF0aW9ucyBhcm91bmQgY29uZGl0aW9uYWwKKyAgICAgICAgY2FsbHMgdG8gUkVUVVJO
X0lGX0VYQ0VQVElPTi4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24pOgorICAgICAg
ICBVcGRhdGUgY29kZSBnZW5lcmF0aW9uIHRvIG91dHB1dCBjb2RlIHRoYXQgY2FuIGhhbmRsZSBj
b25zdHJ1Y3RvcnMgdGhhdCByZXR1cm4gZWl0aGVyCisgICAgICAgIEV4Y2VwdGlvbk9yIG9yIG5v
dC4gTWFpbnRhaW4gZXhpc3Rpbmcgc3RhdGljIGFzc2VydGlvbiB0aGF0IHRoZSB1bmRlcmx5aW5n
IHJldHVybiB0eXBlCisgICAgICAgIGlzIGEgUmVmPD4gdXNpbmcgc3RkOjpjb25kaXRpb25hbF90
IHByZWRpY2F0ZWQgb24gSXNFeGNlcHRpb25PciBhbmQgbWFpbnRhaW4gdGhlIGV4aXN0aW5nCisg
ICAgICAgIG9wdGltaXphdGlvbiB0byBub3QgY2hlY2sgZm9yIGFuIGV4Y2VwdGlvbiBhZnRlciB0
b0pTTmV3bHlDcmVhdGVkIGlmIG9uZSBjb3VsZCBub3QgaGF2ZQorICAgICAgICBiZWVuIG1hZGUg
YnkgYWdhaW4gdXRpbGl6aW5nIElzRXhjZXB0aW9uT3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbjoKKyAgICAgICAgUmVtb3ZlIFtMZWdhY3lGYWN0b3J5
RnVuY3Rpb25NYXlUaHJvd0V4Y2VwdGlvbl0gbm93IHRoYXQgaXQgaXMgbm90IG5lZWRlZC4KKwor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleXMuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L2ZldGNoL0ZldGNoUmVxdWVzdC5pZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQmlxdWFk
RmlsdGVyTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2Vy
Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2Rl
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NvbnN0YW50U291cmNlTm9kZS5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL0dhaW5Ob2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5v
ZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3Vy
Y2VOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT2ZmbGlu
ZUF1ZGlvQ29udGV4dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9y
Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5pZGw6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9TdGVyZW9QYW5uZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dl
YktpdEF1ZGlvQ29udGV4dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRP
ZmZsaW5lQXVkaW9Db250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0u
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmlkbDoKKyAgICAg
ICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsOgorICAgICAgICAqIGNzcy9ET01NYXRy
aXguaWRsOgorICAgICAgICAqIGNzcy9ET01NYXRyaXhSZWFkT25seS5pZGw6CisgICAgICAgICog
Y3NzL1dlYktpdENTU01hdHJpeC5pZGw6CisgICAgICAgICogZG9tL1N0YXRpY1JhbmdlLmlkbDoK
KyAgICAgICAgKiBkb20vVGV4dERlY29kZXIuaWRsOgorICAgICAgICAqIGRvbS9UZXh0RGVjb2Rl
clN0cmVhbURlY29kZXIuaWRsOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxPcHRpb25FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9JbWFnZURhdGEuaWRsOgorICAgICAgICAqIGh0bWwv
VVJMU2VhcmNoUGFyYW1zLmlkbDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0N1ZS5p
ZGw6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5pZGw6CisgICAgICAgICogcGFnZS9JbnRl
cnNlY3Rpb25PYnNlcnZlci5pZGw6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAg
ICAgICBSZW1vdmUgYWxsIHVzZXMgb2YgW0xlZ2FjeUZhY3RvcnlGdW5jdGlvbk1heVRocm93RXhj
ZXB0aW9uXSBhbmQgW01heVRocm93RXhjZXB0aW9uXQorICAgICAgICBvbiBjb25zdHJ1Y3RvcnMu
CisKKyAgICAgICAgKiBodG1sL0hUTUxBdWRpb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEF1ZGlvRWxlbWVudDo6Y3JlYXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxBdWRpb0VsZW1lbnQ6OmNyZWF0ZUZvckpTQ29uc3RydWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTEF1ZGlvRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VF
bGVtZW50OjpjcmVhdGVGb3JMZWdhY3lGYWN0b3J5RnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6Y3JlYXRlRm9ySlNDb25zdHJ1Y3Rvcik6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6Y3Jl
YXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRp
b25FbGVtZW50OjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgUmVu
YW1lZCBjcmVhdGVGb3JKU0NvbnN0cnVjdG9yIHRvIGNyZWF0ZUZvckxlZ2FjeUZhY3RvcnlGdW5j
dGlvbiB0byBiZXR0ZXIKKyAgICAgICAgbWF0Y2ggY3VycmVudCBXZWJJREwgdGVybWlub2xvZ3ku
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJB
bmRXaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5k
b3dDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkxlZ2FjeUZhY3Rv
cnlGdW5jdGlvbjo6Y29uc3RydWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROb2RlQ29uc3RydWN0
b3I6OmNvbnN0cnVjdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Y29uc3Ry
dWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RKU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzMSk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzMik6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RKU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzMyk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNCk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1
Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNSk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c1dpdGhTZXF1ZW5jZTEpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0SlNUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZTIpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3I6OmNvbnN0cnVjdCk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rp
b24uaWRsOgorICAgICAgICBVcGRhdGUgdGVzdHMvZXhwZWN0YXRpb25zLgorCiAyMDIwLTA5LTEy
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBB
ZGQgc3VwcG9ydCBmb3Igbm9uLXJvb3QtaW5saW5lLWJveCBsaW5lIHNwYWNpbmcKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5p
ZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogICAg
IEVuYWJsZWRCeVNldHRpbmc9QXBwbGVQYXksCiAgICAgRW5hYmxlZEZvckNvbnRleHQsCiBdIGlu
dGVyZmFjZSBBcHBsZVBheVNlc3Npb24gOiBFdmVudFRhcmdldCB7Ci0gICAgW0NhbGxXaXRoPURv
Y3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IodW5zaWduZWQgbG9uZyB2ZXJz
aW9uLCBBcHBsZVBheVBheW1lbnRSZXF1ZXN0IHBheW1lbnRSZXF1ZXN0KTsKKyAgICBbQ2FsbFdp
dGg9RG9jdW1lbnRdIGNvbnN0cnVjdG9yKHVuc2lnbmVkIGxvbmcgdmVyc2lvbiwgQXBwbGVQYXlQ
YXltZW50UmVxdWVzdCBwYXltZW50UmVxdWVzdCk7CiAKICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBTVEFUVVNfU1VDQ0VTUyA9IDA7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1RBVFVTX0ZB
SUxVUkUgPSAxOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9s
ZWdhY3kvV2ViS2l0TWVkaWFLZXlzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleXMuaWRsCShyZXZpc2lv
biAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2Fj
eS9XZWJLaXRNZWRpYUtleXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAg
ICAgQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQSwKICAgICBFbmFibGVkQnlTZXR0
aW5nPUxlZ2FjeUVuY3J5cHRlZE1lZGlhQVBJLAogXSBpbnRlcmZhY2UgV2ViS2l0TWVkaWFLZXlz
IHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKERPTVN0cmluZyBrZXlTeXN0
ZW0pOworICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyBrZXlTeXN0ZW0pOwogCiAgICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9uXSBXZWJLaXRNZWRp
YUtleVNlc3Npb24gY3JlYXRlU2Vzc2lvbihET01TdHJpbmcgdHlwZSwgVWludDhBcnJheSBpbml0
RGF0YSk7CiAgICAgc3RhdGljIGJvb2xlYW4gaXNUeXBlU3VwcG9ydGVkKERPTVN0cmluZyBrZXlT
eXN0ZW0sIG9wdGlvbmFsIERPTVN0cmluZyB0eXBlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzQsNyArMzQsNyBAQCB0eXBlZGVmIChzZXF1ZW5jZTxzZXF1ZW5jZTxCeXRlU3RyaW5n
Pj4gCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VOYW1lPUhl
YWRlcnMsCiBdIGludGVyZmFjZSBGZXRjaEhlYWRlcnMgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gY29uc3RydWN0b3Iob3B0aW9uYWwgSGVhZGVyc0luaXQgaW5pdCk7CisgICAgY29uc3RydWN0
b3Iob3B0aW9uYWwgSGVhZGVyc0luaXQgaW5pdCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHVuZGVmaW5lZCBhcHBlbmQoQnl0ZVN0cmluZyBuYW1lLCBCeXRlU3RyaW5nIHZhbHVlKTsKICAg
ICBbTWF5VGhyb3dFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9cmVtb3ZlXSB1bmRlZmluZWQgZGVs
ZXRlKEJ5dGVTdHJpbmcgbmFtZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaFJlcXVlc3QuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcg
KzM5LDcgQEAgdHlwZWRlZiAoQmxvYiBvciBCdWZmZXJTb3VyY2Ugb3IgRE9NRm9ybQogICAgIEdl
bmVyYXRlSXNSZWFjaGFibGU9SW1wbCwKICAgICBJbnRlcmZhY2VOYW1lPVJlcXVlc3QsCiBdIGlu
dGVyZmFjZSBGZXRjaFJlcXVlc3QgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250
ZXh0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoUmVxdWVzdEluZm8gaW5wdXQsIG9w
dGlvbmFsIEZldGNoUmVxdWVzdEluaXQgaW5pdCk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKFJlcXVlc3RJbmZvIGlucHV0LCBvcHRpb25hbCBGZXRj
aFJlcXVlc3RJbml0IGluaXQpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEJ5dGVTdHJpbmcg
bWV0aG9kOwogICAgIFtJbXBsZW1lbnRlZEFzPXVybFN0cmluZ10gcmVhZG9ubHkgYXR0cmlidXRl
IFVTVlN0cmluZyB1cmw7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
UmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hSZXNwb25zZS5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0
LDcgQEAgZGljdGlvbmFyeSBGZXRjaFJlc3BvbnNlSW5pdCB7CiAgICAgRXhwb3NlZD0oV2luZG93
LFdvcmtlciksCiAgICAgSW50ZXJmYWNlTmFtZT1SZXNwb25zZSwKIF0gaW50ZXJmYWNlIEZldGNo
UmVzcG9uc2UgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJv
d0V4Y2VwdGlvbl0gY29uc3RydWN0b3Iob3B0aW9uYWwgQm9keUluaXQ/IGJvZHkgPSBudWxsLCBv
cHRpb25hbCBGZXRjaFJlc3BvbnNlSW5pdCBpbml0KTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3Iob3B0aW9uYWwgQm9keUluaXQ/IGJvZHkgPSBudWxs
LCBvcHRpb25hbCBGZXRjaFJlc3BvbnNlSW5pdCBpbml0KTsKIAogICAgIFtDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LCBOZXdPYmplY3RdIHN0YXRpYyBGZXRjaFJlc3BvbnNlIGVycm9y
KCk7CiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0
aW9uLCBOZXdPYmplY3RdIHN0YXRpYyBGZXRjaFJlc3BvbnNlIHJlZGlyZWN0KFVTVlN0cmluZyB1
cmwsIG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0IHN0YXR1cyA9IDMwMik7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIu
aWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVj
b3JkZXIvTWVkaWFSZWNvcmRlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAg
ZW51bSBSZWNvcmRpbmdTdGF0ZSB7ICJpbmFjdGl2ZSIsICJyZWNvcgogICAgIEVuYWJsZWRCeVNl
dHRpbmc9TWVkaWFSZWNvcmRlciwKICAgICBFeHBvc2VkPVdpbmRvdwogXSBpbnRlcmZhY2UgTWVk
aWFSZWNvcmRlciA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRo
cm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihNZWRpYVN0cmVhbSBzdHJlYW0sIG9wdGlvbmFsIE1l
ZGlhUmVjb3JkZXJPcHRpb25zIG9wdGlvbnMpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gY29u
c3RydWN0b3IoTWVkaWFTdHJlYW0gc3RyZWFtLCBvcHRpb25hbCBNZWRpYVJlY29yZGVyT3B0aW9u
cyBvcHRpb25zKTsKIAogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgY29tbWVudGVkIG91dCBtZXRo
b2RzL2F0dHJpYnV0ZXMuCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDSWNlQ2FuZGlkYXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZS5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVl
ckNvbm5lY3Rpb24sCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNl
IFJUQ0ljZUNhbmRpZGF0ZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihS
VENJY2VDYW5kaWRhdGVJbml0IGNhbmRpZGF0ZUluaXREaWN0KTsKKyAgICBjb25zdHJ1Y3RvcihS
VENJY2VDYW5kaWRhdGVJbml0IGNhbmRpZGF0ZUluaXREaWN0KTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgY2FuZGlkYXRlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmc/IHNkcE1pZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsCShyZXZpc2lvbiAyNjY5NjgpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtNzYsNyArNzYsNyBAQCB0eXBlZGVmIChvYmplY3Qgb3IgRE9N
U3RyaW5nKSBBbGdvcml0aG1JCiAgICAgRW5hYmxlZEF0UnVudGltZT1QZWVyQ29ubmVjdGlvbiwK
ICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKIF0gaW50ZXJmYWNlIFJUQ1BlZXJDb25u
ZWN0aW9uIDogRXZlbnRUYXJnZXQgewotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dF
eGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIFJUQ0NvbmZpZ3VyYXRpb24gY29uZmlndXJh
dGlvbik7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSBjb25zdHJ1Y3RvcihvcHRpb25hbCBSVEND
b25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pOwogCiAgICAgLy8gNC4zLjIgSW50ZXJmYWNlIERl
ZmluaXRpb24KICAgICBQcm9taXNlPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQ+IGNyZWF0ZU9m
ZmVyKG9wdGlvbmFsIFJUQ09mZmVyT3B0aW9ucyBvZmZlck9wdGlvbnMpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9N
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAgICAgRXhwb3NlZD1XaW5kb3csCiAg
ICAgU2VjdXJlQ29udGV4dCwKIF0gaW50ZXJmYWNlIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IDog
RXZlbnQgewotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0
cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBNZXJjaGFudFZhbGlkYXRpb25FdmVudElu
aXQgZXZlbnRJbml0RGljdCk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSBjb25zdHJ1Y3RvcihE
T01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnRJbml0IGV2ZW50
SW5pdERpY3QpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXRob2ROYW1l
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdmFsaWRhdGlvblVSTDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5
bWVudFJlcXVlc3QuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzAsNyArMzAsNyBAQAogICAgIEVuYWJsZWRGb3JDb250ZXh0LAogICAgIFNlY3VyZUNvbnRleHQs
CiBdIGludGVyZmFjZSBQYXltZW50UmVxdWVzdCA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdp
dGg9RG9jdW1lbnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihzZXF1ZW5jZTxQYXlt
ZW50TWV0aG9kRGF0YT4gbWV0aG9kRGF0YSwgUGF5bWVudERldGFpbHNJbml0IGRldGFpbHMsIG9w
dGlvbmFsIFBheW1lbnRPcHRpb25zIG9wdGlvbnMpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0g
Y29uc3RydWN0b3Ioc2VxdWVuY2U8UGF5bWVudE1ldGhvZERhdGE+IG1ldGhvZERhdGEsIFBheW1l
bnREZXRhaWxzSW5pdCBkZXRhaWxzLCBvcHRpb25hbCBQYXltZW50T3B0aW9ucyBvcHRpb25zKTsK
IAogICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gUHJvbWlzZTxQYXltZW50UmVzcG9uc2U+IHNob3co
b3B0aW9uYWwgUHJvbWlzZTxQYXltZW50RGV0YWlsc1VwZGF0ZT4gZGV0YWlsc1Byb21pc2UpOwog
ICAgIFByb21pc2U8dW5kZWZpbmVkPiBhYm9ydCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2OTY4KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAog
ICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogXSBpbnRlcmZhY2UgQW5hbHlzZXJOb2RlIDogQXVk
aW9Ob2RlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJu
VW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0
LCBvcHRpb25hbCBBbmFseXNlck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4
dCBjb250ZXh0LCBvcHRpb25hbCBBbmFseXNlck9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBmZnRTaXplOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGZyZXF1ZW5jeUJpbkNvdW50OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0J1ZmZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlci5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiw3ICszMiw3IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAgICAgUmVw
b3J0RXh0cmFNZW1vcnlDb3N0LAogXSBpbnRlcmZhY2UgQXVkaW9CdWZmZXIgewotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9d
IGNvbnN0cnVjdG9yKEF1ZGlvQnVmZmVyT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbRW5hYmxlZEJ5
U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yKEF1ZGlvQnVmZmVy
T3B0aW9ucyBvcHRpb25zKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBs
ZW5ndGg7IC8vIGluIHNhbXBsZS1mcmFtZXMKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91Ymxl
IGR1cmF0aW9uOyAvLyBpbiBzZWNvbmRzCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IHNh
bXBsZVJhdGU7IC8vIGluIHNhbXBsZS1mcmFtZXMgcGVyIHNlY29uZApJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VO
b2RlLmlkbAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsy
OCw3IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAogICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0LAogXSBpbnRlcmZhY2UgQXVkaW9CdWZmZXJTb3VyY2VOb2RlIDogQXVkaW9TY2hlZHVsZWRT
b3VyY2VOb2RlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9TW9k
ZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250
ZXh0LCBvcHRpb25hbCBBdWRpb0J1ZmZlclNvdXJjZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0Vu
YWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFz
ZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBBdWRpb0J1ZmZlclNvdXJjZU9wdGlvbnMg
b3B0aW9ucyk7CiAKICAgICBhdHRyaWJ1dGUgQXVkaW9CdWZmZXI/IGJ1ZmZlcjsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAko
cmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAgICAgRXhwb3J0
TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAogXSBp
bnRlcmZhY2UgQXVkaW9Db250ZXh0IDogQmFzZUF1ZGlvQ29udGV4dCB7Ci0gICAgW0NhbGxXaXRo
PURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Iob3B0aW9uYWwgQXVkaW9D
b250ZXh0T3B0aW9ucyBjb250ZXh0T3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSBj
b25zdHJ1Y3RvcihvcHRpb25hbCBBdWRpb0NvbnRleHRPcHRpb25zIGNvbnRleHRPcHRpb25zKTsK
IAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgYmFzZUxhdGVuY3k7CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2Rl
LmlkbAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9CaXF1YWRGaWx0ZXJOb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAog
ICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0g
aW50ZXJmYWNlIEJpcXVhZEZpbHRlck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0
cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIEJpcXVhZEZpbHRlck9w
dGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdl
YkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBC
aXF1YWRGaWx0ZXJPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgYXR0cmlidXRlIEJpcXVhZEZpbHRl
clR5cGUgdHlwZTsKICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
Q2hhbm5lbE1lcmdlck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzAsNSArMzAsNSBAQAogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywK
ICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRlcmZhY2UgQ2hhbm5lbE1lcmdlck5vZGUg
OiBBdWRpb05vZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1N
b2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNv
bnRleHQsIG9wdGlvbmFsIENoYW5uZWxNZXJnZXJPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFi
bGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VB
dWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQ2hhbm5lbE1lcmdlck9wdGlvbnMgb3B0aW9u
cyk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3Bs
aXR0ZXJOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiw1ICsyNiw1IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAogICAg
IEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBDaGFubmVsU3BsaXR0ZXJOb2RlIDog
QXVkaW9Ob2RlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9TW9k
ZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250
ZXh0LCBvcHRpb25hbCBDaGFubmVsU3BsaXR0ZXJPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFi
bGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VB
dWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQ2hhbm5lbFNwbGl0dGVyT3B0aW9ucyBvcHRp
b25zKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnN0YW50
U291cmNlTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9Db25zdGFudFNvdXJjZU5vZGUuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnN0YW50U291cmNlTm9kZS5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI4LDYgKzI4LDYgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBF
bmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpbwogXSBpbnRlcmZhY2UgQ29u
c3RhbnRTb3VyY2VOb2RlIDogQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlIHsKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlv
bmFsIENvbnN0YW50U291cmNlT3B0aW9ucyBvcHRpb25zKTsKKyAgICBjb25zdHJ1Y3RvciAoQmFz
ZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBDb25zdGFudFNvdXJjZU9wdGlvbnMgb3B0
aW9ucyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gb2Zmc2V0OwogfTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2Rl
LmlkbAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9Db252b2x2ZXJOb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogICAg
IENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRl
cmZhY2UgQ29udm9sdmVyTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9u
LCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3Ig
KEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQ29udm9sdmVyT3B0aW9ucyBvcHRp
b25zKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNv
bnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIENvbnZvbHZlck9w
dGlvbnMgb3B0aW9ucyk7CiAKICAgICBhdHRyaWJ1dGUgQXVkaW9CdWZmZXI/IGJ1ZmZlcjsKICAg
ICBhdHRyaWJ1dGUgYm9vbGVhbiBub3JtYWxpemU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI2LDcgKzI2LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5l
cmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIERlbGF5Tm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJB
dWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgRGVs
YXlPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4
ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9u
YWwgRGVsYXlPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlv
UGFyYW0gZGVsYXlUaW1lOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbAkocmV2aXNpb24g
MjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EeW5hbWljc0NvbXBy
ZXNzb3JOb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogICAgIENvbmRp
dGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRlcmZhY2Ug
RHluYW1pY3NDb21wcmVzc29yTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0
b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgRHluYW1pY3NDb21wcmVzc29y
T3B0aW9ucyBvcHRpb25zKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVk
V2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFs
IER5bmFtaWNzQ29tcHJlc3Nvck9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgQXVkaW9QYXJhbSB0aHJlc2hvbGQ7IC8vIGluIERlY2liZWxzCiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIEF1ZGlvUGFyYW0ga25lZTsgLy8gaW4gRGVjaWJlbHMKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsCShyZXZpc2lvbiAyNjY5Njgp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAg
ICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRlcmZhY2UgR2Fpbk5vZGUgOiBBdWRpb05vZGUg
ewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZp
eGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlv
bmFsIEdhaW5PcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVu
cHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwg
b3B0aW9uYWwgR2Fpbk9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
QXVkaW9QYXJhbSBnYWluOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vSUlSRmlsdGVyTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9JSVJGaWx0ZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9JSVJGaWx0ZXJOb2RlLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjcsNiArMjcsNiBAQAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIEVuYWJs
ZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvLAogXSBpbnRlcmZhY2UgSUlSRmls
dGVyTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihCYXNlQXVkaW9Db250ZXh0IGF1ZGlv
Q29udGV4dCwgSUlSRmlsdGVyT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoQmFzZUF1ZGlvQ29udGV4dCBhdWRpb0NvbnRl
eHQsIElJUkZpbHRlck9wdGlvbnMgb3B0aW9ucyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1
bmRlZmluZWQgZ2V0RnJlcXVlbmN5UmVzcG9uc2UoRmxvYXQzMkFycmF5IGZyZXF1ZW5jeUh6LCBG
bG9hdDMyQXJyYXkgbWFnUmVzcG9uc2UsIEZsb2F0MzJBcnJheSBwaGFzZVJlc3BvbnNlKTsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKICAgICBDb25kaXRpb25h
bD1XRUJfQVVESU8mVklERU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNl
IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29u
c3RydWN0b3IgKEF1ZGlvQ29udGV4dCBjb250ZXh0LCBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU9w
dGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdl
YkF1ZGlvXSBjb25zdHJ1Y3RvciAoQXVkaW9Db250ZXh0IGNvbnRleHQsIE1lZGlhRWxlbWVudEF1
ZGlvU291cmNlT3B0aW9ucyBvcHRpb25zKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1M
TWVkaWFFbGVtZW50IG1lZGlhRWxlbWVudDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDYgKzI2LDYgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8mTUVE
SUFfU1RSRUFNLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBNZWRpYVN0
cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlIDogQXVkaW9Ob2RlIHsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb24sIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1
Y3RvciAoQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIEF1ZGlvTm9kZU9wdGlvbnMgb3B0
aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBj
b25zdHJ1Y3RvciAoQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIEF1ZGlvTm9kZU9wdGlv
bnMgb3B0aW9ucyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtIHN0cmVhbTsK
IH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVk
aW9Tb3VyY2VOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9Tb3VyY2VOb2RlLmlkbAkocmV2aXNpb24gMjY2OTY4KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNl
Tm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICAgICBDb25kaXRpb25h
bD1XRUJfQVVESU8mTUVESUFfU1RSRUFNLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGlu
dGVyZmFjZSBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01h
eVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRp
b10gY29uc3RydWN0b3IgKEF1ZGlvQ29udGV4dCBjb250ZXh0LCBNZWRpYVN0cmVhbUF1ZGlvU291
cmNlT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZp
eGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChBdWRpb0NvbnRleHQgY29udGV4dCwgTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
TWVkaWFTdHJlYW0gbWVkaWFTdHJlYW07CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbnRleHQuaWRsCShyZXZpc2lv
biAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRp
b0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw4ICsyNyw4IEBACiAgICAgRW5hYmxl
ZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW8sCiAgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QsCiBdIGludGVyZmFjZSBPZmZsaW5lQXVkaW9Db250ZXh0IDogQmFzZUF1ZGlvQ29udGV4
dCB7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0
aW9uXSBjb25zdHJ1Y3RvcihPZmZsaW5lQXVkaW9Db250ZXh0T3B0aW9ucyBjb250ZXh0T3B0aW9u
cyk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0
aW9uXSBjb25zdHJ1Y3Rvcih1bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHMsIHVuc2lnbmVk
IGxvbmcgbGVuZ3RoLCBmbG9hdCBzYW1wbGVSYXRlKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoT2ZmbGluZUF1ZGlvQ29udGV4dE9wdGlvbnMgY29u
dGV4dE9wdGlvbnMpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25z
dHJ1Y3Rvcih1bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHMsIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoLCBmbG9hdCBzYW1wbGVSYXRlKTsKICAgICAKICAgICBbSW1wbGVtZW50ZWRBcz1zdGFydE9m
ZmxpbmVSZW5kZXJpbmddIFByb21pc2U8QXVkaW9CdWZmZXI+IHN0YXJ0UmVuZGVyaW5nKCk7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRv
ck5vZGUuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL09zY2lsbGF0b3JOb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBA
QAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIEFjdGl2ZURPTU9iamVjdCwKIF0gaW50
ZXJmYWNlIE9zY2lsbGF0b3JOb2RlIDogQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlIHsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1
ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBPc2Np
bGxhdG9yT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnBy
ZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9w
dGlvbmFsIE9zY2lsbGF0b3JPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgYXR0cmlidXRlIE9zY2ls
bGF0b3JUeXBlIHR5cGU7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
UGFubmVyTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9QYW5uZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyAr
MjcsNyBAQAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAogICAgIEVuYWJsZWRCeVNldHRpbmc9
TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvLAogXSBpbnRlcmZhY2UgUGFubmVyTm9kZSA6IEF1ZGlv
Tm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29u
dGV4dCBjb250ZXh0LCBvcHRpb25hbCBQYW5uZXJPcHRpb25zIG9wdGlvbnMpOworICAgIGNvbnN0
cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIFBhbm5lck9wdGlvbnMg
b3B0aW9ucyk7CiAKICAgICAvLyBEZWZhdWx0IG1vZGVsIGZvciBzdGVyZW8gaXMgZXF1YWxwb3dl
cgogICAgIGF0dHJpYnV0ZSBQYW5uaW5nTW9kZWxUeXBlIHBhbm5pbmdNb2RlbDsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9kaWNXYXZlLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5pZGwJKHJl
dmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGVyaW9k
aWNXYXZlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNSArMjcsNSBAQAogICAgIENvbmRpdGlv
bmFsPVdFQl9BVURJTywKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFj
ZSBQZXJpb2RpY1dhdmUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGlu
Zz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yKEJhc2VBdWRpb0NvbnRleHQg
Y29udGV4dCwgb3B0aW9uYWwgUGVyaW9kaWNXYXZlT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbRW5h
YmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yKEJhc2VB
dWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgUGVyaW9kaWNXYXZlT3B0aW9ucyBvcHRpb25z
KTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1N0ZXJlb1Bhbm5l
ck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
U3RlcmVvUGFubmVyTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vU3RlcmVvUGFubmVyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDYgKzI4LDYgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBFbmFibGVkQnlT
ZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpbwogXSBpbnRlcmZhY2UgU3RlcmVvUGFubmVy
Tm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvciAo
QmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBTdGVyZW9QYW5uZXJPcHRpb25zIG9w
dGlvbnMpOworICAgIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlv
bmFsIFN0ZXJlb1Bhbm5lck9wdGlvbnMgb3B0aW9ucyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IEF1ZGlvUGFyYW0gcGFuOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vV2F2ZVNoYXBlck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjYsNyArMjYsNyBAQAogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBK
U0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRlcmZhY2UgV2F2ZVNoYXBlck5vZGUgOiBBdWRpb05v
ZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnBy
ZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0
aW9uYWwgV2F2ZVNoYXBlck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9
TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvcihCYXNlQXVkaW9Db250ZXh0IGNv
bnRleHQsIG9wdGlvbmFsIFdhdmVTaGFwZXJPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgYXR0cmli
dXRlIEZsb2F0MzJBcnJheT8gY3VydmU7CiAgICAgYXR0cmlidXRlIE92ZXJTYW1wbGVUeXBlIG92
ZXJzYW1wbGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1
ZGlvQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdEF1ZGlvQ29udGV4dC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwK
ICAgICBJbnRlcmZhY2VOYW1lPXdlYmtpdEF1ZGlvQ29udGV4dCwKIF0gaW50ZXJmYWNlIFdlYktp
dEF1ZGlvQ29udGV4dCA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1h
eVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcigpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0g
Y29uc3RydWN0b3IoKTsKIAogICAgIC8vIEFsbCByZW5kZXJlZCBhdWRpbyB1bHRpbWF0ZWx5IGNv
bm5lY3RzIHRvIGRlc3RpbmF0aW9uLCB3aGljaCByZXByZXNlbnRzIHRoZSBhdWRpbyBoYXJkd2Fy
ZS4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9EZXN0aW5hdGlvbk5vZGUgZGVzdGluYXRp
b247CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9mZmxpbmVB
dWRpb0NvbnRleHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vV2ViS2l0T2ZmbGluZUF1ZGlvQ29udGV4dC5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysr
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0T2ZmbGluZUF1ZGlvQ29udGV4
dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDUgKzI4LDUgQEAKICAgICBJbnRlcmZhY2VOYW1l
PXdlYmtpdE9mZmxpbmVBdWRpb0NvbnRleHQsCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiBd
IGludGVyZmFjZSBXZWJLaXRPZmZsaW5lQXVkaW9Db250ZXh0IDogV2ViS2l0QXVkaW9Db250ZXh0
IHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRp
b25dIGNvbnN0cnVjdG9yKHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZDaGFubmVscywgdW5zaWduZWQg
bG9uZyBudW1iZXJPZkZyYW1lcywgdW5yZXN0cmljdGVkIGZsb2F0IHNhbXBsZVJhdGUpOworICAg
IFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3Rvcih1bnNpZ25lZCBs
b25nIG51bWJlck9mQ2hhbm5lbHMsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZGcmFtZXMsIHVucmVz
dHJpY3RlZCBmbG9hdCBzYW1wbGVSYXRlKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAkocmV2aXNpb24gMjY2OTY4KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTM0LDggKzM0LDggQEAKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAg
ICBFbmFibGVkQXRSdW50aW1lPVdlYlNvY2tldAogXSBpbnRlcmZhY2UgV2ViU29ja2V0IDogRXZl
bnRUYXJnZXQgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJv
d0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoVVNWU3RyaW5nIHVybCwgb3B0aW9uYWwgc2VxdWVuY2U8
RE9NU3RyaW5nPiBwcm90b2NvbHMgPSBbXSk7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgdXJsLCBE
T01TdHJpbmcgcHJvdG9jb2wpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0
XSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgdXJsLCBvcHRpb25hbCBzZXF1ZW5jZTxET01TdHJpbmc+
IHByb3RvY29scyA9IFtdKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
Y29uc3RydWN0b3IoVVNWU3RyaW5nIHVybCwgRE9NU3RyaW5nIHByb3RvY29sKTsKIAogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgVVJMOyAvLyBMb3dlcmNhc2VkIC51cmwgaXMgdGhl
IG9uZSBpbiB0aGUgc3BlYywgYnV0IGxlYXZpbmcgLlVSTCBmb3IgY29tcGF0aWJpbGl0eSByZWFz
b25zLgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdXJsOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0uaWRs
CShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
UmlnaWRUcmFuc2Zvcm0uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VOYW1lPVhSUmlnaWRUcmFu
c2Zvcm0KIF0gaW50ZXJmYWNlIFdlYlhSUmlnaWRUcmFuc2Zvcm0gewotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gY29uc3RydWN0b3Iob3B0aW9uYWwgRE9NUG9pbnRJbml0IHBvc2l0aW9uLCBvcHRp
b25hbCBET01Qb2ludEluaXQgb3JpZW50YXRpb24pOworICAgIGNvbnN0cnVjdG9yKG9wdGlvbmFs
IERPTVBvaW50SW5pdCBwb3NpdGlvbiwgb3B0aW9uYWwgRE9NUG9pbnRJbml0IG9yaWVudGF0aW9u
KTsKIAogICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnRSZWFkT25s
eSBwb3NpdGlvbjsKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50
UmVhZE9ubHkgb3JpZW50YXRpb247CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSV2ViR0xMYXllci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUldlYkdMTGF5ZXIuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTM4LDcgKzM4LDcgQEAgdHlwZWRlZiAoV2ViR0xSZW5kZXJpbmdDb250ZXh0KSBXZWJYUldl
YgogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKICAgICBJbnRlcmZhY2VOYW1lPVhSV2Vi
R0xMYXllcgogXSBpbnRlcmZhY2UgV2ViWFJXZWJHTExheWVyIDogV2ViWFJMYXllciB7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihXZWJYUlNlc3Npb24gc2Vzc2lvbiwgV2Vi
WFJXZWJHTFJlbmRlcmluZ0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgWFJXZWJHTExheWVySW5p
dCBsYXllckluaXQpOworICAgIGNvbnN0cnVjdG9yKFdlYlhSU2Vzc2lvbiBzZXNzaW9uLCBXZWJY
UldlYkdMUmVuZGVyaW5nQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBYUldlYkdMTGF5ZXJJbml0
IGxheWVySW5pdCk7CiAKICAgICAvLyBBdHRyaWJ1dGVzCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gYW50aWFsaWFzOwpJbmRleDogU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5
ZnJhbWVFZmZlY3QuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw4IEBA
IHR5cGVkZWYgVVNWU3RyaW5nIENTU09NU3RyaW5nOwogICAgIEV4cG9zZWQ9V2luZG93LAogICAg
IEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKIF0gaW50ZXJmYWNlIEtleWZyYW1lRWZmZWN0IDog
QW5pbWF0aW9uRWZmZWN0IHsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4
Y2VwdGlvbl0gY29uc3RydWN0b3IoRWxlbWVudD8gdGFyZ2V0LCBvYmplY3Q/IGtleWZyYW1lcywg
b3B0aW9uYWwgKHVucmVzdHJpY3RlZCBkb3VibGUgb3IgS2V5ZnJhbWVFZmZlY3RPcHRpb25zKSBv
cHRpb25zKTsKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0LCBNYXlUaHJvd0V4Y2VwdGlvbl0g
Y29uc3RydWN0b3IoS2V5ZnJhbWVFZmZlY3Qgc291cmNlKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFs
T2JqZWN0XSBjb25zdHJ1Y3RvcihFbGVtZW50PyB0YXJnZXQsIG9iamVjdD8ga2V5ZnJhbWVzLCBv
cHRpb25hbCAodW5yZXN0cmljdGVkIGRvdWJsZSBvciBLZXlmcmFtZUVmZmVjdE9wdGlvbnMpIG9w
dGlvbnMpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3RdIGNvbnN0cnVjdG9yKEtleWZyYW1l
RWZmZWN0IHNvdXJjZSk7CiAKICAgICBhdHRyaWJ1dGUgRWxlbWVudD8gdGFyZ2V0OwogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIENTU09NU3RyaW5nPyBwc2V1ZG9FbGVtZW50OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9ySlMucG0JKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCSh3b3JraW5nIGNvcHkpCkBAIC03NTEzLDE3ICs3NTEz
LDE0IEBAIHN1YiBHZW5lcmF0ZUNvbnN0cnVjdG9yRGVmaW5pdGlvbgogCiAgICAgICAgICAgICBH
ZW5lcmF0ZUFyZ3VtZW50c0NvdW50Q2hlY2soJG91dHB1dEFycmF5LCAkb3BlcmF0aW9uLCAkaW50
ZXJmYWNlLCAiICAgICIpOwogCi0gICAgICAgICAgICBteSAkZnVuY3Rpb25JbXBsZW1lbnRhdGlv
bk5hbWUgPSAkZ2VuZXJhdGluZ0xlZ2FjeUZhY3RvcnlGdW5jdGlvbiA/ICJjcmVhdGVGb3JKU0Nv
bnN0cnVjdG9yIiA6ICJjcmVhdGUiOworICAgICAgICAgICAgbXkgJGZ1bmN0aW9uSW1wbGVtZW50
YXRpb25OYW1lID0gJGdlbmVyYXRpbmdMZWdhY3lGYWN0b3J5RnVuY3Rpb24gPyAiY3JlYXRlRm9y
TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIiA6ICJjcmVhdGUiOwogICAgICAgICAgICAgbXkgJGZ1bmN0
aW9uU3RyaW5nID0gR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2soJG91dHB1dEFycmF5LCAkb3BlcmF0
aW9uLCAkaW50ZXJmYWNlLCAkZnVuY3Rpb25JbXBsZW1lbnRhdGlvbk5hbWUsICIgICAgIik7CiAK
ICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBhdXRvIG9iamVjdCA9ICR7ZnVu
Y3Rpb25TdHJpbmd9O1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTtcbiIpIGlm
ICRjb2RlR2VuZXJhdG9yLT5FeHRlbmRlZEF0dHJpYnV0ZUNvbnRhaW5zKCRpbnRlcmZhY2UtPmV4
dGVuZGVkQXR0cmlidXRlcy0+e0NhbGxXaXRofSwgIkV4ZWNTdGF0ZSIpOwotICAgICAgICAgICAg
aWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0xlZ2FjeUZhY3RvcnlGdW5jdGlv
bk1heVRocm93RXhjZXB0aW9ufSB8fCAkb3BlcmF0aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntN
YXlUaHJvd0V4Y2VwdGlvbn0pIHsKLSAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICIgICAgc3RhdGljX2Fzc2VydChJc0V4Y2VwdGlvbk9yPGRlY2x0eXBlKG9iamVjdCk+Ojp2YWx1
ZSk7XG4iKTsKLSAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgc3RhdGlj
X2Fzc2VydChkZWNsdHlwZShvYmplY3QpOjpSZXR1cm5UeXBlOjppc1JlZik7XG4iKTsKLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAg
IHN0YXRpY19hc3NlcnQoZGVjbHR5cGUob2JqZWN0KTo6aXNSZWYpO1xuIik7Ci0gICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBjb25zdGV4cHIgYm9v
bCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciA9IElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUo
b2JqZWN0KT46OnZhbHVlO1xuIik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhj
ZXB0aW9uT3IsIGRlY2x0eXBlKG9iamVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+
Ojppc1JlZik7XG4iKTsKIAogICAgICAgICAgICAgbXkgJElETFR5cGUgPSBHZXRJRExUeXBlKCRp
bnRlcmZhY2UsICRpbnRlcmZhY2UtPnR5cGUpOwogICAgICAgICAgICAgbXkgJGltcGxUeXBlID0g
R2V0SW1wbENsYXNzTmFtZSgkaW50ZXJmYWNlKTsKQEAgLTc1MzMsMTIgKzc1MzAsMTMgQEAgc3Vi
IEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBteSBAY29uc3RydWN0
aW9uQ29udmVyc2lvbkFyZ3VtZW50cyA9ICgpOwogICAgICAgICAgICAgcHVzaChAY29uc3RydWN0
aW9uQ29udmVyc2lvbkFyZ3VtZW50cywgIipsZXhpY2FsR2xvYmFsT2JqZWN0Iik7CiAgICAgICAg
ICAgICBwdXNoKEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAiKmNhc3RlZFRoaXMt
Pmdsb2JhbE9iamVjdCgpIik7Ci0gICAgICAgICAgICBwdXNoKEBjb25zdHJ1Y3Rpb25Db252ZXJz
aW9uQXJndW1lbnRzLCAidGhyb3dTY29wZSIpIGlmICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmli
dXRlcy0+e0xlZ2FjeUZhY3RvcnlGdW5jdGlvbk1heVRocm93RXhjZXB0aW9ufSB8fCAkb3BlcmF0
aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntNYXlUaHJvd0V4Y2VwdGlvbn07CisgICAgICAgICAg
ICBwdXNoKEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAidGhyb3dTY29wZSIpOwog
ICAgICAgICAgICAgcHVzaChAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50cywgIldURk1v
dmUob2JqZWN0KSIpOwogCiAgICAgICAgICAgICAjIEZJWE1FOiB0b0pTTmV3bHlDcmVhdGVkIHNo
b3VsZCByZXR1cm4gSlNPYmplY3QqIGluc3RlYWQgb2YgSlNWYWx1ZS4KICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPCR7
SURMVHlwZX0+KCIgLiBqb2luKCIsICIsIEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRz
KSAuICIpO1xuIik7Ci0gICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pO1xuIikgaWYgJGludGVyZmFjZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57TGVnYWN5RmFjdG9yeUZ1bmN0aW9uTWF5VGhyb3dFeGNlcHRpb259IHx8
ICRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e01heVRocm93RXhjZXB0aW9ufTsKKyAg
ICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiBjb25zdGV4cHIgKGNvbnN0cnVj
dG9yUmV0dXJuc0V4Y2VwdGlvbk9yKVxuIik7CisgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTtcbiIpOwog
ICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHNldFN1YmNsYXNzU3RydWN0dXJl
SWZOZWVkZWQ8JHtpbXBsVHlwZX0+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNP
YmplY3QoanNWYWx1ZSkpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pO1xuIik7CiAgICAgICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVl
KTtcbiIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1
dGVzLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9J
RExBdHRyaWJ1dGVzLmpzb24JKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0zMTYs
OSArMzE2LDYgQEAKICAgICAgICAgICAgICJ2YWx1ZXMiOiBbIioiXSwKICAgICAgICAgICAgICJz
dXBwb3J0c0Nvbmp1bmN0aW9uIjogdHJ1ZQogICAgICAgICB9LAotICAgICAgICAiTGVnYWN5RmFj
dG9yeUZ1bmN0aW9uTWF5VGhyb3dFeGNlcHRpb24iOiB7Ci0gICAgICAgICAgICAiY29udGV4dHNB
bGxvd2VkIjogWyJpbnRlcmZhY2UiXQotICAgICAgICB9LAogICAgICAgICAiTGVnYWN5TGVuaWVu
dFNldHRlciI6IHsKICAgICAgICAgICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImF0dHJpYnV0ZSJd
LAogICAgICAgICAgICAgInN0YW5kYXJkIjogewpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TGVnYWN5RmFjdG9y
eUZ1bmN0aW9uLmlkbAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zMiw3ICszMiw2IEBACiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIExlZ2Fj
eUZhY3RvcnlGdW5jdGlvbj1BdWRpbyhET01TdHJpbmcgc3RyMSwgb3B0aW9uYWwgRE9NU3RyaW5n
IHN0cjIgPSAiZGVmYXVsdFN0cmluZyIsIG9wdGlvbmFsIERPTVN0cmluZyBzdHIzKSwKLSAgICBM
ZWdhY3lGYWN0b3J5RnVuY3Rpb25DYWxsV2l0aD1Eb2N1bWVudCwKLSAgICBMZWdhY3lGYWN0b3J5
RnVuY3Rpb25NYXlUaHJvd0V4Y2VwdGlvbgorICAgIExlZ2FjeUZhY3RvcnlGdW5jdGlvbkNhbGxX
aXRoPURvY3VtZW50CiBdIGludGVyZmFjZSBUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uIHsKIH07
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2Vk
VG9Xb3JrZXJBbmRXaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAJKHJldmlz
aW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw4ICsx
MzUsMTEgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogICAgIGF1
dG8qIGNhc3RlZFRoaXMgPSBqc0Nhc3Q8SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3dDb25zdHJ1
Y3Rvcio+KGNhbGxGcmFtZS0+anNDYWxsZWUoKSk7CiAgICAgQVNTRVJUKGNhc3RlZFRoaXMpOwog
ICAgIGF1dG8gb2JqZWN0ID0gRXhwb3NlZFRvV29ya2VyQW5kV2luZG93OjpjcmVhdGUoKTsKLSAg
ICBzdGF0aWNfYXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6OmlzUmVmKTsKLSAgICBhdXRvIGpzVmFs
dWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxFeHBvc2VkVG9Xb3JrZXJBbmRXaW5k
b3c+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBX
VEZNb3ZlKG9iamVjdCkpOworICAgIGNvbnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4
Y2VwdGlvbk9yID0gSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAg
c3RhdGljX2Fzc2VydChzdGQ6OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0
aW9uT3IsIGRlY2x0eXBlKG9iamVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojpp
c1JlZik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8
RXhwb3NlZFRvV29ya2VyQW5kV2luZG93Pj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRU
aGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBp
ZiBjb25zdGV4cHIgKGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yKQorICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1
cmVJZk5lZWRlZDxFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c+KGxleGljYWxHbG9iYWxPYmplY3Qs
IGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50
Q29uc3RydWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RFdmVudENvbnN0cnVjdG9yLmNwcAkocmV2aXNpb24gMjY2OTY4
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50
Q29uc3RydWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODAsOCArMTgwLDExIEBAIHRlbXBs
YXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBhdXRvIGV2ZW50SW5pdERp
Y3QgPSBjb252ZXJ0PElETERpY3Rpb25hcnk8VGVzdEV2ZW50Q29uc3RydWN0b3I6OkluaXQ+Pigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQxLnZhbHVlKCkpOwogICAgIFJFVFVSTl9JRl9F
WENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3Qg
PSBUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6Y3JlYXRlKFdURk1vdmUodHlwZSksIFdURk1vdmUoZXZl
bnRJbml0RGljdCkpOwotICAgIHN0YXRpY19hc3NlcnQoZGVjbHR5cGUob2JqZWN0KTo6aXNSZWYp
OwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RF
dmVudENvbnN0cnVjdG9yPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9i
YWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBjb25zdGV4cHIgYm9vbCBjb25zdHJ1
Y3RvclJldHVybnNFeGNlcHRpb25PciA9IElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT46
OnZhbHVlOworICAgIHN0YXRpY19hc3NlcnQoc3RkOjpjb25kaXRpb25hbF90PGNvbnN0cnVjdG9y
UmV0dXJuc0V4Y2VwdGlvbk9yLCBkZWNsdHlwZShvYmplY3QpOjpSZXR1cm5UeXBlLCBkZWNsdHlw
ZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8
SURMSW50ZXJmYWNlPFRlc3RFdmVudENvbnN0cnVjdG9yPj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
ICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3Qp
KTsKKyAgICBpZiBjb25zdGV4cHIgKGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yKQorICAg
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xh
c3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0RXZlbnRDb25zdHJ1Y3Rvcj4obGV4aWNhbEdsb2JhbE9i
amVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1
ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
SW50ZXJmYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMjY2OTY4KQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI3NiwxMCArMjc2LDExIEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBhdXRvIHN0cjIgPSBhcmd1bWVudDEudmFsdWUoKS5p
c1VuZGVmaW5lZCgpID8gImRlZmF1bHRTdHJpbmciX3MgOiBjb252ZXJ0PElETERPTVN0cmluZz4o
KmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50MS52YWx1ZSgpKTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0
ID0gVGVzdEludGVyZmFjZTo6Y3JlYXRlKCpjb250ZXh0LCBXVEZNb3ZlKHN0cjEpLCBXVEZNb3Zl
KHN0cjIpKTsKLSAgICBzdGF0aWNfYXNzZXJ0KElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0
KT46OnZhbHVlKTsKLSAgICBzdGF0aWNfYXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6OlJldHVyblR5
cGU6OmlzUmVmKTsKKyAgICBjb25zdGV4cHIgYm9vbCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRp
b25PciA9IElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT46OnZhbHVlOworICAgIHN0YXRp
Y19hc3NlcnQoc3RkOjpjb25kaXRpb25hbF90PGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9y
LCBkZWNsdHlwZShvYmplY3QpOjpSZXR1cm5UeXBlLCBkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYp
OwogICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RJ
bnRlcmZhY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVj
dCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTsKKyAgICBpZiBjb25zdGV4cHIgKGNvbnN0cnVjdG9yUmV0dXJu
c0V4Y2VwdGlvbk9yKQorICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsg
fSk7CiAgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0SW50ZXJmYWNlPihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1ZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVu
Y3Rpb24uY3BwCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTIzLDExICsxMjMsMTIgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIAogICAgIEVuc3VyZVN0aWxsQWxpdmVTY29wZSBhcmd1bWVudDIgPSBjYWxsRnJh
bWUtPmFyZ3VtZW50KDIpOwogICAgIGF1dG8gc3RyMyA9IGFyZ3VtZW50Mi52YWx1ZSgpLmlzVW5k
ZWZpbmVkKCkgPyBTdHJpbmcoKSA6IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgYXJndW1lbnQyLnZhbHVlKCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhy
b3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7Ci0gICAgYXV0byBvYmplY3QgPSBUZXN0TGVnYWN5
RmFjdG9yeUZ1bmN0aW9uOjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKGRvY3VtZW50LCBXVEZNb3Zl
KHN0cjEpLCBXVEZNb3ZlKHN0cjIpLCBXVEZNb3ZlKHN0cjMpKTsKLSAgICBzdGF0aWNfYXNzZXJ0
KElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT46OnZhbHVlKTsKLSAgICBzdGF0aWNfYXNz
ZXJ0KGRlY2x0eXBlKG9iamVjdCk6OlJldHVyblR5cGU6OmlzUmVmKTsKKyAgICBhdXRvIG9iamVj
dCA9IFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb246OmNyZWF0ZUZvckxlZ2FjeUZhY3RvcnlGdW5j
dGlvbihkb2N1bWVudCwgV1RGTW92ZShzdHIxKSwgV1RGTW92ZShzdHIyKSwgV1RGTW92ZShzdHIz
KSk7CisgICAgY29uc3RleHByIGJvb2wgY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IgPSBJ
c0V4Y2VwdGlvbk9yPGRlY2x0eXBlKG9iamVjdCk+Ojp2YWx1ZTsKKyAgICBzdGF0aWNfYXNzZXJ0
KHN0ZDo6Y29uZGl0aW9uYWxfdDxjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciwgZGVjbHR5
cGUob2JqZWN0KTo6UmV0dXJuVHlwZSwgZGVjbHR5cGUob2JqZWN0KT46OmlzUmVmKTsKICAgICBh
dXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0TGVnYWN5RmFj
dG9yeUZ1bmN0aW9uPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxP
YmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKLSAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgaWYgY29uc3RleHByIChjb25zdHJ1Y3RvclJl
dHVybnNFeGNlcHRpb25PcikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCB7IH0pOwogICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdExlZ2FjeUZhY3Rv
cnlGdW5jdGlvbj4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1Zh
bHVlKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vZGUuY3BwCShyZXZpc2lv
biAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0Tm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSw4ICsxMTUsMTEgQEAgdGVtcGxhdGU8
PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogICAgIGF1dG8qIGNhc3RlZFRoaXMgPSBq
c0Nhc3Q8SlNUZXN0Tm9kZUNvbnN0cnVjdG9yKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKTsKICAg
ICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0Tm9kZTo6Y3JlYXRl
KCk7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0
byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5vZGU+PigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9i
amVjdCkpOworICAgIGNvbnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9y
ID0gSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAgc3RhdGljX2Fz
c2VydChzdGQ6OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IsIGRl
Y2x0eXBlKG9iamVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7Cisg
ICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5vZGU+
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJv
d1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAoY29uc3RydWN0b3JS
ZXR1cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3ROb2RlPihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1ZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RPYmouY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTk3OCw4ICsxOTc4LDExIEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCAKICAgICBhdXRvIHRlc3RDYWxsYmFja0Z1bmN0aW9uID0gY29udmVydDxJ
RExDYWxsYmFja0Z1bmN0aW9uPEpTVGVzdENhbGxiYWNrRnVuY3Rpb24+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgYXJndW1lbnQxLnZhbHVlKCksICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwg
W10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Nj
b3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50TXVzdEJlRnVuY3Rpb25FcnJvcihsZXhpY2FsR2xv
YmFsT2JqZWN0LCBzY29wZSwgMSwgInRlc3RDYWxsYmFja0Z1bmN0aW9uIiwgIlRlc3RPYmplY3Qi
LCBudWxscHRyKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPYmo6OmNyZWF0ZShkb2N1bWVu
dCwgdGVzdENhbGxiYWNrLnJlbGVhc2VOb25OdWxsKCksIHRlc3RDYWxsYmFja0Z1bmN0aW9uLnJl
bGVhc2VOb25OdWxsKCkpOwotICAgIHN0YXRpY19hc3NlcnQoZGVjbHR5cGUob2JqZWN0KTo6aXNS
ZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRl
c3RPYmo+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
LCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGNvbnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJu
c0V4Y2VwdGlvbk9yID0gSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7Cisg
ICAgc3RhdGljX2Fzc2VydChzdGQ6OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhj
ZXB0aW9uT3IsIGRlY2x0eXBlKG9iamVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+
Ojppc1JlZik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZh
Y2U8VGVzdE9iaj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2Jq
ZWN0KCksIHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgaWYgY29uc3RleHByIChj
b25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PcikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
Tih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVz
dE9iaj4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnMuY3BwCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTk3LDggKzk3LDExIEBAIHN0YXRpYyBpbmxpbmUgRW5jb2Rl
ZEpTVmFsdWUgY29uc3RydWN0SlMKICAgICBhdXRvIGFycmF5QnVmZmVyID0gY29udmVydDxJRExB
cnJheUJ1ZmZlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50MC52YWx1ZSgpLCBbXShK
U0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUm
IHNjb3BlKSB7IHRocm93QXJndW1lbnRUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2Nv
cGUsIDAsICJhcnJheUJ1ZmZlciIsICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyIsIG51bGxw
dHIsICJBcnJheUJ1ZmZlciIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnM6OmNyZWF0ZSgqYXJyYXlCdWZmZXIpOwotICAgIHN0YXRpY19hc3NlcnQoZGVj
bHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0
ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9i
YWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsK
KyAgICBjb25zdGV4cHIgYm9vbCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciA9IElzRXhj
ZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT46OnZhbHVlOworICAgIHN0YXRpY19hc3NlcnQoc3Rk
Ojpjb25kaXRpb25hbF90PGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yLCBkZWNsdHlwZShv
YmplY3QpOjpSZXR1cm5UeXBlLCBkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8g
anNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmpl
Y3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBpZiBjb25zdGV4cHIgKGNv
bnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yKQorICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHRocm93U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBh
c09iamVjdChqc1ZhbHVlKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7
IH0pOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CkBAIC0xMTQsOCArMTE3
LDExIEBAIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlMKICAgICBhdXRv
IGFycmF5QnVmZmVyVmlldyA9IGNvbnZlcnQ8SURMQXJyYXlCdWZmZXJWaWV3PigqbGV4aWNhbEds
b2JhbE9iamVjdCwgYXJndW1lbnQwLnZhbHVlKCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVu
dFR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMCwgImFycmF5QnVmZmVyVmll
dyIsICJUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycyIsIG51bGxwdHIsICJBcnJheUJ1ZmZlclZp
ZXciKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNW
YWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpj
cmVhdGUoYXJyYXlCdWZmZXJWaWV3LnJlbGVhc2VOb25OdWxsKCkpOwotICAgIHN0YXRpY19hc3Nl
cnQoZGVjbHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXds
eUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGlj
YWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmpl
Y3QpKTsKKyAgICBjb25zdGV4cHIgYm9vbCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciA9
IElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT46OnZhbHVlOworICAgIHN0YXRpY19hc3Nl
cnQoc3RkOjpjb25kaXRpb25hbF90PGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yLCBkZWNs
dHlwZShvYmplY3QpOjpSZXR1cm5UeXBlLCBkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAg
IGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9i
YWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBpZiBjb25zdGV4
cHIgKGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yKQorICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRl
ZDxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZy
YW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Nj
b3BlLCB7IH0pOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CkBAIC0xMzEs
OCArMTM3LDExIEBAIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlMKICAg
ICBhdXRvIGJsb2IgPSBjb252ZXJ0PElETEludGVyZmFjZTxCbG9iPj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIGFyZ3VtZW50MC52YWx1ZSgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRUeXBl
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDAsICJibG9iIiwgIlRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkJsb2IiKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9
IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpjcmVhdGUoKmJsb2IpOwotICAgIHN0YXRpY19h
c3NlcnQoZGVjbHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNO
ZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShv
YmplY3QpKTsKKyAgICBjb25zdGV4cHIgYm9vbCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25P
ciA9IElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT46OnZhbHVlOworICAgIHN0YXRpY19h
c3NlcnQoc3RkOjpjb25kaXRpb25hbF90PGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yLCBk
ZWNsdHlwZShvYmplY3QpOjpSZXR1cm5UeXBlLCBkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOwor
ICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5n
bG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBpZiBjb25z
dGV4cHIgKGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yKQorICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5l
ZWRlZDxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2Fs
bEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJv
d1Njb3BlLCB7IH0pOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CkBAIC0x
NDgsOCArMTU3LDExIEBAIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlMK
ICAgICBhdXRvIHN0cmluZyA9IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgYXJndW1lbnQwLnZhbHVlKCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yczo6Y3JlYXRlKFdURk1vdmUoc3RyaW5nKSk7Ci0gICAgc3RhdGljX2Fzc2Vy
dChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5
Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNh
bEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVj
dCkpOworICAgIGNvbnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yID0g
SXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IsIGRlY2x0
eXBlKG9iamVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAg
YXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhw
ciAoY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVk
PFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKQEAgLTE2NCw4
ICsxNzYsMTEgQEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwogICAg
IGF1dG8gbG9uZ0FyZ3MgPSBjb252ZXJ0VmFyaWFkaWNBcmd1bWVudHM8SURMTG9uZz4oKmxleGlj
YWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsIDApOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRlKFdURk1vdmUobG9uZ0FyZ3MpKTsKLSAgICBzdGF0
aWNfYXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6OmlzUmVmKTsKLSAgICBhdXRvIGpzVmFsdWUgPSB0
b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1v
dmUob2JqZWN0KSk7CisgICAgY29uc3RleHByIGJvb2wgY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0
aW9uT3IgPSBJc0V4Y2VwdGlvbk9yPGRlY2x0eXBlKG9iamVjdCk+Ojp2YWx1ZTsKKyAgICBzdGF0
aWNfYXNzZXJ0KHN0ZDo6Y29uZGl0aW9uYWxfdDxjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25P
ciwgZGVjbHR5cGUob2JqZWN0KTo6UmV0dXJuVHlwZSwgZGVjbHR5cGUob2JqZWN0KT46OmlzUmVm
KTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhp
cy0+Z2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgaWYg
Y29uc3RleHByIChjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PcikKKyAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHNldFN1YmNsYXNzU3RydWN0dXJl
SWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+KGxleGljYWxHbG9iYWxPYmplY3Qs
IGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzV2l0aFNlcXVlbmNlLmNwcAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRo
U2VxdWVuY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Niw4ICs5NiwxMSBAQCBzdGF0aWMgaW5s
aW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTCiAgICAgYXV0byBzZXF1ZW5jZU9mU3RyaW5n
cyA9IGFyZ3VtZW50MC52YWx1ZSgpLmlzVW5kZWZpbmVkKCkgPyBDb252ZXJ0ZXI8SURMU2VxdWVu
Y2U8SURMRE9NU3RyaW5nPj46OlJldHVyblR5cGV7IH0gOiBjb252ZXJ0PElETFNlcXVlbmNlPElE
TERPTVN0cmluZz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUoKSk7CiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAg
ICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlOjpj
cmVhdGUoV1RGTW92ZShzZXF1ZW5jZU9mU3RyaW5ncykpOwotICAgIHN0YXRpY19hc3NlcnQoZGVj
bHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0
ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPj4o
KmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92
ZShvYmplY3QpKTsKKyAgICBjb25zdGV4cHIgYm9vbCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRp
b25PciA9IElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT46OnZhbHVlOworICAgIHN0YXRp
Y19hc3NlcnQoc3RkOjpjb25kaXRpb25hbF90PGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9y
LCBkZWNsdHlwZShvYmplY3QpOjpSZXR1cm5UeXBlLCBkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYp
OworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPj4oKmxleGljYWxHbG9iYWxPYmplY3Qs
ICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3Qp
KTsKKyAgICBpZiBjb25zdGV4cHIgKGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yKQorICAg
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xh
c3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5j
ZT4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CiAg
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNWYWx1ZSk7CkBAIC0xMTMsOCArMTE2LDExIEBAIHN0YXRpYyBpbmxpbmUg
RW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlMKICAgICBhdXRvIHN0cmluZyA9IGNvbnZlcnQ8SURM
RE9NU3RyaW5nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQwLnZhbHVlKCkpOwogICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAg
YXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZTo6Y3Jl
YXRlKFdURk1vdmUoc3RyaW5nKSk7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3Qp
Ojppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZh
Y2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOwor
ICAgIGNvbnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yID0gSXNFeGNl
cHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6
OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IsIGRlY2x0eXBlKG9i
amVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBq
c1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMt
Pmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNv
bnN0ZXhwciAoY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlm
TmVlZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPihsZXhpY2FsR2xv
YmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1ZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQu
Y3BwCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTgxLDggKzE4MSwxMSBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgCiAgICAgYXV0byBldmVudEluaXREaWN0ID0gY29udmVydDxJRExEaWN0aW9uYXJ5PFRlc3RQ
cm9taXNlUmVqZWN0aW9uRXZlbnQ6OkluaXQ+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1l
bnQxLnZhbHVlKCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2Rl
ZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50
OjpjcmVhdGUoKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKHR5cGUpLCBXVEZN
b3ZlKGV2ZW50SW5pdERpY3QpKTsKLSAgICBzdGF0aWNfYXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6
OmlzUmVmKTsKLSAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFj
ZTxUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Pj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0
ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBjb25zdGV4cHIg
Ym9vbCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciA9IElzRXhjZXB0aW9uT3I8ZGVjbHR5
cGUob2JqZWN0KT46OnZhbHVlOworICAgIHN0YXRpY19hc3NlcnQoc3RkOjpjb25kaXRpb25hbF90
PGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yLCBkZWNsdHlwZShvYmplY3QpOjpSZXR1cm5U
eXBlLCBkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNO
ZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+PigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3Bl
LCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAoY29uc3RydWN0b3JSZXR1cm5z
RXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9
KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RQcm9taXNlUmVqZWN0aW9u
RXZlbnQ+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCShyZXZp
c2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0VHlwZWRlZnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsOCArMTcyLDExIEBAIHRl
bXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBhdXRvIHRlc3RDYWxs
YmFja0ludGVyZmFjZSA9IGNvbnZlcnQ8SURMQ2FsbGJhY2tJbnRlcmZhY2U8SlNUZXN0Q2FsbGJh
Y2tJbnRlcmZhY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQyLnZhbHVlKCksICpj
YXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50TXVz
dEJlT2JqZWN0RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2NvcGUsIDIsICJ0ZXN0Q2FsbGJh
Y2tJbnRlcmZhY2UiLCAiVGVzdFR5cGVkZWZzIiwgbnVsbHB0cik7IH0pOwogICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmpl
Y3QgPSBUZXN0VHlwZWRlZnM6OmNyZWF0ZShXVEZNb3ZlKGhlbGxvKSwgdGVzdENhbGxiYWNrRnVu
Y3Rpb24ucmVsZWFzZU5vbk51bGwoKSwgdGVzdENhbGxiYWNrSW50ZXJmYWNlLnJlbGVhc2VOb25O
dWxsKCkpOwotICAgIHN0YXRpY19hc3NlcnQoZGVjbHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAg
IGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RUeXBlZGVm
cz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdU
Rk1vdmUob2JqZWN0KSk7CisgICAgY29uc3RleHByIGJvb2wgY29uc3RydWN0b3JSZXR1cm5zRXhj
ZXB0aW9uT3IgPSBJc0V4Y2VwdGlvbk9yPGRlY2x0eXBlKG9iamVjdCk+Ojp2YWx1ZTsKKyAgICBz
dGF0aWNfYXNzZXJ0KHN0ZDo6Y29uZGl0aW9uYWxfdDxjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRp
b25PciwgZGVjbHR5cGUob2JqZWN0KTo6UmV0dXJuVHlwZSwgZGVjbHR5cGUob2JqZWN0KT46Omlz
UmVmKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxU
ZXN0VHlwZWRlZnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9i
amVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAo
Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRl
c3RUeXBlZGVmcz4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1Zh
bHVlKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3Mv
RE9NTWF0cml4LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4
LmlkbAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICAgICBFeHBvc2VkPShXaW5kb3cs
V29ya2VyKSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01N
YXRyaXggOiBET01NYXRyaXhSZWFkT25seSB7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihvcHRpb25hbCAoRE9NU3Ry
aW5nIG9yIHNlcXVlbmNlPHVucmVzdHJpY3RlZCBkb3VibGU+KSBpbml0KTsKKyAgICBbQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3Iob3B0aW9uYWwgKERPTVN0cmlu
ZyBvciBzZXF1ZW5jZTx1bnJlc3RyaWN0ZWQgZG91YmxlPikgaW5pdCk7CiAKICAgICBbTWF5VGhy
b3dFeGNlcHRpb24sIE5ld09iamVjdF0gc3RhdGljIERPTU1hdHJpeCBmcm9tTWF0cml4KG9wdGlv
bmFsIERPTU1hdHJpeEluaXQgb3RoZXIpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2Jq
ZWN0XSBzdGF0aWMgRE9NTWF0cml4IGZyb21GbG9hdDMyQXJyYXkoRmxvYXQzMkFycmF5IGFycmF5
MzIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0RPTU1hdHJpeFJlYWRPbmx5LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVhZE9ubHkuaWRsCShyZXZp
c2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVhZE9ubHkuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAgICAgRXhwb3NlZD0oV2luZG93LFdv
cmtlciksCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQogXSBpbnRlcmZhY2UgRE9NTWF0
cml4UmVhZE9ubHkgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlU
aHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Iob3B0aW9uYWwgKERPTVN0cmluZyBvciBzZXF1ZW5j
ZTx1bnJlc3RyaWN0ZWQgZG91YmxlPikgaW5pdCk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKG9wdGlvbmFsIChET01TdHJpbmcgb3Igc2VxdWVuY2U8
dW5yZXN0cmljdGVkIGRvdWJsZT4pIGluaXQpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uLCBO
ZXdPYmplY3RdIHN0YXRpYyBET01NYXRyaXhSZWFkT25seSBmcm9tTWF0cml4KG9wdGlvbmFsIERP
TU1hdHJpeEluaXQgb3RoZXIpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBz
dGF0aWMgRE9NTWF0cml4UmVhZE9ubHkgZnJvbUZsb2F0MzJBcnJheShGbG9hdDMyQXJyYXkgYXJy
YXkzMik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmlkbAkocmV2aXNp
b24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU01hdHJpeC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKIFsKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlLAogXSBpbnRlcmZhY2UgV2ViS2l0Q1NTTWF0cml4IHsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVN0cmluZyBjc3NWYWx1ZSk7CisgICAgY29u
c3RydWN0b3Iob3B0aW9uYWwgRE9NU3RyaW5nIGNzc1ZhbHVlKTsKIAogICAgIC8vIFRoZXNlIGF0
dHJpYnV0ZXMgYXJlIHNpbXBsZSBhbGlhc2VzIGZvciBjZXJ0YWluIGVsZW1lbnRzIG9mIHRoZSA0
eDQgbWF0cml4CiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYTsgLy8gYWxpYXMg
Zm9yIG0xMQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1N0YXRpY1JhbmdlLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuaWRsCShyZXZpc2lvbiAyNjY5
NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yOCw3ICsyOCw3IEBACiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBF
eHBvc2VkPVdpbmRvdywKIF0gaW50ZXJmYWNlIFN0YXRpY1JhbmdlIHsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIGNvbnN0cnVjdG9yKFN0YXRpY1JhbmdlSW5pdCBzdGF0aWNSYW5nZUluaXREaWN0
KTsKKyAgICBjb25zdHJ1Y3RvcihTdGF0aWNSYW5nZUluaXQgc3RhdGljUmFuZ2VJbml0RGljdCk7
CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzdGFydE9mZnNldDsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBlbmRPZmZzZXQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vVGV4dERlY29kZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9UZXh0RGVjb2Rlci5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9UZXh0RGVjb2Rlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAg
ZGljdGlvbmFyeSBUZXh0RGVjb2RlT3B0aW9ucyB7CiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtl
ciksCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIFRleHREZWNv
ZGVyIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVN0
cmluZyBsYWJlbCA9ICJ1dGYtOCIsIG9wdGlvbmFsIFRleHREZWNvZGVyT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBjb25zdHJ1Y3RvcihvcHRpb25hbCBET01TdHJpbmcgbGFiZWwgPSAidXRmLTgiLCBv
cHRpb25hbCBUZXh0RGVjb2Rlck9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGVuY29kaW5nOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IGZhdGFsOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RleHREZWNvZGVyU3RyZWFtRGVjb2Rl
ci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RleHREZWNvZGVyU3RyZWFt
RGVjb2Rlci5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0
RGVjb2RlclN0cmVhbURlY29kZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBA
CiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBQcml2YXRlSWRlbnRpZmllciwK
IF0gaW50ZXJmYWNlIFRleHREZWNvZGVyU3RyZWFtRGVjb2RlciB7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSBjb25zdHJ1Y3RvcihET01TdHJpbmcgbGFiZWwsIGJvb2xlYW4gZmF0YWwsIGJvb2xl
YW4gaWdub3JlQk9NKTsKKyAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcgbGFiZWwsIGJvb2xlYW4g
ZmF0YWwsIGJvb2xlYW4gaWdub3JlQk9NKTsKIAogICAgIFtQcml2YXRlSWRlbnRpZmllcl0gRE9N
U3RyaW5nIGVuY29kaW5nKCk7CiAgICAgW1ByaXZhdGVJZGVudGlmaWVyLCBNYXlUaHJvd0V4Y2Vw
dGlvbl0gRE9NU3RyaW5nIGRlY29kZShCdWZmZXJTb3VyY2Ugc291cmNlKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0RPTVVSTC5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
RE9NVVJMLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsOCArMzIsOCBAQAogICAgIEpTR2VuZXJh
dGVUb05hdGl2ZU9iamVjdCwKICAgICBMZWdhY3lXaW5kb3dBbGlhcz13ZWJraXRVUkwsCiBdIGlu
dGVyZmFjZSBET01VUkwgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoVVNW
U3RyaW5nIHVybCwgb3B0aW9uYWwgVVNWU3RyaW5nIGJhc2UpOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gY29uc3RydWN0b3IoVVNWU3RyaW5nIHVybCwgRE9NVVJMIGJhc2UpOworICAgIGNvbnN0
cnVjdG9yKFVTVlN0cmluZyB1cmwsIG9wdGlvbmFsIFVTVlN0cmluZyBiYXNlKTsKKyAgICBjb25z
dHJ1Y3RvcihVU1ZTdHJpbmcgdXJsLCBET01VUkwgYmFzZSk7CiAKICAgICBbVVJMXSBzdHJpbmdp
ZmllciBhdHRyaWJ1dGUgVVNWU3RyaW5nIGhyZWY7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVT
VlN0cmluZyBvcmlnaW47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlv
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgUmVmPEhUTUxBdWRp
b0VsZW1lbnQ+IEhUTUxBdWRpb0VsZW1lbnQ6OgogICAgIHJldHVybiBlbGVtZW50OwogfQogCi1S
ZWY8SFRNTEF1ZGlvRWxlbWVudD4gSFRNTEF1ZGlvRWxlbWVudDo6Y3JlYXRlRm9ySlNDb25zdHJ1
Y3RvcihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEF0b21TdHJpbmcmIHNyYykKK1JlZjxIVE1M
QXVkaW9FbGVtZW50PiBIVE1MQXVkaW9FbGVtZW50OjpjcmVhdGVGb3JMZWdhY3lGYWN0b3J5RnVu
Y3Rpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBBdG9tU3RyaW5nJiBzcmMpCiB7CiAgICAg
YXV0byBlbGVtZW50ID0gY3JlYXRlKGF1ZGlvVGFnLCBkb2N1bWVudCwgZmFsc2UpOwogICAgIGVs
ZW1lbnQtPnNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24ocHJlbG9hZEF0dHIsICJh
dXRvIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaAkocmV2aXNp
b24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgSFRNTEF1ZGlvRWxlbWVudCBmaW5h
bCA6IHB1YmxpYyBIVAogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSFRNTEF1ZGlvRWxlbWVu
dCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxIVE1MQXVkaW9FbGVtZW50PiBjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCk7Ci0gICAgc3RhdGljIFJlZjxIVE1M
QXVkaW9FbGVtZW50PiBjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKERvY3VtZW50JiwgY29uc3QgQXRv
bVN0cmluZyYgc3JjKTsKKyAgICBzdGF0aWMgUmVmPEhUTUxBdWRpb0VsZW1lbnQ+IGNyZWF0ZUZv
ckxlZ2FjeUZhY3RvcnlGdW5jdGlvbihEb2N1bWVudCYsIGNvbnN0IEF0b21TdHJpbmcmIHNyYyk7
CiAKIHByaXZhdGU6CiAgICAgSFRNTEF1ZGlvRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmLCBib29sKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmNwcAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAyLDcgKzEwMiw3IEBAIEhUTUxJbWFn
ZUVsZW1lbnQ6On5IVE1MSW1hZ2VFbGVtZW50KCkKICAgICBzZXRQaWN0dXJlRWxlbWVudChudWxs
cHRyKTsKIH0KIAotUmVmPEhUTUxJbWFnZUVsZW1lbnQ+IEhUTUxJbWFnZUVsZW1lbnQ6OmNyZWF0
ZUZvckpTQ29uc3RydWN0b3IoRG9jdW1lbnQmIGRvY3VtZW50LCBPcHRpb25hbDx1bnNpZ25lZD4g
d2lkdGgsIE9wdGlvbmFsPHVuc2lnbmVkPiBoZWlnaHQpCitSZWY8SFRNTEltYWdlRWxlbWVudD4g
SFRNTEltYWdlRWxlbWVudDo6Y3JlYXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKERvY3VtZW50
JiBkb2N1bWVudCwgT3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoLCBPcHRpb25hbDx1bnNpZ25lZD4g
aGVpZ2h0KQogewogICAgIGF1dG8gaW1hZ2UgPSBhZG9wdFJlZigqbmV3IEhUTUxJbWFnZUVsZW1l
bnQoaW1nVGFnLCBkb2N1bWVudCkpOwogICAgIGlmICh3aWR0aCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAs
NyBAQCBjbGFzcyBIVE1MSW1hZ2VFbGVtZW50IDogcHVibGljIEhUTUxFbGVtCiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxIVE1MSW1hZ2VFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQmKTsKICAgICBz
dGF0aWMgUmVmPEhUTUxJbWFnZUVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmLCBIVE1MRm9ybUVsZW1lbnQqID0gbnVsbHB0cik7Ci0gICAgc3RhdGljIFJlZjxI
VE1MSW1hZ2VFbGVtZW50PiBjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKERvY3VtZW50JiwgT3B0aW9u
YWw8dW5zaWduZWQ+IHdpZHRoLCBPcHRpb25hbDx1bnNpZ25lZD4gaGVpZ2h0KTsKKyAgICBzdGF0
aWMgUmVmPEhUTUxJbWFnZUVsZW1lbnQ+IGNyZWF0ZUZvckxlZ2FjeUZhY3RvcnlGdW5jdGlvbihE
b2N1bWVudCYsIE9wdGlvbmFsPHVuc2lnbmVkPiB3aWR0aCwgT3B0aW9uYWw8dW5zaWduZWQ+IGhl
aWdodCk7CiAKICAgICB2aXJ0dWFsIH5IVE1MSW1hZ2VFbGVtZW50KCk7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNjY5NjgpCisr
KyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjksNyArNjksNyBAQCBSZWY8SFRNTE9wdGlvbkVsZW1lbnQ+IEhUTUxPcHRpb25FbGVt
ZW50CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSFRNTE9wdGlvbkVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQpKTsKIH0KIAotRXhjZXB0aW9uT3I8UmVmPEhUTUxPcHRpb25FbGVtZW50Pj4gSFRN
TE9wdGlvbkVsZW1lbnQ6OmNyZWF0ZUZvckpTQ29uc3RydWN0b3IoRG9jdW1lbnQmIGRvY3VtZW50
LCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wgZGVmYXVsdFNl
bGVjdGVkLCBib29sIHNlbGVjdGVkKQorRXhjZXB0aW9uT3I8UmVmPEhUTUxPcHRpb25FbGVtZW50
Pj4gSFRNTE9wdGlvbkVsZW1lbnQ6OmNyZWF0ZUZvckxlZ2FjeUZhY3RvcnlGdW5jdGlvbihEb2N1
bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiB2YWx1ZSwg
Ym9vbCBkZWZhdWx0U2VsZWN0ZWQsIGJvb2wgc2VsZWN0ZWQpCiB7CiAgICAgYXV0byBlbGVtZW50
ID0gY3JlYXRlKGRvY3VtZW50KTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bkVsZW1lbnQuaAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIGNsYXNzIEhU
TUxPcHRpb25FbGVtZW50IGZpbmFsIDogcHVibGljIEgKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PEhUTUxPcHRpb25FbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQmKTsKICAgICBzdGF0aWMgUmVmPEhU
TUxPcHRpb25FbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
Ci0gICAgc3RhdGljIEV4Y2VwdGlvbk9yPFJlZjxIVE1MT3B0aW9uRWxlbWVudD4+IGNyZWF0ZUZv
ckpTQ29uc3RydWN0b3IoRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmlu
ZyYgdmFsdWUsIGJvb2wgZGVmYXVsdFNlbGVjdGVkLCBib29sIHNlbGVjdGVkKTsKKyAgICBzdGF0
aWMgRXhjZXB0aW9uT3I8UmVmPEhUTUxPcHRpb25FbGVtZW50Pj4gY3JlYXRlRm9yTGVnYWN5RmFj
dG9yeUZ1bmN0aW9uKERvY3VtZW50JiwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcm
IHZhbHVlLCBib29sIGRlZmF1bHRTZWxlY3RlZCwgYm9vbCBzZWxlY3RlZCk7CiAKICAgICBXRUJD
T1JFX0VYUE9SVCBTdHJpbmcgdGV4dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0VGV4dChjb25zdCBT
dHJpbmcmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRs
CShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNiBAQAogCiBbCiAgICAgSlNHZW5l
cmF0ZVRvTmF0aXZlT2JqZWN0LAotICAgIExlZ2FjeUZhY3RvcnlGdW5jdGlvbk1heVRocm93RXhj
ZXB0aW9uLAogICAgIExlZ2FjeUZhY3RvcnlGdW5jdGlvbkNhbGxXaXRoPURvY3VtZW50LAogICAg
IExlZ2FjeUZhY3RvcnlGdW5jdGlvbj1PcHRpb24ob3B0aW9uYWwgRE9NU3RyaW5nIHRleHQgPSAi
Iiwgb3B0aW9uYWwgRE9NU3RyaW5nIHZhbHVlLCBvcHRpb25hbCBib29sZWFuIGRlZmF1bHRTZWxl
Y3RlZCA9IGZhbHNlLCBvcHRpb25hbCBib29sZWFuIHNlbGVjdGVkID0gZmFsc2UpLAogXSBpbnRl
cmZhY2UgSFRNTE9wdGlvbkVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0ltYWdlRGF0YS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRt
bC9JbWFnZURhdGEuaWRsCShyZXZpc2lvbiAyNjY5NjgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L0ltYWdlRGF0YS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDggKzMyLDggQEAKICAgICBFeHBv
c2VkPShXaW5kb3csV29ya2VyKSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGlu
dGVyZmFjZSBJbWFnZURhdGEgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Io
dW5zaWduZWQgbG9uZyBzdywgdW5zaWduZWQgbG9uZyBzaCk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSBjb25zdHJ1Y3RvcihVaW50OENsYW1wZWRBcnJheSBkYXRhLCB1bnNpZ25lZCBsb25nIHN3
LCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIHNoKTsKKyAgICBjb25zdHJ1Y3Rvcih1bnNpZ25lZCBs
b25nIHN3LCB1bnNpZ25lZCBsb25nIHNoKTsKKyAgICBjb25zdHJ1Y3RvcihVaW50OENsYW1wZWRB
cnJheSBkYXRhLCB1bnNpZ25lZCBsb25nIHN3LCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIHNoKTsK
IAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvVVJMU2VhcmNoUGFyYW1zLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL1VSTFNlYXJjaFBhcmFtcy5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJD
b3JlL2h0bWwvVVJMU2VhcmNoUGFyYW1zLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcs
NyBAQAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCiBdIGludGVyZmFjZSBVUkxTZWFyY2hQYXJhbXMgewotICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gY29uc3RydWN0b3Iob3B0aW9uYWwgKHNlcXVlbmNlPHNlcXVlbmNlPFVTVlN0cmlu
Zz4+IG9yIHJlY29yZDxVU1ZTdHJpbmcsIFVTVlN0cmluZz4gb3IgVVNWU3RyaW5nKSBpbml0ID0g
IiIpOworICAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIChzZXF1ZW5jZTxzZXF1ZW5jZTxVU1ZTdHJp
bmc+PiBvciByZWNvcmQ8VVNWU3RyaW5nLCBVU1ZTdHJpbmc+IG9yIFVTVlN0cmluZykgaW5pdCA9
ICIiKTsKIAogICAgIHVuZGVmaW5lZCBhcHBlbmQoVVNWU3RyaW5nIG5hbWUsIFVTVlN0cmluZyB2
YWx1ZSk7CiAgICAgW0ltcGxlbWVudGVkQXM9cmVtb3ZlXSB1bmRlZmluZWQgZGVsZXRlKFVTVlN0
cmluZyBuYW1lKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3Vl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1
ZS5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4
dFRyYWNrQ3VlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAogICAgIFNraXBW
VGFibGVWYWxpZGF0aW9uLAogICAgIExlZ2FjeUZhY3RvcnlGdW5jdGlvbkVuYWJsZWRCeVNldHRp
bmc9R2VuZXJpY0N1ZUFQSQogXSBpbnRlcmZhY2UgVGV4dFRyYWNrQ3VlIDogRXZlbnRUYXJnZXQg
ewotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9y
KGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBlbmRUaW1lLCBEb2N1bWVudEZyYWdtZW50IGN1ZU5v
ZGUpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gY29uc3RydWN0b3IoZG91YmxlIHN0YXJ0VGlt
ZSwgZG91YmxlIGVuZFRpbWUsIERvY3VtZW50RnJhZ21lbnQgY3VlTm9kZSk7CiAKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgVGV4dFRyYWNrIHRyYWNrOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmlkbAkocmV2aXNpb24gMjY2OTY4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKICAgICBFeHBv
c2VkPShXaW5kb3csV29ya2VyKSwKICAgICBBY3RpdmVET01PYmplY3QsCiBdIGludGVyZmFjZSBF
dmVudFNvdXJjZSA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKFVTVlN0cmluZyB1cmwsIG9w
dGlvbmFsIEV2ZW50U291cmNlSW5pdCBldmVudFNvdXJjZUluaXREaWN0KTsKKyAgICBbQ2FsbFdp
dGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoVVNWU3RyaW5nIHVybCwgb3B0
aW9uYWwgRXZlbnRTb3VyY2VJbml0IGV2ZW50U291cmNlSW5pdERpY3QpOwogCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFVTVlN0cmluZyBVUkw7IC8vIExvd2VyY2FzZWQgLnVybCBpcyB0aGUgb25l
IGluIHRoZSBzcGVjLCBidXQgbGVhdmluZyAuVVJMIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMu
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyB1cmw7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbAkocmV2aXNpb24gMjY2OTY4KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAgICBDb25kaXRpb25hbD1JTlRFUlNFQ1RJT05fT0JT
RVJWRVIsCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1JbnRlcnNlY3Rpb25PYnNlcnZlcgogXSBpbnRl
cmZhY2UgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgewotICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5
VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2sg
Y2FsbGJhY2ssIG9wdGlvbmFsIEludGVyc2VjdGlvbk9ic2VydmVySW5pdCBvcHRpb25zKTsKKyAg
ICBbQ2FsbFdpdGg9RG9jdW1lbnRdIGNvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyQ2Fs
bGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIEludGVyc2VjdGlvbk9ic2VydmVySW5pdCBvcHRpb25z
KTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBOb2RlPyByb290OwogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgcm9vdE1hcmdpbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ci5pZGwJKHJldmlzaW9uIDI2Njk2OCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogWwogICAgIEFjdGl2ZURPTU9i
amVjdCwKIF0gaW50ZXJmYWNlIFdvcmtlciA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdpdGg9
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCZSdW50aW1lRmxhZ3MsIE1heVRocm93RXhjZXB0aW9uXSBj
b25zdHJ1Y3RvcihVU1ZTdHJpbmcgc2NyaXB0VXJsLCBvcHRpb25hbCBXb3JrZXJPcHRpb25zIG9w
dGlvbnMpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0JlJ1bnRpbWVGbGFn
c10gY29uc3RydWN0b3IoVVNWU3RyaW5nIHNjcmlwdFVybCwgb3B0aW9uYWwgV29ya2VyT3B0aW9u
cyBvcHRpb25zKTsKIAogICAgIHVuZGVmaW5lZCB0ZXJtaW5hdGUoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408658</attachid>
            <date>2020-09-13 11:21:32 -0700</date>
            <delta_ts>2020-09-13 11:32:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216442-20200913112131.patch</filename>
            <type>text/plain</type>
            <size>83968</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNCBAQAorMjAyMC0wOS0xMyAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYklETF0gUmVtb3ZlIG5lZWQg
Zm9yIFtNYXlUaHJvd0V4Y2VwdGlvbl0gb24gY29uc3RydWN0b3JzIGFuZCBsZWdhY3kgZmFjdG9y
eSBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNjQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERlZHVjZSBpbXBsZW1lbnRhdGlvbiBwb3RlbnRpYWxseSB0aHJvd2luZyBieSB1c2luZyB0
aGUgZXhpc3Rpbmcgb3ZlcmxvYWQgb2YKKyAgICAgICAgdG9KU05ld2x5Q3JlYXRlZCB0aGF0IGNv
bmRpdGlvbmFsbHkgY2hlY2tzIGZvciBleGNlcHRpb25zIGJhc2VkIG9uIHRoZSByZXR1cm4KKyAg
ICAgICAgdHlwZS4gY29uc3RleHByIElzRXhjZXB0aW9uT3IgdG8gbWFpbnRhaW4gZXhpc3Rpbmcg
b3B0aW1pemF0aW9ucyBhcm91bmQgY29uZGl0aW9uYWwKKyAgICAgICAgY2FsbHMgdG8gUkVUVVJO
X0lGX0VYQ0VQVElPTi4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24pOgorICAgICAg
ICBVcGRhdGUgY29kZSBnZW5lcmF0aW9uIHRvIG91dHB1dCBjb2RlIHRoYXQgY2FuIGhhbmRsZSBj
b25zdHJ1Y3RvcnMgdGhhdCByZXR1cm4gZWl0aGVyCisgICAgICAgIEV4Y2VwdGlvbk9yIG9yIG5v
dC4gTWFpbnRhaW4gZXhpc3Rpbmcgc3RhdGljIGFzc2VydGlvbiB0aGF0IHRoZSB1bmRlcmx5aW5n
IHJldHVybiB0eXBlCisgICAgICAgIGlzIGEgUmVmPD4gdXNpbmcgc3RkOjpjb25kaXRpb25hbF90
IHByZWRpY2F0ZWQgb24gSXNFeGNlcHRpb25PciBhbmQgbWFpbnRhaW4gdGhlIGV4aXN0aW5nCisg
ICAgICAgIG9wdGltaXphdGlvbiB0byBub3QgY2hlY2sgZm9yIGFuIGV4Y2VwdGlvbiBhZnRlciB0
b0pTTmV3bHlDcmVhdGVkIGlmIG9uZSBjb3VsZCBub3QgaGF2ZQorICAgICAgICBiZWVuIG1hZGUg
YnkgYWdhaW4gdXRpbGl6aW5nIElzRXhjZXB0aW9uT3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbjoKKyAgICAgICAgUmVtb3ZlIFtMZWdhY3lGYWN0b3J5
RnVuY3Rpb25NYXlUaHJvd0V4Y2VwdGlvbl0gbm93IHRoYXQgaXQgaXMgbm90IG5lZWRlZC4KKwor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleXMuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L2ZldGNoL0ZldGNoUmVxdWVzdC5pZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQmlxdWFk
RmlsdGVyTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2Vy
Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2Rl
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NvbnN0YW50U291cmNlTm9kZS5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL0dhaW5Ob2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5v
ZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3Vy
Y2VOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT2ZmbGlu
ZUF1ZGlvQ29udGV4dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9y
Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5pZGw6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9TdGVyZW9QYW5uZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dl
YktpdEF1ZGlvQ29udGV4dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRP
ZmZsaW5lQXVkaW9Db250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0u
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmlkbDoKKyAgICAg
ICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsOgorICAgICAgICAqIGNzcy9ET01NYXRy
aXguaWRsOgorICAgICAgICAqIGNzcy9ET01NYXRyaXhSZWFkT25seS5pZGw6CisgICAgICAgICog
Y3NzL1dlYktpdENTU01hdHJpeC5pZGw6CisgICAgICAgICogZG9tL1N0YXRpY1JhbmdlLmlkbDoK
KyAgICAgICAgKiBkb20vVGV4dERlY29kZXIuaWRsOgorICAgICAgICAqIGRvbS9UZXh0RGVjb2Rl
clN0cmVhbURlY29kZXIuaWRsOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxPcHRpb25FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9JbWFnZURhdGEuaWRsOgorICAgICAgICAqIGh0bWwv
VVJMU2VhcmNoUGFyYW1zLmlkbDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0N1ZS5p
ZGw6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5pZGw6CisgICAgICAgICogcGFnZS9JbnRl
cnNlY3Rpb25PYnNlcnZlci5pZGw6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAg
ICAgICBSZW1vdmUgYWxsIHVzZXMgb2YgW0xlZ2FjeUZhY3RvcnlGdW5jdGlvbk1heVRocm93RXhj
ZXB0aW9uXSBhbmQgW01heVRocm93RXhjZXB0aW9uXQorICAgICAgICBvbiBjb25zdHJ1Y3RvcnMu
CisKKyAgICAgICAgKiBodG1sL0hUTUxBdWRpb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEF1ZGlvRWxlbWVudDo6Y3JlYXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxBdWRpb0VsZW1lbnQ6OmNyZWF0ZUZvckpTQ29uc3RydWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTEF1ZGlvRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VF
bGVtZW50OjpjcmVhdGVGb3JMZWdhY3lGYWN0b3J5RnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6Y3JlYXRlRm9ySlNDb25zdHJ1Y3Rvcik6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6Y3Jl
YXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRp
b25FbGVtZW50OjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgUmVu
YW1lZCBjcmVhdGVGb3JKU0NvbnN0cnVjdG9yIHRvIGNyZWF0ZUZvckxlZ2FjeUZhY3RvcnlGdW5j
dGlvbiB0byBiZXR0ZXIKKyAgICAgICAgbWF0Y2ggY3VycmVudCBXZWJJREwgdGVybWlub2xvZ3ku
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJB
bmRXaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5k
b3dDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkxlZ2FjeUZhY3Rv
cnlGdW5jdGlvbjo6Y29uc3RydWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROb2RlQ29uc3RydWN0
b3I6OmNvbnN0cnVjdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Y29uc3Ry
dWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RKU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzMSk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzMik6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RKU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzMyk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNCk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1
Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNSk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c1dpdGhTZXF1ZW5jZTEpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0SlNUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZTIpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3I6OmNvbnN0cnVjdCk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rp
b24uaWRsOgorICAgICAgICBVcGRhdGUgdGVzdHMvZXhwZWN0YXRpb25zLgorCiAyMDIwLTA5LTEz
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBSZW1v
dmUgbmVlZCBmb3IgW01heVRocm93RXhjZXB0aW9uXSBvbiBpbmRleGVkIGFuZCBuYW1lZCBzZXR0
ZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lv
bi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb24uaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcg
KzI5LDcgQEAKICAgICBFbmFibGVkQnlTZXR0aW5nPUFwcGxlUGF5LAogICAgIEVuYWJsZWRGb3JD
b250ZXh0LAogXSBpbnRlcmZhY2UgQXBwbGVQYXlTZXNzaW9uIDogRXZlbnRUYXJnZXQgewotICAg
IFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKHVuc2ln
bmVkIGxvbmcgdmVyc2lvbiwgQXBwbGVQYXlQYXltZW50UmVxdWVzdCBwYXltZW50UmVxdWVzdCk7
CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSBjb25zdHJ1Y3Rvcih1bnNpZ25lZCBsb25nIHZlcnNp
b24sIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QgcGF5bWVudFJlcXVlc3QpOwogCiAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgU1RBVFVTX1NVQ0NFU1MgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IFNUQVRVU19GQUlMVVJFID0gMTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlz
LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcs
NyArMjcsNyBAQAogICAgIENvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsCiAgICAg
RW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdl
YktpdE1lZGlhS2V5cyB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihET01T
dHJpbmcga2V5U3lzdGVtKTsKKyAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcga2V5U3lzdGVtKTsK
IAogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJvd0V4Y2VwdGlv
bl0gV2ViS2l0TWVkaWFLZXlTZXNzaW9uIGNyZWF0ZVNlc3Npb24oRE9NU3RyaW5nIHR5cGUsIFVp
bnQ4QXJyYXkgaW5pdERhdGEpOwogICAgIHN0YXRpYyBib29sZWFuIGlzVHlwZVN1cHBvcnRlZChE
T01TdHJpbmcga2V5U3lzdGVtLCBvcHRpb25hbCBET01TdHJpbmcgdHlwZSk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsCShyZXZpc2lvbiAy
NjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgdHlwZWRlZiAoc2VxdWVuY2U8c2VxdWVu
Y2U8Qnl0ZVN0cmluZz4+IAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50
ZXJmYWNlTmFtZT1IZWFkZXJzLAogXSBpbnRlcmZhY2UgRmV0Y2hIZWFkZXJzIHsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEhlYWRlcnNJbml0IGluaXQpOwor
ICAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEhlYWRlcnNJbml0IGluaXQpOwogCiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYXBwZW5kKEJ5dGVTdHJpbmcgbmFtZSwgQnl0ZVN0cmlu
ZyB2YWx1ZSk7CiAgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXJlbW92ZV0g
dW5kZWZpbmVkIGRlbGV0ZShCeXRlU3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zOSw3ICszOSw3IEBAIHR5cGVkZWYgKEJsb2Igb3IgQnVmZmVyU291cmNlIG9yIERP
TUZvcm0KICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGwsCiAgICAgSW50ZXJmYWNlTmFtZT1S
ZXF1ZXN0LAogXSBpbnRlcmZhY2UgRmV0Y2hSZXF1ZXN0IHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKFJlcXVlc3RJ
bmZvIGlucHV0LCBvcHRpb25hbCBGZXRjaFJlcXVlc3RJbml0IGluaXQpOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihSZXF1ZXN0SW5mbyBpbnB1dCwg
b3B0aW9uYWwgRmV0Y2hSZXF1ZXN0SW5pdCBpbml0KTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBCeXRlU3RyaW5nIG1ldGhvZDsKICAgICBbSW1wbGVtZW50ZWRBcz11cmxTdHJpbmddIHJlYWRv
bmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdXJsOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw3ICs0NCw3IEBAIGRpY3Rpb25hcnkgRmV0Y2hSZXNwb25zZUluaXQgewogICAgIEV4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEludGVyZmFjZU5hbWU9UmVzcG9uc2UsCiBdIGlu
dGVyZmFjZSBGZXRjaFJlc3BvbnNlIHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEJvZHlJbml0PyBi
b2R5ID0gbnVsbCwgb3B0aW9uYWwgRmV0Y2hSZXNwb25zZUluaXQgaW5pdCk7CisgICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEJvZHlJbml0
PyBib2R5ID0gbnVsbCwgb3B0aW9uYWwgRmV0Y2hSZXNwb25zZUluaXQgaW5pdCk7CiAKICAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTmV3T2JqZWN0XSBzdGF0aWMgRmV0Y2hS
ZXNwb25zZSBlcnJvcigpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBN
YXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBzdGF0aWMgRmV0Y2hSZXNwb25zZSByZWRpcmVj
dChVU1ZTdHJpbmcgdXJsLCBvcHRpb25hbCB1bnNpZ25lZCBzaG9ydCBzdGF0dXMgPSAzMDIpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw3ICszMCw3IEBAIGVudW0gUmVjb3JkaW5nU3RhdGUgeyAiaW5hY3RpdmUiLCAicmVjb3IKICAg
ICBFbmFibGVkQnlTZXR0aW5nPU1lZGlhUmVjb3JkZXIsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0g
aW50ZXJmYWNlIE1lZGlhUmVjb3JkZXIgOiBFdmVudFRhcmdldCB7Ci0gICAgW0NhbGxXaXRoPURv
Y3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoTWVkaWFTdHJlYW0gc3RyZWFt
LCBvcHRpb25hbCBNZWRpYVJlY29yZGVyT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9
RG9jdW1lbnRdIGNvbnN0cnVjdG9yKE1lZGlhU3RyZWFtIHN0cmVhbSwgb3B0aW9uYWwgTWVkaWFS
ZWNvcmRlck9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGNvbW1l
bnRlZCBvdXQgbWV0aG9kcy9hdHRyaWJ1dGVzLgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaWRsCShyZXZpc2lv
biAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNh
bmRpZGF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcgQEAKICAgICBFbmFibGVk
QXRSdW50aW1lPVBlZXJDb25uZWN0aW9uLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiBdIGludGVyZmFjZSBSVENJY2VDYW5kaWRhdGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
Y29uc3RydWN0b3IoUlRDSWNlQ2FuZGlkYXRlSW5pdCBjYW5kaWRhdGVJbml0RGljdCk7CisgICAg
Y29uc3RydWN0b3IoUlRDSWNlQ2FuZGlkYXRlSW5pdCBjYW5kaWRhdGVJbml0RGljdCk7CiAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNhbmRpZGF0ZTsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nPyBzZHBNaWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAkocmV2aXNp
b24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcgKzc2LDcgQEAgdHlwZWRlZiAo
b2JqZWN0IG9yIERPTVN0cmluZykgQWxnb3JpdGhtSQogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVl
ckNvbm5lY3Rpb24sCiAgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiBdIGludGVyZmFj
ZSBSVENQZWVyQ29ubmVjdGlvbiA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdpdGg9RG9jdW1l
bnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihvcHRpb25hbCBSVENDb25maWd1cmF0
aW9uIGNvbmZpZ3VyYXRpb24pOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gY29uc3RydWN0b3Io
b3B0aW9uYWwgUlRDQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKIAogICAgIC8vIDQuMy4y
IEludGVyZmFjZSBEZWZpbml0aW9uCiAgICAgUHJvbWlzZTxSVENTZXNzaW9uRGVzY3JpcHRpb25J
bml0PiBjcmVhdGVPZmZlcihvcHRpb25hbCBSVENPZmZlck9wdGlvbnMgb2ZmZXJPcHRpb25zKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsCShyZXZpc2lvbiAyNjY5OTkp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogICAgIEV4cG9z
ZWQ9V2luZG93LAogICAgIFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBNZXJjaGFudFZhbGlk
YXRpb25FdmVudCA6IEV2ZW50IHsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhj
ZXB0aW9uXSBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0g
Y29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIE1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50SW5pdCBldmVudEluaXREaWN0KTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgbWV0aG9kTmFtZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHZhbGlkYXRp
b25VUkw7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRSZXF1ZXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAgICBFbmFibGVkRm9yQ29udGV4dCwKICAgICBT
ZWN1cmVDb250ZXh0LAogXSBpbnRlcmZhY2UgUGF5bWVudFJlcXVlc3QgOiBFdmVudFRhcmdldCB7
Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Io
c2VxdWVuY2U8UGF5bWVudE1ldGhvZERhdGE+IG1ldGhvZERhdGEsIFBheW1lbnREZXRhaWxzSW5p
dCBkZXRhaWxzLCBvcHRpb25hbCBQYXltZW50T3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdp
dGg9RG9jdW1lbnRdIGNvbnN0cnVjdG9yKHNlcXVlbmNlPFBheW1lbnRNZXRob2REYXRhPiBtZXRo
b2REYXRhLCBQYXltZW50RGV0YWlsc0luaXQgZGV0YWlscywgb3B0aW9uYWwgUGF5bWVudE9wdGlv
bnMgb3B0aW9ucyk7CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21pc2U8UGF5bWVudFJl
c3BvbnNlPiBzaG93KG9wdGlvbmFsIFByb21pc2U8UGF5bWVudERldGFpbHNVcGRhdGU+IGRldGFp
bHNQcm9taXNlKTsKICAgICBQcm9taXNlPHVuZGVmaW5lZD4gYWJvcnQoKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5pZGwJKHJldmlz
aW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJO
b2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogICAgIENvbmRpdGlvbmFs
PVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gaW50ZXJmYWNlIEFuYWx5
c2VyTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlT
ZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRpb0Nv
bnRleHQgY29udGV4dCwgb3B0aW9uYWwgQW5hbHlzZXJPcHRpb25zIG9wdGlvbnMpOworICAgIFtF
bmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJh
c2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQW5hbHlzZXJPcHRpb25zIG9wdGlvbnMp
OwogCiAgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZmZ0U2l6ZTsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBmcmVxdWVuY3lCaW5Db3VudDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCShyZXZpc2lvbiAy
NjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAogICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0LAogICAgIFJlcG9ydEV4dHJhTWVtb3J5Q29zdCwKIF0gaW50ZXJmYWNlIEF1ZGlvQnVmZmVy
IHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVm
aXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvcihBdWRpb0J1ZmZlck9wdGlvbnMgb3B0aW9ucyk7Cisg
ICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3Rv
cihBdWRpb0J1ZmZlck9wdGlvbnMgb3B0aW9ucyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOyAvLyBpbiBzYW1wbGUtZnJhbWVzCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGRvdWJsZSBkdXJhdGlvbjsgLy8gaW4gc2Vjb25kcwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBmbG9hdCBzYW1wbGVSYXRlOyAvLyBpbiBzYW1wbGUtZnJhbWVzIHBlciBzZWNvbmQKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
QnVmZmVyU291cmNlTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNyArMjgsNyBAQAogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dl
bmVyYXRlVG9KU09iamVjdCwKIF0gaW50ZXJmYWNlIEF1ZGlvQnVmZmVyU291cmNlTm9kZSA6IEF1
ZGlvU2NoZWR1bGVkU291cmNlTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVk
QnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRp
b0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQXVkaW9CdWZmZXJTb3VyY2VPcHRpb25zIG9wdGlv
bnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29u
c3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQXVkaW9CdWZmZXJT
b3VyY2VPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgYXR0cmlidXRlIEF1ZGlvQnVmZmVyPyBidWZm
ZXI7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Q29udGV4dC5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBA
QAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAogICAgIEpTR2VuZXJhdGVUb05hdGl2
ZU9iamVjdCwKIF0gaW50ZXJmYWNlIEF1ZGlvQ29udGV4dCA6IEJhc2VBdWRpb0NvbnRleHQgewot
ICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9w
dGlvbmFsIEF1ZGlvQ29udGV4dE9wdGlvbnMgY29udGV4dE9wdGlvbnMpOworICAgIFtDYWxsV2l0
aD1Eb2N1bWVudF0gY29uc3RydWN0b3Iob3B0aW9uYWwgQXVkaW9Db250ZXh0T3B0aW9ucyBjb250
ZXh0T3B0aW9ucyk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGJhc2VMYXRlbmN5
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZEZpbHRlck5v
ZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlx
dWFkRmlsdGVyTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDcgKzI3LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRv
SlNPYmplY3QsCiBdIGludGVyZmFjZSBCaXF1YWRGaWx0ZXJOb2RlIDogQXVkaW9Ob2RlIHsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdl
YkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBC
aXF1YWRGaWx0ZXJPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVy
blVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4
dCwgb3B0aW9uYWwgQmlxdWFkRmlsdGVyT3B0aW9ucyBvcHRpb25zKTsKIAogICAgIGF0dHJpYnV0
ZSBCaXF1YWRGaWx0ZXJUeXBlIHR5cGU7CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmlkbAkocmV2aXNpb24g
MjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2Vy
Tm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDUgKzMwLDUgQEAKICAgICBDb25kaXRpb25h
bD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIENoYW5u
ZWxNZXJnZXJOb2RlIDogQXVkaW9Ob2RlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJs
ZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1
ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBDaGFubmVsTWVyZ2VyT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0
cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIENoYW5uZWxNZXJnZXJP
cHRpb25zIG9wdGlvbnMpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2OTk5
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2Rl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNSArMjYsNSBAQAogICAgIENvbmRpdGlvbmFsPVdF
Ql9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRlcmZhY2UgQ2hhbm5lbFNw
bGl0dGVyTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVk
QnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRp
b0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQ2hhbm5lbFNwbGl0dGVyT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0
cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIENoYW5uZWxTcGxpdHRl
ck9wdGlvbnMgb3B0aW9ucyk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9Db25zdGFudFNvdXJjZU5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ29uc3RhbnRTb3VyY2VOb2RlLmlkbAkocmV2aXNpb24gMjY2OTk5
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db25zdGFudFNvdXJjZU5vZGUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QsCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW8KIF0g
aW50ZXJmYWNlIENvbnN0YW50U291cmNlTm9kZSA6IEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZSB7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBj
b250ZXh0LCBvcHRpb25hbCBDb25zdGFudFNvdXJjZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgY29u
c3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQ29uc3RhbnRTb3Vy
Y2VPcHRpb25zIG9wdGlvbnMpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIG9m
ZnNldDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZl
ck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
Q29udm9sdmVyTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcg
KzI4LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QKIF0gaW50ZXJmYWNlIENvbnZvbHZlck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9d
IGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIENvbnZvbHZl
ck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhl
ZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25h
bCBDb252b2x2ZXJPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgYXR0cmlidXRlIEF1ZGlvQnVmZmVy
PyBidWZmZXI7CiAgICAgYXR0cmlidXRlIGJvb2xlYW4gbm9ybWFsaXplOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmlkbAkocmV2aXNpb24gMjY2
OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElP
LAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBEZWxheU5vZGUgOiBBdWRp
b05vZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5V
bnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQs
IG9wdGlvbmFsIERlbGF5T3B0aW9ucyBvcHRpb25zKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1N
b2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNv
bnRleHQsIG9wdGlvbmFsIERlbGF5T3B0aW9ucyBvcHRpb25zKTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBdWRpb1BhcmFtIGRlbGF5VGltZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5p
ZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
RHluYW1pY3NDb21wcmVzc29yTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcg
QEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QK
IF0gaW50ZXJmYWNlIER5bmFtaWNzQ29tcHJlc3Nvck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVk
aW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIER5bmFt
aWNzQ29tcHJlc3Nvck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9TW9k
ZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250
ZXh0LCBvcHRpb25hbCBEeW5hbWljc0NvbXByZXNzb3JPcHRpb25zIG9wdGlvbnMpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gdGhyZXNob2xkOyAvLyBpbiBEZWNpYmVscwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIGtuZWU7IC8vIGluIERlY2liZWxzCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbAkocmV2
aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9k
ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICAgICBDb25kaXRpb25hbD1X
RUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIEdhaW5Ob2Rl
IDogQXVkaW9Ob2RlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9
TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBj
b250ZXh0LCBvcHRpb25hbCBHYWluT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbRW5hYmxlZEJ5U2V0
dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250
ZXh0IGNvbnRleHQsIG9wdGlvbmFsIEdhaW5PcHRpb25zIG9wdGlvbnMpOwogCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZ2FpbjsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5
OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDYgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVj
dCwKICAgICBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpbywKIF0gaW50
ZXJmYWNlIElJUkZpbHRlck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
biwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoQmFzZUF1ZGlv
Q29udGV4dCBhdWRpb0NvbnRleHQsIElJUkZpbHRlck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0Nh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKEJhc2VBdWRpb0NvbnRl
eHQgYXVkaW9Db250ZXh0LCBJSVJGaWx0ZXJPcHRpb25zIG9wdGlvbnMpOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGdldEZyZXF1ZW5jeVJlc3BvbnNlKEZsb2F0MzJBcnJheSBm
cmVxdWVuY3lIeiwgRmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLCBGbG9hdDMyQXJyYXkgcGhhc2VS
ZXNwb25zZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRp
YUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmlkbAkocmV2aXNp
b24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1l
bnRBdWRpb1NvdXJjZU5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAg
ICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPJlZJREVPLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0
CiBdIGludGVyZmFjZSBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgOiBBdWRpb05vZGUgewot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVk
V2ViQXVkaW9dIGNvbnN0cnVjdG9yIChBdWRpb0NvbnRleHQgY29udGV4dCwgTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVy
blVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEF1ZGlvQ29udGV4dCBjb250ZXh0LCBN
ZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgSFRNTE1lZGlhRWxlbWVudCBtZWRpYUVsZW1lbnQ7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlh
U3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw2IEBACiAgICAgQ29uZGl0aW9uYWw9
V0VCX0FVRElPJk1FRElBX1NUUkVBTSwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRl
cmZhY2UgTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJB
dWRpb10gY29uc3RydWN0b3IgKEF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBBdWRpb05v
ZGVPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4
ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBB
dWRpb05vZGVPcHRpb25zIG9wdGlvbnMpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVN0
cmVhbSBzdHJlYW07CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9N
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwJKHJldmlz
aW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAg
ICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPJk1FRElBX1NUUkVBTSwKICAgICBKU0dlbmVyYXRlVG9K
U09iamVjdAogXSBpbnRlcmZhY2UgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUgOiBBdWRpb05v
ZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnBy
ZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChBdWRpb0NvbnRleHQgY29udGV4dCwgTWVkaWFT
dHJlYW1BdWRpb1NvdXJjZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9
TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQXVkaW9Db250ZXh0IGNvbnRl
eHQsIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtIG1lZGlhU3RyZWFtOwogfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0
LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9PZmZsaW5lQXVkaW9Db250ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsOCArMjcsOCBA
QAogICAgIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvLAogICAgIEpT
R2VuZXJhdGVUb0pTT2JqZWN0LAogXSBpbnRlcmZhY2UgT2ZmbGluZUF1ZGlvQ29udGV4dCA6IEJh
c2VBdWRpb0NvbnRleHQgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoT2ZmbGluZUF1ZGlvQ29udGV4dE9wdGlvbnMg
Y29udGV4dE9wdGlvbnMpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IodW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5u
ZWxzLCB1bnNpZ25lZCBsb25nIGxlbmd0aCwgZmxvYXQgc2FtcGxlUmF0ZSk7CisgICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKE9mZmxpbmVBdWRpb0NvbnRl
eHRPcHRpb25zIGNvbnRleHRPcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gY29uc3RydWN0b3IodW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxzLCB1bnNp
Z25lZCBsb25nIGxlbmd0aCwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAgICAgCiAgICAgW0ltcGxlbWVu
dGVkQXM9c3RhcnRPZmZsaW5lUmVuZGVyaW5nXSBQcm9taXNlPEF1ZGlvQnVmZmVyPiBzdGFydFJl
bmRlcmluZygpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2ls
bGF0b3JOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL09zY2lsbGF0b3JOb2RlLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDcgKzI4LDcgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBBY3RpdmVET01P
YmplY3QsCiBdIGludGVyZmFjZSBPc2NpbGxhdG9yTm9kZSA6IEF1ZGlvU2NoZWR1bGVkU291cmNl
Tm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVu
cHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwg
b3B0aW9uYWwgT3NjaWxsYXRvck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4
dCBjb250ZXh0LCBvcHRpb25hbCBPc2NpbGxhdG9yT3B0aW9ucyBvcHRpb25zKTsKIAogICAgIGF0
dHJpYnV0ZSBPc2NpbGxhdG9yVHlwZSB0eXBlOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDcgKzI3LDcgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBFbmFi
bGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpbywKIF0gaW50ZXJmYWNlIFBhbm5l
ck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Ig
KEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgUGFubmVyT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBQ
YW5uZXJPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgLy8gRGVmYXVsdCBtb2RlbCBmb3Igc3RlcmVv
IGlzIGVxdWFscG93ZXIKICAgICBhdHRyaWJ1dGUgUGFubmluZ01vZGVsVHlwZSBwYW5uaW5nTW9k
ZWw7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2Rp
Y1dhdmUuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL1BlcmlvZGljV2F2ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3LDUgQEAK
ICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZQogXSBpbnRlcmZhY2UgUGVyaW9kaWNXYXZlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVu
YWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvcihCYXNl
QXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIFBlcmlvZGljV2F2ZU9wdGlvbnMgb3B0aW9u
cyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25z
dHJ1Y3RvcihCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIFBlcmlvZGljV2F2ZU9w
dGlvbnMgb3B0aW9ucyk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9TdGVyZW9QYW5uZXJOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAg
ICAgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW8KIF0gaW50ZXJmYWNl
IFN0ZXJlb1Bhbm5lck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
Y29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgU3RlcmVvUGFu
bmVyT3B0aW9ucyBvcHRpb25zKTsKKyAgICBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBj
b250ZXh0LCBvcHRpb25hbCBTdGVyZW9QYW5uZXJPcHRpb25zIG9wdGlvbnMpOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIHBhbjsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2
OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyTm9kZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJf
QVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIFdhdmVTaGFwZXJO
b2RlIDogQXVkaW9Ob2RlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRp
bmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvcihCYXNlQXVkaW9Db250ZXh0
IGNvbnRleHQsIG9wdGlvbmFsIFdhdmVTaGFwZXJPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFi
bGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IoQmFzZUF1
ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBXYXZlU2hhcGVyT3B0aW9ucyBvcHRpb25zKTsK
IAogICAgIGF0dHJpYnV0ZSBGbG9hdDMyQXJyYXk/IGN1cnZlOwogICAgIGF0dHJpYnV0ZSBPdmVy
U2FtcGxlVHlwZSBvdmVyc2FtcGxlOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250ZXh0LmlkbAkocmV2aXNpb24gMjY2OTk5
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAgICAgRXhwb3J0TWFjcm89V0VC
Q09SRV9FWFBPUlQsCiAgICAgSW50ZXJmYWNlTmFtZT13ZWJraXRBdWRpb0NvbnRleHQsCiBdIGlu
dGVyZmFjZSBXZWJLaXRBdWRpb0NvbnRleHQgOiBFdmVudFRhcmdldCB7Ci0gICAgW0NhbGxXaXRo
PURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoKTsKKyAgICBbQ2FsbFdp
dGg9RG9jdW1lbnRdIGNvbnN0cnVjdG9yKCk7CiAKICAgICAvLyBBbGwgcmVuZGVyZWQgYXVkaW8g
dWx0aW1hdGVseSBjb25uZWN0cyB0byBkZXN0aW5hdGlvbiwgd2hpY2ggcmVwcmVzZW50cyB0aGUg
YXVkaW8gaGFyZHdhcmUuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvRGVzdGluYXRpb25O
b2RlIGRlc3RpbmF0aW9uOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9X
ZWJLaXRPZmZsaW5lQXVkaW9Db250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9mZmxpbmVBdWRpb0NvbnRleHQuaWRsCShyZXZpc2lv
biAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9mZmxp
bmVBdWRpb0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw1ICsyOCw1IEBACiAgICAg
SW50ZXJmYWNlTmFtZT13ZWJraXRPZmZsaW5lQXVkaW9Db250ZXh0LAogICAgIEpTR2VuZXJhdGVU
b0pTT2JqZWN0LAogXSBpbnRlcmZhY2UgV2ViS2l0T2ZmbGluZUF1ZGlvQ29udGV4dCA6IFdlYktp
dEF1ZGlvQ29udGV4dCB7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1h
eVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3Rvcih1bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5l
bHMsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZGcmFtZXMsIHVucmVzdHJpY3RlZCBmbG9hdCBzYW1w
bGVSYXRlKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0
b3IodW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxzLCB1bnNpZ25lZCBsb25nIG51bWJlck9m
RnJhbWVzLCB1bnJlc3RyaWN0ZWQgZmxvYXQgc2FtcGxlUmF0ZSk7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwJKHJldmlzaW9u
IDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICszNCw4IEBACiAgICAgRXhwb3NlZD0oV2luZG93
LFdvcmtlciksCiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJTb2NrZXQKIF0gaW50ZXJmYWNlIFdl
YlNvY2tldCA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKFVTVlN0cmluZyB1cmwsIG9wdGlv
bmFsIHNlcXVlbmNlPERPTVN0cmluZz4gcHJvdG9jb2xzID0gW10pOwotICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoVVNW
U3RyaW5nIHVybCwgRE9NU3RyaW5nIHByb3RvY29sKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoVVNWU3RyaW5nIHVybCwgb3B0aW9uYWwgc2VxdWVu
Y2U8RE9NU3RyaW5nPiBwcm90b2NvbHMgPSBbXSk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKFVTVlN0cmluZyB1cmwsIERPTVN0cmluZyBwcm90b2Nv
bCk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIFVSTDsgLy8gTG93ZXJjYXNl
ZCAudXJsIGlzIHRoZSBvbmUgaW4gdGhlIHNwZWMsIGJ1dCBsZWF2aW5nIC5VUkwgZm9yIGNvbXBh
dGliaWxpdHkgcmVhc29ucy4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHVybDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lk
VHJhbnNmb3JtLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyAr
MzEsNyBAQAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFt
ZT1YUlJpZ2lkVHJhbnNmb3JtCiBdIGludGVyZmFjZSBXZWJYUlJpZ2lkVHJhbnNmb3JtIHsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVBvaW50SW5pdCBw
b3NpdGlvbiwgb3B0aW9uYWwgRE9NUG9pbnRJbml0IG9yaWVudGF0aW9uKTsKKyAgICBjb25zdHJ1
Y3RvcihvcHRpb25hbCBET01Qb2ludEluaXQgcG9zaXRpb24sIG9wdGlvbmFsIERPTVBvaW50SW5p
dCBvcmllbnRhdGlvbik7CiAKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERP
TVBvaW50UmVhZE9ubHkgcG9zaXRpb247CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01Qb2ludFJlYWRPbmx5IG9yaWVudGF0aW9uOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUldlYkdMTGF5ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmlkbAkocmV2aXNpb24gMjY2OTk5
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUldlYkdMTGF5ZXIuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIHR5cGVkZWYgKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCkgV2ViWFJXZWIKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiAgICAgSW50ZXJm
YWNlTmFtZT1YUldlYkdMTGF5ZXIKIF0gaW50ZXJmYWNlIFdlYlhSV2ViR0xMYXllciA6IFdlYlhS
TGF5ZXIgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoV2ViWFJTZXNzaW9u
IHNlc3Npb24sIFdlYlhSV2ViR0xSZW5kZXJpbmdDb250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIFhS
V2ViR0xMYXllckluaXQgbGF5ZXJJbml0KTsKKyAgICBjb25zdHJ1Y3RvcihXZWJYUlNlc3Npb24g
c2Vzc2lvbiwgV2ViWFJXZWJHTFJlbmRlcmluZ0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgWFJX
ZWJHTExheWVySW5pdCBsYXllckluaXQpOwogCiAgICAgLy8gQXR0cmlidXRlcwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGFudGlhbGlhczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzAsOCArMzAsOCBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBFeHBvc2Vk
PVdpbmRvdywKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiBdIGludGVyZmFjZSBLZXlm
cmFtZUVmZmVjdCA6IEFuaW1hdGlvbkVmZmVjdCB7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKEVsZW1lbnQ/IHRhcmdldCwgb2JqZWN0
PyBrZXlmcmFtZXMsIG9wdGlvbmFsICh1bnJlc3RyaWN0ZWQgZG91YmxlIG9yIEtleWZyYW1lRWZm
ZWN0T3B0aW9ucykgb3B0aW9ucyk7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhy
b3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKEtleWZyYW1lRWZmZWN0IHNvdXJjZSk7CisgICAgW0Nh
bGxXaXRoPUdsb2JhbE9iamVjdF0gY29uc3RydWN0b3IoRWxlbWVudD8gdGFyZ2V0LCBvYmplY3Q/
IGtleWZyYW1lcywgb3B0aW9uYWwgKHVucmVzdHJpY3RlZCBkb3VibGUgb3IgS2V5ZnJhbWVFZmZl
Y3RPcHRpb25zKSBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSBjb25zdHJ1
Y3RvcihLZXlmcmFtZUVmZmVjdCBzb3VyY2UpOwogCiAgICAgYXR0cmlidXRlIEVsZW1lbnQ/IHRh
cmdldDsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBDU1NPTVN0cmluZz8gcHNl
dWRvRWxlbWVudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQWJzdHJh
Y3RPcGVyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5
KQpAQCAtMTIzLDcgKzEyMyw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+IGJvb2wgcGVy
Zm9ybUwKIHsKICAgICB1c2luZyBSZXR1cm5UeXBlID0gc3RkOjppbnZva2VfcmVzdWx0X3Q8RnVu
Y3Rvcj47CiAKLSAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8UmV0dXJuVHlwZT46OnZh
bHVlKSB7CisgICAgaWYgY29uc3RleHByIChJc0V4Y2VwdGlvbk9yPFJldHVyblR5cGU+KSB7CiAg
ICAgICAgIGF1dG8gcmVzdWx0ID0gZnVuY3RvcigpOwogICAgICAgICBpZiAocmVzdWx0Lmhhc0V4
Y2VwdGlvbigpKSB7CiAgICAgICAgICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydEJhc2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRCYXNlLmgJKHJldmlzaW9uIDI2Njk5
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydEJhc2UuaAkod29y
a2luZyBjb3B5KQpAQCAtOTQsMTIgKzk0LDEyIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVu
YW1lIFU+IGlubGluZSAKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgVSYmKTsKIHRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkpTR2xv
YmFsT2JqZWN0JiwgSlNET01HbG9iYWxPYmplY3QmLCBVJiYpOwogdGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgVT4gaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
SlNHbG9iYWxPYmplY3QmLCBKU0RPTUdsb2JhbE9iamVjdCYsIFUmJik7Ci10ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3Qm
LCBKU0M6OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRpb25P
cjxVPjo6dmFsdWUsIEpTQzo6SlNWYWx1ZT47Ci10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlRocm93U2Nv
cGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8IUlzRXhjZXB0aW9uT3I8VT46OnZhbHVlLCBK
U0M6OkpTVmFsdWU+OwotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1
dG8gdG9KUyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNET01HbG9iYWxPYmplY3QmLCBKU0M6OlRo
cm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRpb25PcjxVPjo6dmFs
dWUsIEpTQzo6SlNWYWx1ZT47Ci10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxp
bmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0RPTUdsb2JhbE9iamVjdCYsIEpT
Qzo6VGhyb3dTY29wZSYsIFUmJikgLT4gc3RkOjplbmFibGVfaWZfdDwhSXNFeGNlcHRpb25PcjxV
Pjo6dmFsdWUsIEpTQzo6SlNWYWx1ZT47Ci10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBV
PiBpbmxpbmUgYXV0byB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0RP
TUdsb2JhbE9iamVjdCYsIEpTQzo6VGhyb3dTY29wZSYsIFUmJikgLT4gc3RkOjplbmFibGVfaWZf
dDxJc0V4Y2VwdGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPjsKLXRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0ds
b2JhbE9iamVjdCYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmKSAt
PiBzdGQ6OmVuYWJsZV9pZl90PCFJc0V4Y2VwdGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVl
PjsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlMoSlND
OjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6VGhyb3dTY29wZSYsIFUmJikgLT4gc3RkOjplbmFibGVf
aWZfdDxJc0V4Y2VwdGlvbk9yPFU+LCBKU0M6OkpTVmFsdWU+OwordGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1dG8gdG9KUyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlND
OjpUaHJvd1Njb3BlJiwgVSYmKSAtPiBzdGQ6OmVuYWJsZV9pZl90PCFJc0V4Y2VwdGlvbk9yPFU+
LCBKU0M6OkpTVmFsdWU+OwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5l
IGF1dG8gdG9KUyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNET01HbG9iYWxPYmplY3QmLCBKU0M6
OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRpb25PcjxVPiwg
SlNDOjpKU1ZhbHVlPjsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBh
dXRvIHRvSlMoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpU
aHJvd1Njb3BlJiwgVSYmKSAtPiBzdGQ6OmVuYWJsZV9pZl90PCFJc0V4Y2VwdGlvbk9yPFU+LCBK
U0M6OkpTVmFsdWU+OwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1
dG8gdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNET01HbG9iYWxPYmpl
Y3QmLCBKU0M6OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRp
b25PcjxVPiwgSlNDOjpKU1ZhbHVlPjsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+
IGlubGluZSBhdXRvIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTRE9N
R2xvYmFsT2JqZWN0JiwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmKSAtPiBzdGQ6OmVuYWJsZV9pZl90
PCFJc0V4Y2VwdGlvbk9yPFU+LCBKU0M6OkpTVmFsdWU+OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
LCBib29sIG5lZWRzU3RhdGUgPSBKU0NvbnZlcnRlcjxUPjo6bmVlZHNTdGF0ZSwgYm9vbCBuZWVk
c0dsb2JhbE9iamVjdCA9IEpTQ29udmVydGVyPFQ+OjpuZWVkc0dsb2JhbE9iamVjdD4KIHN0cnVj
dCBKU0NvbnZlcnRlck92ZXJsb2FkZXI7CkBAIC0xNTgsNyArMTU4LDcgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIAogICAgIHJldHVybiBKU0NvbnZlcnRlcjxUPjo6
Y29udmVydE5ld2x5Q3JlYXRlZChsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIHN0
ZDo6Zm9yd2FyZDxVPih2YWx1ZSkpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVu
YWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT46OnZhbHVlLCBKU0M6OkpTVmFsdWU+Cit0ZW1wbGF0
ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxP
YmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSwg
VSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT4sIEpTQzo6SlNW
YWx1ZT4KIHsKICAgICBpZiAoVU5MSUtFTFkodmFsdWUuaGFzRXhjZXB0aW9uKCkpKSB7CiAgICAg
ICAgIHByb3BhZ2F0ZUV4Y2VwdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCB2
YWx1ZS5yZWxlYXNlRXhjZXB0aW9uKCkpOwpAQCAtMTY4LDEyICsxNjgsMTIgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIAogICAgIHJldHVybiB0b0pTPFQ+KGxleGlj
YWxHbG9iYWxPYmplY3QsIHZhbHVlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKIH0KIAotdGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1dG8gdG9KUyhKU0M6OkpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmLCBVJiYgdmFsdWUp
IC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8IUlzRXhjZXB0aW9uT3I8VT46OnZhbHVlLCBKU0M6OkpTVmFs
dWU+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpT
Qzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYs
IFUmJiB2YWx1ZSkgLT4gc3RkOjplbmFibGVfaWZfdDwhSXNFeGNlcHRpb25PcjxVPiwgSlNDOjpK
U1ZhbHVlPgogewogICAgIHJldHVybiB0b0pTPFQ+KGxleGljYWxHbG9iYWxPYmplY3QsIHN0ZDo6
Zm9yd2FyZDxVPih2YWx1ZSkpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBV
PiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhy
b3dTY29wZSwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT46
OnZhbHVlLCBKU0M6OkpTVmFsdWU+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBp
bmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dT
Y29wZSwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT4sIEpT
Qzo6SlNWYWx1ZT4KIHsKICAgICBpZiAoVU5MSUtFTFkodmFsdWUuaGFzRXhjZXB0aW9uKCkpKSB7
CiAgICAgICAgIHByb3BhZ2F0ZUV4Y2VwdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Nj
b3BlLCB2YWx1ZS5yZWxlYXNlRXhjZXB0aW9uKCkpOwpAQCAtMTgzLDEyICsxODMsMTIgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIAogICAgIHJldHVybiB0b0pTPFQ+
KGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgdmFsdWUucmVsZWFzZVJldHVyblZh
bHVlKCkpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0
byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYsIFUmJiB2YWx1ZSkgLT4g
c3RkOjplbmFibGVfaWZfdDwhSXNFeGNlcHRpb25PcjxVPjo6dmFsdWUsIEpTQzo6SlNWYWx1ZT4K
K3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlMoSlNDOjpK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9p
Zl90PCFJc0V4Y2VwdGlvbk9yPFU+LCBKU0M6OkpTVmFsdWU+CiB7CiAgICAgcmV0dXJuIHRvSlM8
VD4obGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBzdGQ6OmZvcndhcmQ8VT4odmFs
dWUpKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1dG8g
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHRocm93
U2NvcGUsIFUmJiB2YWx1ZSkgLT4gc3RkOjplbmFibGVfaWZfdDxJc0V4Y2VwdGlvbk9yPFU+Ojp2
YWx1ZSwgSlNDOjpKU1ZhbHVlPgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5s
aW5lIGF1dG8gdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2Nv
cGUmIHRocm93U2NvcGUsIFUmJiB2YWx1ZSkgLT4gc3RkOjplbmFibGVfaWZfdDxJc0V4Y2VwdGlv
bk9yPFU+LCBKU0M6OkpTVmFsdWU+CiB7CiAgICAgaWYgKFVOTElLRUxZKHZhbHVlLmhhc0V4Y2Vw
dGlvbigpKSkgewogICAgICAgICBwcm9wYWdhdGVFeGNlcHRpb24obGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhyb3dTY29wZSwgdmFsdWUucmVsZWFzZUV4Y2VwdGlvbigpKTsKQEAgLTE5OCw3ICsxOTgs
NyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgCiAgICAgcmV0dXJu
IHRvSlNOZXdseUNyZWF0ZWQ8VD4obGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCB2
YWx1ZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5
cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwg
SlNDOjpUaHJvd1Njb3BlJiwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PCFJc0V4Y2Vw
dGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgVT4gaW5saW5lIGF1dG8gdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0
JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBK
U0M6OlRocm93U2NvcGUmLCBVJiYgdmFsdWUpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8IUlzRXhjZXB0
aW9uT3I8VT4sIEpTQzo6SlNWYWx1ZT4KIHsKICAgICByZXR1cm4gdG9KU05ld2x5Q3JlYXRlZDxU
PihsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIHN0ZDo6Zm9yd2FyZDxVPih2YWx1
ZSkpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25I
YW5kbGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
RXhjZXB0aW9uSGFuZGxpbmcuaAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC05
Myw3ICs5Myw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+IHZvaWQgaW52b2tlRnUKIHsK
ICAgICB1c2luZyBSZXR1cm5UeXBlID0gc3RkOjppbnZva2VfcmVzdWx0X3Q8RnVuY3Rvcj47CiAK
LSAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8UmV0dXJuVHlwZT46OnZhbHVlKSB7Cisg
ICAgaWYgY29uc3RleHByIChJc0V4Y2VwdGlvbk9yPFJldHVyblR5cGU+KSB7CiAgICAgICAgIGF1
dG8gcmVzdWx0ID0gZnVuY3RvcigpOwogICAgICAgICBpZiAoVU5MSUtFTFkocmVzdWx0Lmhhc0V4
Y2VwdGlvbigpKSkKICAgICAgICAgICAgIHByb3BhZ2F0ZUV4Y2VwdGlvbihsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aHJvd1Njb3BlLCByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtNzQ5MCwxNyArNzQ5MCwxMyBAQCBz
dWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24KIAogICAgICAgICAgICAgR2VuZXJhdGVB
cmd1bWVudHNDb3VudENoZWNrKCRvdXRwdXRBcnJheSwgJG9wZXJhdGlvbiwgJGludGVyZmFjZSwg
IiAgICAiKTsKIAotICAgICAgICAgICAgbXkgJGZ1bmN0aW9uSW1wbGVtZW50YXRpb25OYW1lID0g
JGdlbmVyYXRpbmdMZWdhY3lGYWN0b3J5RnVuY3Rpb24gPyAiY3JlYXRlRm9ySlNDb25zdHJ1Y3Rv
ciIgOiAiY3JlYXRlIjsKKyAgICAgICAgICAgIG15ICRmdW5jdGlvbkltcGxlbWVudGF0aW9uTmFt
ZSA9ICRnZW5lcmF0aW5nTGVnYWN5RmFjdG9yeUZ1bmN0aW9uID8gImNyZWF0ZUZvckxlZ2FjeUZh
Y3RvcnlGdW5jdGlvbiIgOiAiY3JlYXRlIjsKICAgICAgICAgICAgIG15ICRmdW5jdGlvblN0cmlu
ZyA9IEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrKCRvdXRwdXRBcnJheSwgJG9wZXJhdGlvbiwgJGlu
dGVyZmFjZSwgJGZ1bmN0aW9uSW1wbGVtZW50YXRpb25OYW1lLCAiICAgICIpOwogCiAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgYXV0byBvYmplY3QgPSAke2Z1bmN0aW9uU3Ry
aW5nfTtcbiIpOwogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7XG4iKSBpZiAkY29kZUdl
bmVyYXRvci0+RXh0ZW5kZWRBdHRyaWJ1dGVDb250YWlucygkaW50ZXJmYWNlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPntDYWxsV2l0aH0sICJFeGVjU3RhdGUiKTsKLSAgICAgICAgICAgIGlmICgkaW50
ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntMZWdhY3lGYWN0b3J5RnVuY3Rpb25NYXlUaHJv
d0V4Y2VwdGlvbn0gfHwgJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57TWF5VGhyb3dF
eGNlcHRpb259KSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHN0
YXRpY19hc3NlcnQoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWUpO1xuIik7
Ci0gICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHN0YXRpY19hc3NlcnQo
ZGVjbHR5cGUob2JqZWN0KTo6UmV0dXJuVHlwZTo6aXNSZWYpO1xuIik7Ci0gICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBzdGF0aWNf
YXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6OmlzUmVmKTtcbiIpOwotICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgc3RhdGljX2Fzc2VydChUeXBlT3JF
eGNlcHRpb25PclVuZGVybHlpbmdUeXBlPGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7XG4iKTsK
IAogICAgICAgICAgICAgbXkgJElETFR5cGUgPSBHZXRJRExUeXBlKCRpbnRlcmZhY2UsICRpbnRl
cmZhY2UtPnR5cGUpOwogICAgICAgICAgICAgbXkgJGltcGxUeXBlID0gR2V0SW1wbENsYXNzTmFt
ZSgkaW50ZXJmYWNlKTsKQEAgLTc1MTAsMTIgKzc1MDYsMTMgQEAgc3ViIEdlbmVyYXRlQ29uc3Ry
dWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBteSBAY29uc3RydWN0aW9uQ29udmVyc2lvbkFy
Z3VtZW50cyA9ICgpOwogICAgICAgICAgICAgcHVzaChAY29uc3RydWN0aW9uQ29udmVyc2lvbkFy
Z3VtZW50cywgIipsZXhpY2FsR2xvYmFsT2JqZWN0Iik7CiAgICAgICAgICAgICBwdXNoKEBjb25z
dHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAiKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
Iik7Ci0gICAgICAgICAgICBwdXNoKEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAi
dGhyb3dTY29wZSIpIGlmICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0xlZ2FjeUZh
Y3RvcnlGdW5jdGlvbk1heVRocm93RXhjZXB0aW9ufSB8fCAkb3BlcmF0aW9uLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPntNYXlUaHJvd0V4Y2VwdGlvbn07CisgICAgICAgICAgICBwdXNoKEBjb25zdHJ1
Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAidGhyb3dTY29wZSIpOwogICAgICAgICAgICAgcHVz
aChAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50cywgIldURk1vdmUob2JqZWN0KSIpOwog
CiAgICAgICAgICAgICAjIEZJWE1FOiB0b0pTTmV3bHlDcmVhdGVkIHNob3VsZCByZXR1cm4gSlNP
YmplY3QqIGluc3RlYWQgb2YgSlNWYWx1ZS4KICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIiAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPCR7SURMVHlwZX0+KCIgLiBq
b2luKCIsICIsIEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzKSAuICIpO1xuIik7Ci0g
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCB7IH0pO1xuIikgaWYgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
TGVnYWN5RmFjdG9yeUZ1bmN0aW9uTWF5VGhyb3dFeGNlcHRpb259IHx8ICRvcGVyYXRpb24tPmV4
dGVuZGVkQXR0cmlidXRlcy0+e01heVRocm93RXhjZXB0aW9ufTsKKyAgICAgICAgICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUo
b2JqZWN0KT4pXG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pO1xuIik7CiAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDwke2lt
cGxUeXBlfT4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVl
KSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpO1xuIik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMu
anNvbgkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JRExBdHRyaWJ1dGVzLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTMxNiw5ICszMTYsNiBAQAog
ICAgICAgICAgICAgInZhbHVlcyI6IFsiKiJdLAogICAgICAgICAgICAgInN1cHBvcnRzQ29uanVu
Y3Rpb24iOiB0cnVlCiAgICAgICAgIH0sCi0gICAgICAgICJMZWdhY3lGYWN0b3J5RnVuY3Rpb25N
YXlUaHJvd0V4Y2VwdGlvbiI6IHsKLSAgICAgICAgICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImlu
dGVyZmFjZSJdCi0gICAgICAgIH0sCiAgICAgICAgICJMZWdhY3lMZW5pZW50U2V0dGVyIjogewog
ICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiYXR0cmlidXRlIl0sCiAgICAgICAgICAg
ICAic3RhbmRhcmQiOiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uaWRs
CShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcg
KzMyLDYgQEAKIFsKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgTGVnYWN5RmFjdG9yeUZ1bmN0
aW9uPUF1ZGlvKERPTVN0cmluZyBzdHIxLCBvcHRpb25hbCBET01TdHJpbmcgc3RyMiA9ICJkZWZh
dWx0U3RyaW5nIiwgb3B0aW9uYWwgRE9NU3RyaW5nIHN0cjMpLAotICAgIExlZ2FjeUZhY3RvcnlG
dW5jdGlvbkNhbGxXaXRoPURvY3VtZW50LAotICAgIExlZ2FjeUZhY3RvcnlGdW5jdGlvbk1heVRo
cm93RXhjZXB0aW9uCisgICAgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uQ2FsbFdpdGg9RG9jdW1lbnQK
IF0gaW50ZXJmYWNlIFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24gewogfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdp
bmRvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93LmNwcAkocmV2aXNpb24gMjY2OTk5KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29y
a2VyQW5kV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDggKzEzNSwxMSBAQCB0ZW1w
bGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiAgICAgYXV0byogY2FzdGVkVGhp
cyA9IGpzQ2FzdDxKU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvd0NvbnN0cnVjdG9yKj4oY2FsbEZy
YW1lLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBvYmpl
Y3QgPSBFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c6OmNyZWF0ZSgpOwotICAgIHN0YXRpY19hc3Nl
cnQoZGVjbHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXds
eUNyZWF0ZWQ8SURMSW50ZXJmYWNlPEV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdz4+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0
KSk7CisgICAgY29uc3RleHByIGJvb2wgY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IgPSBJ
c0V4Y2VwdGlvbk9yPGRlY2x0eXBlKG9iamVjdCk+Ojp2YWx1ZTsKKyAgICBzdGF0aWNfYXNzZXJ0
KHN0ZDo6Y29uZGl0aW9uYWxfdDxjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciwgZGVjbHR5
cGUob2JqZWN0KTo6UmV0dXJuVHlwZSwgZGVjbHR5cGUob2JqZWN0KT46OmlzUmVmKTsKKyAgICBh
dXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxFeHBvc2VkVG9Xb3Jr
ZXJBbmRXaW5kb3c+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9i
amVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAo
Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPEV4
cG9zZWRUb1dvcmtlckFuZFdpbmRvdz4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBh
c09iamVjdChqc1ZhbHVlKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7
IH0pOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MCw4ICsxODAsMTEgQEAgdGVtcGxhdGU8PiBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogICAgIGF1dG8gZXZlbnRJbml0RGljdCA9IGNvbnZlcnQ8
SURMRGljdGlvbmFyeTxUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6SW5pdD4+KCpsZXhpY2FsR2xvYmFs
T2JqZWN0LCBhcmd1bWVudDEudmFsdWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJv
d1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RFdmVudENv
bnN0cnVjdG9yOjpjcmVhdGUoV1RGTW92ZSh0eXBlKSwgV1RGTW92ZShldmVudEluaXREaWN0KSk7
Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBq
c1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdEV2ZW50Q29uc3RydWN0
b3I+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBX
VEZNb3ZlKG9iamVjdCkpOworICAgIGNvbnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4
Y2VwdGlvbk9yID0gSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAg
c3RhdGljX2Fzc2VydChzdGQ6OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0
aW9uT3IsIGRlY2x0eXBlKG9iamVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojpp
c1JlZik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8
VGVzdEV2ZW50Q29uc3RydWN0b3I+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMt
Pmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNv
bnN0ZXhwciAoY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlm
TmVlZGVkPFRlc3RFdmVudENvbnN0cnVjdG9yPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJh
bWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2Nv
cGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9K
U1Rlc3RJbnRlcmZhY2UuY3BwCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjc2LDEwICsyNzYsMTEgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIAogICAgIGF1dG8gc3RyMiA9IGFyZ3VtZW50MS52YWx1ZSgpLmlzVW5kZWZpbmVkKCkg
PyAiZGVmYXVsdFN0cmluZyJfcyA6IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgYXJndW1lbnQxLnZhbHVlKCkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhy
b3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0SW50ZXJm
YWNlOjpjcmVhdGUoKmNvbnRleHQsIFdURk1vdmUoc3RyMSksIFdURk1vdmUoc3RyMikpOwotICAg
IHN0YXRpY19hc3NlcnQoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWUpOwot
ICAgIHN0YXRpY19hc3NlcnQoZGVjbHR5cGUob2JqZWN0KTo6UmV0dXJuVHlwZTo6aXNSZWYpOwor
ICAgIGNvbnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yID0gSXNFeGNl
cHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6
OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IsIGRlY2x0eXBlKG9i
amVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CiAgICAgYXV0byBq
c1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdEludGVyZmFjZT4+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIHRocm93U2Nv
cGUsIFdURk1vdmUob2JqZWN0KSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCB7IH0pOworICAgIGlmIGNvbnN0ZXhwciAoY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3Ip
CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRT
dWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RJbnRlcmZhY2U+KGxleGljYWxHbG9iYWxPYmpl
Y3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExl
Z2FjeUZhY3RvcnlGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5jcHAJKHJl
dmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMs
MTEgKzEyMywxMiBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiAg
ICAgRW5zdXJlU3RpbGxBbGl2ZVNjb3BlIGFyZ3VtZW50MiA9IGNhbGxGcmFtZS0+YXJndW1lbnQo
Mik7CiAgICAgYXV0byBzdHIzID0gYXJndW1lbnQyLnZhbHVlKCkuaXNVbmRlZmluZWQoKSA/IFN0
cmluZygpIDogY29udmVydDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1
bWVudDIudmFsdWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKLSAgICBhdXRvIG9iamVjdCA9IFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rp
b246OmNyZWF0ZUZvckpTQ29uc3RydWN0b3IoZG9jdW1lbnQsIFdURk1vdmUoc3RyMSksIFdURk1v
dmUoc3RyMiksIFdURk1vdmUoc3RyMykpOwotICAgIHN0YXRpY19hc3NlcnQoSXNFeGNlcHRpb25P
cjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWUpOwotICAgIHN0YXRpY19hc3NlcnQoZGVjbHR5cGUo
b2JqZWN0KTo6UmV0dXJuVHlwZTo6aXNSZWYpOworICAgIGF1dG8gb2JqZWN0ID0gVGVzdExlZ2Fj
eUZhY3RvcnlGdW5jdGlvbjo6Y3JlYXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKGRvY3VtZW50
LCBXVEZNb3ZlKHN0cjEpLCBXVEZNb3ZlKHN0cjIpLCBXVEZNb3ZlKHN0cjMpKTsKKyAgICBjb25z
dGV4cHIgYm9vbCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciA9IElzRXhjZXB0aW9uT3I8
ZGVjbHR5cGUob2JqZWN0KT46OnZhbHVlOworICAgIHN0YXRpY19hc3NlcnQoc3RkOjpjb25kaXRp
b25hbF90PGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yLCBkZWNsdHlwZShvYmplY3QpOjpS
ZXR1cm5UeXBlLCBkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOwogICAgIGF1dG8ganNWYWx1ZSA9
IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24+
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJv
d1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgeyB9KTsKKyAgICBpZiBjb25zdGV4cHIgKGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlv
bk9yKQorICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAg
c2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uPihs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1ZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAJKHJldmlzaW9uIDI2Njk5OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTE1LDggKzExNSwxMSBAQCB0ZW1wbGF0ZTw+IEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgCiAgICAgYXV0byogY2FzdGVkVGhpcyA9IGpzQ2FzdDxKU1Rlc3RO
b2RlQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkpOwogICAgIEFTU0VSVChjYXN0
ZWRUaGlzKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3ROb2RlOjpjcmVhdGUoKTsKLSAgICBzdGF0
aWNfYXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6OmlzUmVmKTsKLSAgICBhdXRvIGpzVmFsdWUgPSB0
b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0Tm9kZT4+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAg
Y29uc3RleHByIGJvb2wgY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IgPSBJc0V4Y2VwdGlv
bk9yPGRlY2x0eXBlKG9iamVjdCk+Ojp2YWx1ZTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6Y29u
ZGl0aW9uYWxfdDxjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciwgZGVjbHR5cGUob2JqZWN0
KTo6UmV0dXJuVHlwZSwgZGVjbHR5cGUob2JqZWN0KT46OmlzUmVmKTsKKyAgICBhdXRvIGpzVmFs
dWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0Tm9kZT4+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIFdURk1v
dmUob2JqZWN0KSk7CisgICAgaWYgY29uc3RleHByIChjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRp
b25PcikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAg
IHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE5vZGU+KGxleGljYWxHbG9iYWxPYmpl
Y3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04odGhyb3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
OTc4LDggKzE5NzgsMTEgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IAogICAgIGF1dG8gdGVzdENhbGxiYWNrRnVuY3Rpb24gPSBjb252ZXJ0PElETENhbGxiYWNrRnVu
Y3Rpb248SlNUZXN0Q2FsbGJhY2tGdW5jdGlvbj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1
bWVudDEudmFsdWUoKSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBbXShKU0M6OkpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7
IHRocm93QXJndW1lbnRNdXN0QmVGdW5jdGlvbkVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNj
b3BlLCAxLCAidGVzdENhbGxiYWNrRnVuY3Rpb24iLCAiVGVzdE9iamVjdCIsIG51bGxwdHIpOyB9
KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkp
OwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE9iajo6Y3JlYXRlKGRvY3VtZW50LCB0ZXN0Q2FsbGJh
Y2sucmVsZWFzZU5vbk51bGwoKSwgdGVzdENhbGxiYWNrRnVuY3Rpb24ucmVsZWFzZU5vbk51bGwo
KSk7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0
byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2Jq
ZWN0KSk7CisgICAgY29uc3RleHByIGJvb2wgY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3Ig
PSBJc0V4Y2VwdGlvbk9yPGRlY2x0eXBlKG9iamVjdCk+Ojp2YWx1ZTsKKyAgICBzdGF0aWNfYXNz
ZXJ0KHN0ZDo6Y29uZGl0aW9uYWxfdDxjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciwgZGVj
bHR5cGUob2JqZWN0KTo6UmV0dXJuVHlwZSwgZGVjbHR5cGUob2JqZWN0KT46OmlzUmVmKTsKKyAg
ICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T2JqPj4o
KmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dT
Y29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBpZiBjb25zdGV4cHIgKGNvbnN0cnVjdG9yUmV0
dXJuc0V4Y2VwdGlvbk9yKQorICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUs
IHsgfSk7CiAgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0T2JqPihsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1ZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9ycy5jcHAJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTcsOCArOTcsMTEgQEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25z
dHJ1Y3RKUwogICAgIGF1dG8gYXJyYXlCdWZmZXIgPSBjb252ZXJ0PElETEFycmF5QnVmZmVyPigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQwLnZhbHVlKCksIFtdKEpTQzo6SlNHbG9iYWxP
YmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhy
b3dBcmd1bWVudFR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMCwgImFycmF5
QnVmZmVyIiwgIlRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5QnVm
ZmVyIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpT
VmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6
Y3JlYXRlKCphcnJheUJ1ZmZlcik7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3Qp
Ojppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZh
Y2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNh
c3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGNvbnN0ZXhw
ciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yID0gSXNFeGNlcHRpb25PcjxkZWNs
dHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmNvbmRpdGlvbmFs
X3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IsIGRlY2x0eXBlKG9iamVjdCk6OlJldHVy
blR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9K
U05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+Pigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Nj
b3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAoY29uc3RydWN0b3JSZXR1
cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwg
eyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFs
dWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKQEAgLTExNCw4ICsxMTcsMTEgQEAgc3RhdGlj
IGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwogICAgIGF1dG8gYXJyYXlCdWZmZXJW
aWV3ID0gY29udmVydDxJRExBcnJheUJ1ZmZlclZpZXc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBh
cmd1bWVudDAudmFsdWUoKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50VHlwZUVycm9yKGxl
eGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAwLCAiYXJyYXlCdWZmZXJWaWV3IiwgIlRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5QnVmZmVyVmlldyIpOyB9KTsKICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAg
IGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0ZShhcnJheUJ1
ZmZlclZpZXcucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShv
YmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJ
bnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGNv
bnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yID0gSXNFeGNlcHRpb25P
cjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmNvbmRp
dGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IsIGRlY2x0eXBlKG9iamVjdCk6
OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBqc1ZhbHVl
ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0
aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAoY29uc3RydWN0
b3JSZXR1cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dT
Y29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0
KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKQEAgLTEzMSw4ICsxMzcsMTEgQEAg
c3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwogICAgIGF1dG8gYmxvYiA9
IGNvbnZlcnQ8SURMSW50ZXJmYWNlPEJsb2I+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1l
bnQwLnZhbHVlKCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVudFR5cGVFcnJvcihsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBzY29wZSwgMCwgImJsb2IiLCAiVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnMiLCBudWxscHRyLCAiQmxvYiIpOyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93
U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM6OmNyZWF0ZSgqYmxvYik7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlw
ZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJ
RExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAg
IGNvbnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yID0gSXNFeGNlcHRp
b25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmNv
bmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IsIGRlY2x0eXBlKG9iamVj
dCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBqc1Zh
bHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1
Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
LCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAoY29uc3Ry
dWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhy
b3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2Jq
ZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKQEAgLTE0OCw4ICsxNTcsMTEg
QEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwogICAgIGF1dG8gc3Ry
aW5nID0gY29udmVydDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVu
dDAudmFsdWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVk
SlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
OjpjcmVhdGUoV1RGTW92ZShzdHJpbmcpKTsKLSAgICBzdGF0aWNfYXNzZXJ0KGRlY2x0eXBlKG9i
amVjdCk6OmlzUmVmKTsKLSAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETElu
dGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgY29u
c3RleHByIGJvb2wgY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IgPSBJc0V4Y2VwdGlvbk9y
PGRlY2x0eXBlKG9iamVjdCk+Ojp2YWx1ZTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6Y29uZGl0
aW9uYWxfdDxjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciwgZGVjbHR5cGUob2JqZWN0KTo6
UmV0dXJuVHlwZSwgZGVjbHR5cGUob2JqZWN0KT46OmlzUmVmKTsKKyAgICBhdXRvIGpzVmFsdWUg
PSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
cz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIHRo
cm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgaWYgY29uc3RleHByIChjb25zdHJ1Y3Rv
clJldHVybnNFeGNlcHRpb25PcikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Nj
b3BlLCB7IH0pOwogICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnM+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNPYmplY3Qo
anNWYWx1ZSkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwpAQCAtMTY0LDggKzE3NiwxMSBAQCBz
dGF0aWMgaW5saW5lIEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTCiAgICAgYXV0byBsb25nQXJn
cyA9IGNvbnZlcnRWYXJpYWRpY0FyZ3VtZW50czxJRExMb25nPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhbGxGcmFtZSwgMCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBl
bmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzOjpjcmVhdGUoV1RGTW92ZShsb25nQXJncykpOwotICAgIHN0YXRpY19hc3NlcnQoZGVj
bHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0
ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9i
YWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsK
KyAgICBjb25zdGV4cHIgYm9vbCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciA9IElzRXhj
ZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT46OnZhbHVlOworICAgIHN0YXRpY19hc3NlcnQoc3Rk
Ojpjb25kaXRpb25hbF90PGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yLCBkZWNsdHlwZShv
YmplY3QpOjpSZXR1cm5UeXBlLCBkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8g
anNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29u
c3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmpl
Y3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBpZiBjb25zdGV4cHIgKGNv
bnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yKQorICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHRocm93U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0
T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBh
c09iamVjdChqc1ZhbHVlKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7
IH0pOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNWYWx1ZSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc1dpdGhTZXF1ZW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVu
Y2UuY3BwCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTk2LDggKzk2LDExIEBAIHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpT
VmFsdWUgY29uc3RydWN0SlMKICAgICBhdXRvIHNlcXVlbmNlT2ZTdHJpbmdzID0gYXJndW1lbnQw
LnZhbHVlKCkuaXNVbmRlZmluZWQoKSA/IENvbnZlcnRlcjxJRExTZXF1ZW5jZTxJRExET01TdHJp
bmc+Pjo6UmV0dXJuVHlwZXsgfSA6IGNvbnZlcnQ8SURMU2VxdWVuY2U8SURMRE9NU3RyaW5nPj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50MC52YWx1ZSgpKTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAgIGF1dG8gb2JqZWN0
ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U6OmNyZWF0ZShXVEZNb3Zl
KHNlcXVlbmNlT2ZTdHJpbmdzKSk7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3Qp
Ojppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZh
Y2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOwor
ICAgIGNvbnN0ZXhwciBib29sIGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yID0gSXNFeGNl
cHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWU7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6
OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IsIGRlY2x0eXBlKG9i
amVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBq
c1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25z
dHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMt
Pmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGlmIGNv
bnN0ZXhwciAoY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IpCisgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlm
TmVlZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPihsZXhpY2FsR2xv
YmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1ZhbHVlKTsKQEAgLTExMyw4ICsxMTYsMTEgQEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1
ZSBjb25zdHJ1Y3RKUwogICAgIGF1dG8gc3RyaW5nID0gY29udmVydDxJRExET01TdHJpbmc+KCps
ZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUoKSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9
IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlOjpjcmVhdGUoV1RGTW92ZShz
dHJpbmcpKTsKLSAgICBzdGF0aWNfYXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6OmlzUmVmKTsKLSAg
ICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2Fz
dGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgY29uc3RleHBy
IGJvb2wgY29uc3RydWN0b3JSZXR1cm5zRXhjZXB0aW9uT3IgPSBJc0V4Y2VwdGlvbk9yPGRlY2x0
eXBlKG9iamVjdCk+Ojp2YWx1ZTsKKyAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6Y29uZGl0aW9uYWxf
dDxjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciwgZGVjbHR5cGUob2JqZWN0KTo6UmV0dXJu
VHlwZSwgZGVjbHR5cGUob2JqZWN0KT46OmlzUmVmKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pT
TmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhT
ZXF1ZW5jZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0
KCksIHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgaWYgY29uc3RleHByIChjb25z
dHJ1Y3RvclJldHVybnNFeGNlcHRpb25PcikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCB7IH0pOwogICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92
ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+KGxleGljYWxHbG9iYWxPYmplY3QsIGNh
bGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhy
b3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VS
ZWplY3Rpb25FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAJKHJldmlzaW9u
IDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsOCArMTgx
LDExIEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBhdXRv
IGV2ZW50SW5pdERpY3QgPSBjb252ZXJ0PElETERpY3Rpb25hcnk8VGVzdFByb21pc2VSZWplY3Rp
b25FdmVudDo6SW5pdD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDEudmFsdWUoKSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsK
ICAgICBhdXRvIG9iamVjdCA9IFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ6OmNyZWF0ZSgqY2Fz
dGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUodHlwZSksIFdURk1vdmUoZXZlbnRJbml0
RGljdCkpOwotICAgIHN0YXRpY19hc3NlcnQoZGVjbHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAg
IGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RQcm9taXNl
UmVqZWN0aW9uRXZlbnQ+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2Jh
bE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIGNvbnN0ZXhwciBib29sIGNvbnN0cnVj
dG9yUmV0dXJuc0V4Y2VwdGlvbk9yID0gSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6
dmFsdWU7CisgICAgc3RhdGljX2Fzc2VydChzdGQ6OmNvbmRpdGlvbmFsX3Q8Y29uc3RydWN0b3JS
ZXR1cm5zRXhjZXB0aW9uT3IsIGRlY2x0eXBlKG9iamVjdCk6OlJldHVyblR5cGUsIGRlY2x0eXBl
KG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJ
RExJbnRlcmZhY2U8VGVzdFByb21pc2VSZWplY3Rpb25FdmVudD4+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIFdURk1vdmUob2Jq
ZWN0KSk7CisgICAgaWYgY29uc3RleHByIChjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PcikK
KyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHNldFN1
YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdFByb21pc2VSZWplY3Rpb25FdmVudD4obGV4aWNh
bEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CiAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNWYWx1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0VHlwZWRlZnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAJKHJldmlzaW9uIDI2Njk5OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVm
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Miw4ICsxNzIsMTEgQEAgdGVtcGxhdGU8PiBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogICAgIGF1dG8gdGVzdENhbGxiYWNrSW50ZXJmYWNl
ID0gY29udmVydDxJRExDYWxsYmFja0ludGVyZmFjZTxKU1Rlc3RDYWxsYmFja0ludGVyZmFjZT4+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDIudmFsdWUoKSwgKmNhc3RlZFRoaXMtPmds
b2JhbE9iamVjdCgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRNdXN0QmVPYmplY3RFcnJv
cihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMiwgInRlc3RDYWxsYmFja0ludGVyZmFjZSIs
ICJUZXN0VHlwZWRlZnMiLCBudWxscHRyKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RUeXBl
ZGVmczo6Y3JlYXRlKFdURk1vdmUoaGVsbG8pLCB0ZXN0Q2FsbGJhY2tGdW5jdGlvbi5yZWxlYXNl
Tm9uTnVsbCgpLCB0ZXN0Q2FsbGJhY2tJbnRlcmZhY2UucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAg
c3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVl
ID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdFR5cGVkZWZzPj4oKmxleGljYWxH
bG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3Qp
KTsKKyAgICBjb25zdGV4cHIgYm9vbCBjb25zdHJ1Y3RvclJldHVybnNFeGNlcHRpb25PciA9IElz
RXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT46OnZhbHVlOworICAgIHN0YXRpY19hc3NlcnQo
c3RkOjpjb25kaXRpb25hbF90PGNvbnN0cnVjdG9yUmV0dXJuc0V4Y2VwdGlvbk9yLCBkZWNsdHlw
ZShvYmplY3QpOjpSZXR1cm5UeXBlLCBkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1
dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RUeXBlZGVmcz4+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIHRocm93
U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgaWYgY29uc3RleHByIChjb25zdHJ1Y3RvclJl
dHVybnNFeGNlcHRpb25PcikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3Bl
LCB7IH0pOwogICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdFR5cGVkZWZzPihs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc1ZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXguaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXguaWRsCShyZXZpc2lv
biAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4LmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjksNyArMjksNyBAQAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIERPTU1hdHJpeCA6IERPTU1h
dHJpeFJlYWRPbmx5IHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5
VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIChET01TdHJpbmcgb3Igc2VxdWVu
Y2U8dW5yZXN0cmljdGVkIGRvdWJsZT4pIGluaXQpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihvcHRpb25hbCAoRE9NU3RyaW5nIG9yIHNlcXVlbmNl
PHVucmVzdHJpY3RlZCBkb3VibGU+KSBpbml0KTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwg
TmV3T2JqZWN0XSBzdGF0aWMgRE9NTWF0cml4IGZyb21NYXRyaXgob3B0aW9uYWwgRE9NTWF0cml4
SW5pdCBvdGhlcik7CiAgICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIHN0YXRpYyBE
T01NYXRyaXggZnJvbUZsb2F0MzJBcnJheShGbG9hdDMyQXJyYXkgYXJyYXkzMik7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4UmVhZE9ubHkuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXhSZWFkT25seS5pZGwJKHJldmlzaW9uIDI2Njk5OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXhSZWFkT25seS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDcgKzI4LDcgQEAKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBET01NYXRyaXhSZWFkT25seSB7
Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9u
XSBjb25zdHJ1Y3RvcihvcHRpb25hbCAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPHVucmVzdHJpY3Rl
ZCBkb3VibGU+KSBpbml0KTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
Y29uc3RydWN0b3Iob3B0aW9uYWwgKERPTVN0cmluZyBvciBzZXF1ZW5jZTx1bnJlc3RyaWN0ZWQg
ZG91YmxlPikgaW5pdCk7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gc3Rh
dGljIERPTU1hdHJpeFJlYWRPbmx5IGZyb21NYXRyaXgob3B0aW9uYWwgRE9NTWF0cml4SW5pdCBv
dGhlcik7CiAgICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIHN0YXRpYyBET01NYXRy
aXhSZWFkT25seSBmcm9tRmxvYXQzMkFycmF5KEZsb2F0MzJBcnJheSBhcnJheTMyKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXguaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXguaWRsCShyZXZpc2lvbiAyNjY5OTkpCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTTWF0cml4LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsNyBAQAogWwogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGlu
dGVyZmFjZSBXZWJLaXRDU1NNYXRyaXggewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3Ry
dWN0b3Iob3B0aW9uYWwgRE9NU3RyaW5nIGNzc1ZhbHVlKTsKKyAgICBjb25zdHJ1Y3RvcihvcHRp
b25hbCBET01TdHJpbmcgY3NzVmFsdWUpOwogCiAgICAgLy8gVGhlc2UgYXR0cmlidXRlcyBhcmUg
c2ltcGxlIGFsaWFzZXMgZm9yIGNlcnRhaW4gZWxlbWVudHMgb2YgdGhlIDR4NCBtYXRyaXgKICAg
ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBhOyAvLyBhbGlhcyBmb3IgbTExCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uT3IuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9kb20vRXhjZXB0aW9uT3IuaAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0V4Y2VwdGlvbk9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwMCw3ICsyMDAsMTIg
QEAgaW5saW5lIEV4Y2VwdGlvbk9yPHZvaWQ+IGlzb2xhdGVkQ29weShFeAogICAgIHJldHVybiB7
IH07CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgSXNFeGNlcHRpb25PciA6IHB1
YmxpYyBzdGQ6OmludGVncmFsX2NvbnN0YW50PGJvb2wsIFdURjo6SXNUZW1wbGF0ZTxzdGQ6OmRl
Y2F5X3Q8VD4sIEV4Y2VwdGlvbk9yPjo6dmFsdWU+IHsgfTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBU
PiBpbmxpbmUgY29uc3RleHByIGJvb2wgSXNFeGNlcHRpb25PciA9IFdURjo6SXNUZW1wbGF0ZTxz
dGQ6OmRlY2F5X3Q8VD4sIEV4Y2VwdGlvbk9yPjo6dmFsdWU7CisKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBULCBib29sIGlzRXhjZXB0aW9uT3IgPSBJc0V4Y2VwdGlvbk9yPFQ+PiBzdHJ1Y3QgVHlwZU9y
RXhjZXB0aW9uT3JVbmRlcmx5aW5nVHlwZUltcGw7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3Ry
dWN0IFR5cGVPckV4Y2VwdGlvbk9yVW5kZXJseWluZ1R5cGVJbXBsPFQsIHRydWU+IHsgdXNpbmcg
VHlwZSA9IHR5cGVuYW1lIFQ6OlJldHVyblR5cGU7IH07Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
c3RydWN0IFR5cGVPckV4Y2VwdGlvbk9yVW5kZXJseWluZ1R5cGVJbXBsPFQsIGZhbHNlPiB7IHVz
aW5nIFR5cGUgPSBUOyB9OwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHVzaW5nIFR5cGVPckV4Y2Vw
dGlvbk9yVW5kZXJseWluZ1R5cGUgPSB0eXBlbmFtZSBUeXBlT3JFeGNlcHRpb25PclVuZGVybHlp
bmdUeXBlSW1wbDxUPjo6VHlwZTsKIAogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU3Rh
dGljUmFuZ2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5n
ZS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5n
ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlLAogICAgIEV4cG9zZWQ9V2luZG93LAogXSBpbnRlcmZhY2UgU3RhdGljUmFu
Z2UgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoU3RhdGljUmFuZ2VJbml0
IHN0YXRpY1JhbmdlSW5pdERpY3QpOworICAgIGNvbnN0cnVjdG9yKFN0YXRpY1JhbmdlSW5pdCBz
dGF0aWNSYW5nZUluaXREaWN0KTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIHN0YXJ0T2Zmc2V0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGVu
ZE9mZnNldDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0RGVjb2Rlci5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RleHREZWNvZGVyLmlkbAkocmV2aXNpb24gMjY2
OTk5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RleHREZWNvZGVyLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMzYsNyArMzYsNyBAQCBkaWN0aW9uYXJ5IFRleHREZWNvZGVPcHRpb25zIHsKICAgICBF
eHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAog
XSBpbnRlcmZhY2UgVGV4dERlY29kZXIgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3Ry
dWN0b3Iob3B0aW9uYWwgRE9NU3RyaW5nIGxhYmVsID0gInV0Zi04Iiwgb3B0aW9uYWwgVGV4dERl
Y29kZXJPcHRpb25zIG9wdGlvbnMpOworICAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVN0cmlu
ZyBsYWJlbCA9ICJ1dGYtOCIsIG9wdGlvbmFsIFRleHREZWNvZGVyT3B0aW9ucyBvcHRpb25zKTsK
IAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZW5jb2Rpbmc7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gZmF0YWw7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVGV4
dERlY29kZXJTdHJlYW1EZWNvZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vVGV4dERlY29kZXJTdHJlYW1EZWNvZGVyLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL1RleHREZWNvZGVyU3RyZWFtRGVjb2Rlci5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDcgKzI5LDcgQEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAg
IFByaXZhdGVJZGVudGlmaWVyLAogXSBpbnRlcmZhY2UgVGV4dERlY29kZXJTdHJlYW1EZWNvZGVy
IHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKERPTVN0cmluZyBsYWJlbCwg
Ym9vbGVhbiBmYXRhbCwgYm9vbGVhbiBpZ25vcmVCT00pOworICAgIGNvbnN0cnVjdG9yKERPTVN0
cmluZyBsYWJlbCwgYm9vbGVhbiBmYXRhbCwgYm9vbGVhbiBpZ25vcmVCT00pOwogCiAgICAgW1By
aXZhdGVJZGVudGlmaWVyXSBET01TdHJpbmcgZW5jb2RpbmcoKTsKICAgICBbUHJpdmF0ZUlkZW50
aWZpZXIsIE1heVRocm93RXhjZXB0aW9uXSBET01TdHJpbmcgZGVjb2RlKEJ1ZmZlclNvdXJjZSBz
b3VyY2UpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVVJMLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw4ICsz
Miw4IEBACiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAogICAgIExlZ2FjeVdpbmRvd0Fs
aWFzPXdlYmtpdFVSTCwKIF0gaW50ZXJmYWNlIERPTVVSTCB7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uXSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgdXJsLCBvcHRpb25hbCBVU1ZTdHJpbmcgYmFzZSk7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgdXJsLCBET01V
UkwgYmFzZSk7CisgICAgY29uc3RydWN0b3IoVVNWU3RyaW5nIHVybCwgb3B0aW9uYWwgVVNWU3Ry
aW5nIGJhc2UpOworICAgIGNvbnN0cnVjdG9yKFVTVlN0cmluZyB1cmwsIERPTVVSTCBiYXNlKTsK
IAogICAgIFtVUkxdIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgaHJlZjsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIG9yaWdpbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQXVkaW9FbGVtZW50LmNwcAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyAr
NTIsNyBAQCBSZWY8SFRNTEF1ZGlvRWxlbWVudD4gSFRNTEF1ZGlvRWxlbWVudDo6CiAgICAgcmV0
dXJuIGVsZW1lbnQ7CiB9CiAKLVJlZjxIVE1MQXVkaW9FbGVtZW50PiBIVE1MQXVkaW9FbGVtZW50
OjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgQXRvbVN0
cmluZyYgc3JjKQorUmVmPEhUTUxBdWRpb0VsZW1lbnQ+IEhUTUxBdWRpb0VsZW1lbnQ6OmNyZWF0
ZUZvckxlZ2FjeUZhY3RvcnlGdW5jdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEF0b21T
dHJpbmcmIHNyYykKIHsKICAgICBhdXRvIGVsZW1lbnQgPSBjcmVhdGUoYXVkaW9UYWcsIGRvY3Vt
ZW50LCBmYWxzZSk7CiAgICAgZWxlbWVudC0+c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXph
dGlvbihwcmVsb2FkQXR0ciwgImF1dG8iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEF1ZGlvRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1
ZGlvRWxlbWVudC5oCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdWRpb0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBI
VE1MQXVkaW9FbGVtZW50IGZpbmFsIDogcHVibGljIEhUCiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChIVE1MQXVkaW9FbGVtZW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxBdWRp
b0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBib29sKTsK
LSAgICBzdGF0aWMgUmVmPEhUTUxBdWRpb0VsZW1lbnQ+IGNyZWF0ZUZvckpTQ29uc3RydWN0b3Io
RG9jdW1lbnQmLCBjb25zdCBBdG9tU3RyaW5nJiBzcmMpOworICAgIHN0YXRpYyBSZWY8SFRNTEF1
ZGlvRWxlbWVudD4gY3JlYXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKERvY3VtZW50JiwgY29u
c3QgQXRvbVN0cmluZyYgc3JjKTsKIAogcHJpdmF0ZToKICAgICBIVE1MQXVkaW9FbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIGJvb2wpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIs
NyArMTAyLDcgQEAgSFRNTEltYWdlRWxlbWVudDo6fkhUTUxJbWFnZUVsZW1lbnQoKQogICAgIHNl
dFBpY3R1cmVFbGVtZW50KG51bGxwdHIpOwogfQogCi1SZWY8SFRNTEltYWdlRWxlbWVudD4gSFRN
TEltYWdlRWxlbWVudDo6Y3JlYXRlRm9ySlNDb25zdHJ1Y3RvcihEb2N1bWVudCYgZG9jdW1lbnQs
IE9wdGlvbmFsPHVuc2lnbmVkPiB3aWR0aCwgT3B0aW9uYWw8dW5zaWduZWQ+IGhlaWdodCkKK1Jl
ZjxIVE1MSW1hZ2VFbGVtZW50PiBIVE1MSW1hZ2VFbGVtZW50OjpjcmVhdGVGb3JMZWdhY3lGYWN0
b3J5RnVuY3Rpb24oRG9jdW1lbnQmIGRvY3VtZW50LCBPcHRpb25hbDx1bnNpZ25lZD4gd2lkdGgs
IE9wdGlvbmFsPHVuc2lnbmVkPiBoZWlnaHQpCiB7CiAgICAgYXV0byBpbWFnZSA9IGFkb3B0UmVm
KCpuZXcgSFRNTEltYWdlRWxlbWVudChpbWdUYWcsIGRvY3VtZW50KSk7CiAgICAgaWYgKHdpZHRo
KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgJKHJldmlzaW9uIDI2
Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQgOiBwdWJsaWMg
SFRNTEVsZW0KIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxJbWFnZUVsZW1lbnQ+IGNyZWF0
ZShEb2N1bWVudCYpOwogICAgIHN0YXRpYyBSZWY8SFRNTEltYWdlRWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVudCogPSBudWxscHRy
KTsKLSAgICBzdGF0aWMgUmVmPEhUTUxJbWFnZUVsZW1lbnQ+IGNyZWF0ZUZvckpTQ29uc3RydWN0
b3IoRG9jdW1lbnQmLCBPcHRpb25hbDx1bnNpZ25lZD4gd2lkdGgsIE9wdGlvbmFsPHVuc2lnbmVk
PiBoZWlnaHQpOworICAgIHN0YXRpYyBSZWY8SFRNTEltYWdlRWxlbWVudD4gY3JlYXRlRm9yTGVn
YWN5RmFjdG9yeUZ1bmN0aW9uKERvY3VtZW50JiwgT3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoLCBP
cHRpb25hbDx1bnNpZ25lZD4gaGVpZ2h0KTsKIAogICAgIHZpcnR1YWwgfkhUTUxJbWFnZUVsZW1l
bnQoKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIFJlZjxIVE1MT3B0aW9uRWxl
bWVudD4gSFRNTE9wdGlvbkVsZW1lbnQKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MT3B0
aW9uRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwogfQogCi1FeGNlcHRpb25PcjxSZWY8SFRN
TE9wdGlvbkVsZW1lbnQ+PiBIVE1MT3B0aW9uRWxlbWVudDo6Y3JlYXRlRm9ySlNDb25zdHJ1Y3Rv
cihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiB2
YWx1ZSwgYm9vbCBkZWZhdWx0U2VsZWN0ZWQsIGJvb2wgc2VsZWN0ZWQpCitFeGNlcHRpb25PcjxS
ZWY8SFRNTE9wdGlvbkVsZW1lbnQ+PiBIVE1MT3B0aW9uRWxlbWVudDo6Y3JlYXRlRm9yTGVnYWN5
RmFjdG9yeUZ1bmN0aW9uKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0ZXh0LCBj
b25zdCBTdHJpbmcmIHZhbHVlLCBib29sIGRlZmF1bHRTZWxlY3RlZCwgYm9vbCBzZWxlY3RlZCkK
IHsKICAgICBhdXRvIGVsZW1lbnQgPSBjcmVhdGUoZG9jdW1lbnQpOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM1
LDcgKzM1LDcgQEAgY2xhc3MgSFRNTE9wdGlvbkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgSAogcHVi
bGljOgogICAgIHN0YXRpYyBSZWY8SFRNTE9wdGlvbkVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCYp
OwogICAgIHN0YXRpYyBSZWY8SFRNTE9wdGlvbkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKLSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEhUTUxPcHRp
b25FbGVtZW50Pj4gY3JlYXRlRm9ySlNDb25zdHJ1Y3RvcihEb2N1bWVudCYsIGNvbnN0IFN0cmlu
ZyYgdGV4dCwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCBkZWZhdWx0U2VsZWN0ZWQsIGJvb2wg
c2VsZWN0ZWQpOworICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8SFRNTE9wdGlvbkVsZW1lbnQ+
PiBjcmVhdGVGb3JMZWdhY3lGYWN0b3J5RnVuY3Rpb24oRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcm
IHRleHQsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wgZGVmYXVsdFNlbGVjdGVkLCBib29sIHNl
bGVjdGVkKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB0ZXh0KCkgY29uc3Q7CiAgICAg
dm9pZCBzZXRUZXh0KGNvbnN0IFN0cmluZyYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uRWxlbWVudC5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw2
IEBACiAKIFsKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCi0gICAgTGVnYWN5RmFjdG9y
eUZ1bmN0aW9uTWF5VGhyb3dFeGNlcHRpb24sCiAgICAgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uQ2Fs
bFdpdGg9RG9jdW1lbnQsCiAgICAgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uPU9wdGlvbihvcHRpb25h
bCBET01TdHJpbmcgdGV4dCA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgdmFsdWUsIG9wdGlvbmFs
IGJvb2xlYW4gZGVmYXVsdFNlbGVjdGVkID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gc2VsZWN0
ZWQgPSBmYWxzZSksCiBdIGludGVyZmFjZSBIVE1MT3B0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIs
OCArMzIsOCBAQAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEltcGxlbWVudGF0
aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIEltYWdlRGF0YSB7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSBjb25zdHJ1Y3Rvcih1bnNpZ25lZCBsb25nIHN3LCB1bnNpZ25lZCBsb25nIHNoKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKFVpbnQ4Q2xhbXBlZEFycmF5IGRh
dGEsIHVuc2lnbmVkIGxvbmcgc3csIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgc2gpOworICAgIGNv
bnN0cnVjdG9yKHVuc2lnbmVkIGxvbmcgc3csIHVuc2lnbmVkIGxvbmcgc2gpOworICAgIGNvbnN0
cnVjdG9yKFVpbnQ4Q2xhbXBlZEFycmF5IGRhdGEsIHVuc2lnbmVkIGxvbmcgc3csIG9wdGlvbmFs
IHVuc2lnbmVkIGxvbmcgc2gpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgd2lkdGg7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvVVJMU2VhcmNoUGFyYW1zLmlkbAkocmV2aXNpb24gMjY2
OTk5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAg
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIFVSTFNlYXJjaFBhcmFt
cyB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihvcHRpb25hbCAoc2VxdWVu
Y2U8c2VxdWVuY2U8VVNWU3RyaW5nPj4gb3IgcmVjb3JkPFVTVlN0cmluZywgVVNWU3RyaW5nPiBv
ciBVU1ZTdHJpbmcpIGluaXQgPSAiIik7CisgICAgY29uc3RydWN0b3Iob3B0aW9uYWwgKHNlcXVl
bmNlPHNlcXVlbmNlPFVTVlN0cmluZz4+IG9yIHJlY29yZDxVU1ZTdHJpbmcsIFVTVlN0cmluZz4g
b3IgVVNWU3RyaW5nKSBpbml0ID0gIiIpOwogCiAgICAgdW5kZWZpbmVkIGFwcGVuZChVU1ZTdHJp
bmcgbmFtZSwgVVNWU3RyaW5nIHZhbHVlKTsKICAgICBbSW1wbGVtZW50ZWRBcz1yZW1vdmVdIHVu
ZGVmaW5lZCBkZWxldGUoVVNWU3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2tDdWUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3
ICszMiw3IEBACiAgICAgU2tpcFZUYWJsZVZhbGlkYXRpb24sCiAgICAgTGVnYWN5RmFjdG9yeUZ1
bmN0aW9uRW5hYmxlZEJ5U2V0dGluZz1HZW5lcmljQ3VlQVBJCiBdIGludGVyZmFjZSBUZXh0VHJh
Y2tDdWUgOiBFdmVudFRhcmdldCB7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4
Y2VwdGlvbl0gY29uc3RydWN0b3IoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIGVuZFRpbWUsIERv
Y3VtZW50RnJhZ21lbnQgY3VlTm9kZSk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSBjb25zdHJ1
Y3Rvcihkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZW5kVGltZSwgRG9jdW1lbnRGcmFnbWVudCBj
dWVOb2RlKTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUZXh0VHJhY2sgdHJhY2s7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMs
NyArMzMsNyBAQAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEFjdGl2ZURPTU9i
amVjdCwKIF0gaW50ZXJmYWNlIEV2ZW50U291cmNlIDogRXZlbnRUYXJnZXQgewotICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0
b3IoVVNWU3RyaW5nIHVybCwgb3B0aW9uYWwgRXZlbnRTb3VyY2VJbml0IGV2ZW50U291cmNlSW5p
dERpY3QpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3Rv
cihVU1ZTdHJpbmcgdXJsLCBvcHRpb25hbCBFdmVudFNvdXJjZUluaXQgZXZlbnRTb3VyY2VJbml0
RGljdCk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIFVSTDsgLy8gTG93ZXJj
YXNlZCAudXJsIGlzIHRoZSBvbmUgaW4gdGhlIHNwZWMsIGJ1dCBsZWF2aW5nIC5VUkwgZm9yIGNv
bXBhdGliaWxpdHkgcmVhc29ucy4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHVy
bDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRs
CShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9i
c2VydmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogICAgIENvbmRpdGlv
bmFsPUlOVEVSU0VDVElPTl9PQlNFUlZFUiwKICAgICBFbmFibGVkQnlTZXR0aW5nPUludGVyc2Vj
dGlvbk9ic2VydmVyCiBdIGludGVyZmFjZSBJbnRlcnNlY3Rpb25PYnNlcnZlciB7Ci0gICAgW0Nh
bGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoSW50ZXJzZWN0
aW9uT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjaywgb3B0aW9uYWwgSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJJbml0IG9wdGlvbnMpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gY29uc3RydWN0b3IoSW50
ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjaywgb3B0aW9uYWwgSW50ZXJzZWN0aW9u
T2JzZXJ2ZXJJbml0IG9wdGlvbnMpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGU/IHJv
b3Q7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyByb290TWFyZ2luOwpJbmRleDog
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBA
CiBbCiAgICAgQWN0aXZlRE9NT2JqZWN0LAogXSBpbnRlcmZhY2UgV29ya2VyIDogRXZlbnRUYXJn
ZXQgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0JlJ1bnRpbWVGbGFncywg
TWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKFVTVlN0cmluZyBzY3JpcHRVcmwsIG9wdGlv
bmFsIFdvcmtlck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmUnVudGltZUZsYWdzXSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgc2NyaXB0VXJsLCBv
cHRpb25hbCBXb3JrZXJPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgdW5kZWZpbmVkIHRlcm1pbmF0
ZSgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408660</attachid>
            <date>2020-09-13 11:32:41 -0700</date>
            <delta_ts>2020-09-13 17:00:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216442-20200913113240.patch</filename>
            <type>text/plain</type>
            <size>81898</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNCBAQAorMjAyMC0wOS0xMyAgU2FtIFdl
aW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYklETF0gUmVtb3ZlIG5lZWQg
Zm9yIFtNYXlUaHJvd0V4Y2VwdGlvbl0gb24gY29uc3RydWN0b3JzIGFuZCBsZWdhY3kgZmFjdG9y
eSBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNjQ0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIERlZHVjZSBpbXBsZW1lbnRhdGlvbiBwb3RlbnRpYWxseSB0aHJvd2luZyBieSB1c2luZyB0
aGUgZXhpc3Rpbmcgb3ZlcmxvYWQgb2YKKyAgICAgICAgdG9KU05ld2x5Q3JlYXRlZCB0aGF0IGNv
bmRpdGlvbmFsbHkgY2hlY2tzIGZvciBleGNlcHRpb25zIGJhc2VkIG9uIHRoZSByZXR1cm4KKyAg
ICAgICAgdHlwZS4gY29uc3RleHByIElzRXhjZXB0aW9uT3IgdG8gbWFpbnRhaW4gZXhpc3Rpbmcg
b3B0aW1pemF0aW9ucyBhcm91bmQgY29uZGl0aW9uYWwKKyAgICAgICAgY2FsbHMgdG8gUkVUVVJO
X0lGX0VYQ0VQVElPTi4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24pOgorICAgICAg
ICBVcGRhdGUgY29kZSBnZW5lcmF0aW9uIHRvIG91dHB1dCBjb2RlIHRoYXQgY2FuIGhhbmRsZSBj
b25zdHJ1Y3RvcnMgdGhhdCByZXR1cm4gZWl0aGVyCisgICAgICAgIEV4Y2VwdGlvbk9yIG9yIG5v
dC4gTWFpbnRhaW4gZXhpc3Rpbmcgc3RhdGljIGFzc2VydGlvbiB0aGF0IHRoZSB1bmRlcmx5aW5n
IHJldHVybiB0eXBlCisgICAgICAgIGlzIGEgUmVmPD4gdXNpbmcgc3RkOjpjb25kaXRpb25hbF90
IHByZWRpY2F0ZWQgb24gSXNFeGNlcHRpb25PciBhbmQgbWFpbnRhaW4gdGhlIGV4aXN0aW5nCisg
ICAgICAgIG9wdGltaXphdGlvbiB0byBub3QgY2hlY2sgZm9yIGFuIGV4Y2VwdGlvbiBhZnRlciB0
b0pTTmV3bHlDcmVhdGVkIGlmIG9uZSBjb3VsZCBub3QgaGF2ZQorICAgICAgICBiZWVuIG1hZGUg
YnkgYWdhaW4gdXRpbGl6aW5nIElzRXhjZXB0aW9uT3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbjoKKyAgICAgICAgUmVtb3ZlIFtMZWdhY3lGYWN0b3J5
RnVuY3Rpb25NYXlUaHJvd0V4Y2VwdGlvbl0gbm93IHRoYXQgaXQgaXMgbm90IG5lZWRlZC4KKwor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleXMuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVz
L2ZldGNoL0ZldGNoUmVxdWVzdC5pZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJl
c3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
ci5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRs
OgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQnVmZmVyU291cmNlTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9BdWRpb0NvbnRleHQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vQmlxdWFk
RmlsdGVyTm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2Vy
Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2Rl
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0NvbnN0YW50U291cmNlTm9kZS5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Db252b2x2ZXJOb2RlLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL3dlYmF1ZGlvL0RlbGF5Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL0dhaW5Ob2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5v
ZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3Vy
Y2VOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9E
ZXN0aW5hdGlvbk5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vT2ZmbGlu
ZUF1ZGlvQ29udGV4dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9y
Tm9kZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9QYW5uZXJOb2RlLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5pZGw6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9TdGVyZW9QYW5uZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dl
YmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dl
YktpdEF1ZGlvQ29udGV4dC5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRP
ZmZsaW5lQXVkaW9Db250ZXh0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSUmlnaWRUcmFuc2Zvcm0u
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmlkbDoKKyAgICAg
ICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuaWRsOgorICAgICAgICAqIGNzcy9ET01NYXRy
aXguaWRsOgorICAgICAgICAqIGNzcy9ET01NYXRyaXhSZWFkT25seS5pZGw6CisgICAgICAgICog
Y3NzL1dlYktpdENTU01hdHJpeC5pZGw6CisgICAgICAgICogZG9tL1N0YXRpY1JhbmdlLmlkbDoK
KyAgICAgICAgKiBkb20vVGV4dERlY29kZXIuaWRsOgorICAgICAgICAqIGRvbS9UZXh0RGVjb2Rl
clN0cmVhbURlY29kZXIuaWRsOgorICAgICAgICAqIGh0bWwvRE9NVVJMLmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxPcHRpb25FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxl
bWVudC5pZGw6CisgICAgICAgICogaHRtbC9JbWFnZURhdGEuaWRsOgorICAgICAgICAqIGh0bWwv
VVJMU2VhcmNoUGFyYW1zLmlkbDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0N1ZS5p
ZGw6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5pZGw6CisgICAgICAgICogcGFnZS9JbnRl
cnNlY3Rpb25PYnNlcnZlci5pZGw6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuaWRsOgorICAg
ICAgICBSZW1vdmUgYWxsIHVzZXMgb2YgW0xlZ2FjeUZhY3RvcnlGdW5jdGlvbk1heVRocm93RXhj
ZXB0aW9uXSBhbmQgW01heVRocm93RXhjZXB0aW9uXQorICAgICAgICBvbiBjb25zdHJ1Y3RvcnMu
CisKKyAgICAgICAgKiBodG1sL0hUTUxBdWRpb0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEF1ZGlvRWxlbWVudDo6Y3JlYXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxBdWRpb0VsZW1lbnQ6OmNyZWF0ZUZvckpTQ29uc3RydWN0b3Ip
OiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTEF1ZGlvRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VF
bGVtZW50OjpjcmVhdGVGb3JMZWdhY3lGYWN0b3J5RnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6Y3JlYXRlRm9ySlNDb25zdHJ1Y3Rvcik6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6Y3Jl
YXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRp
b25FbGVtZW50OjpjcmVhdGVGb3JKU0NvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgUmVu
YW1lZCBjcmVhdGVGb3JKU0NvbnN0cnVjdG9yIHRvIGNyZWF0ZUZvckxlZ2FjeUZhY3RvcnlGdW5j
dGlvbiB0byBiZXR0ZXIKKyAgICAgICAgbWF0Y2ggY3VycmVudCBXZWJJREwgdGVybWlub2xvZ3ku
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNFeHBvc2VkVG9Xb3JrZXJB
bmRXaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNFeHBvc2VkVG9Xb3JrZXJBbmRXaW5k
b3dDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rl
c3RFdmVudENvbnN0cnVjdG9yQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TGVnYWN5RmFjdG9yeUZ1bmN0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbkxlZ2FjeUZhY3Rv
cnlGdW5jdGlvbjo6Y29uc3RydWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3ROb2RlQ29uc3RydWN0
b3I6OmNvbnN0cnVjdCk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RPYmpDb25zdHJ1Y3Rvcjo6Y29uc3Ry
dWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9ycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RKU1Rlc3RPdmVy
bG9hZGVkQ29uc3RydWN0b3JzMSk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RKU1Rlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzMik6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RKU1Rl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzMyk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1Y3RK
U1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNCk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdHJ1
Y3RKU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzNSk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0SlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9y
c1dpdGhTZXF1ZW5jZTEpOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3RydWN0SlNUZXN0T3Zlcmxv
YWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZTIpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SlNUZXN0UHJvbWlzZVJlamVjdGlvbkV2ZW50Q29uc3RydWN0b3I6OmNvbnN0cnVjdCk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdFR5cGVkZWZzQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rp
b24uaWRsOgorICAgICAgICBVcGRhdGUgdGVzdHMvZXhwZWN0YXRpb25zLgorCiAyMDIwLTA5LTEz
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBSZW1v
dmUgbmVlZCBmb3IgW01heVRocm93RXhjZXB0aW9uXSBvbiBpbmRleGVkIGFuZCBuYW1lZCBzZXR0
ZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lv
bi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb24uaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcg
KzI5LDcgQEAKICAgICBFbmFibGVkQnlTZXR0aW5nPUFwcGxlUGF5LAogICAgIEVuYWJsZWRGb3JD
b250ZXh0LAogXSBpbnRlcmZhY2UgQXBwbGVQYXlTZXNzaW9uIDogRXZlbnRUYXJnZXQgewotICAg
IFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKHVuc2ln
bmVkIGxvbmcgdmVyc2lvbiwgQXBwbGVQYXlQYXltZW50UmVxdWVzdCBwYXltZW50UmVxdWVzdCk7
CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSBjb25zdHJ1Y3Rvcih1bnNpZ25lZCBsb25nIHZlcnNp
b24sIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QgcGF5bWVudFJlcXVlc3QpOwogCiAgICAgY29uc3Qg
dW5zaWduZWQgc2hvcnQgU1RBVFVTX1NVQ0NFU1MgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IFNUQVRVU19GQUlMVVJFID0gMTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5cy5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlz
LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcs
NyArMjcsNyBAQAogICAgIENvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUEsCiAgICAg
RW5hYmxlZEJ5U2V0dGluZz1MZWdhY3lFbmNyeXB0ZWRNZWRpYUFQSSwKIF0gaW50ZXJmYWNlIFdl
YktpdE1lZGlhS2V5cyB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihET01T
dHJpbmcga2V5U3lzdGVtKTsKKyAgICBjb25zdHJ1Y3RvcihET01TdHJpbmcga2V5U3lzdGVtKTsK
IAogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJvd0V4Y2VwdGlv
bl0gV2ViS2l0TWVkaWFLZXlTZXNzaW9uIGNyZWF0ZVNlc3Npb24oRE9NU3RyaW5nIHR5cGUsIFVp
bnQ4QXJyYXkgaW5pdERhdGEpOwogICAgIHN0YXRpYyBib29sZWFuIGlzVHlwZVN1cHBvcnRlZChE
T01TdHJpbmcga2V5U3lzdGVtLCBvcHRpb25hbCBET01TdHJpbmcgdHlwZSk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsCShyZXZpc2lvbiAy
NjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVycy5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgdHlwZWRlZiAoc2VxdWVuY2U8c2VxdWVu
Y2U8Qnl0ZVN0cmluZz4+IAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50
ZXJmYWNlTmFtZT1IZWFkZXJzLAogXSBpbnRlcmZhY2UgRmV0Y2hIZWFkZXJzIHsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEhlYWRlcnNJbml0IGluaXQpOwor
ICAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEhlYWRlcnNJbml0IGluaXQpOwogCiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSB1bmRlZmluZWQgYXBwZW5kKEJ5dGVTdHJpbmcgbmFtZSwgQnl0ZVN0cmlu
ZyB2YWx1ZSk7CiAgICAgW01heVRocm93RXhjZXB0aW9uLCBJbXBsZW1lbnRlZEFzPXJlbW92ZV0g
dW5kZWZpbmVkIGRlbGV0ZShCeXRlU3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysg
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0zOSw3ICszOSw3IEBAIHR5cGVkZWYgKEJsb2Igb3IgQnVmZmVyU291cmNlIG9yIERP
TUZvcm0KICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGwsCiAgICAgSW50ZXJmYWNlTmFtZT1S
ZXF1ZXN0LAogXSBpbnRlcmZhY2UgRmV0Y2hSZXF1ZXN0IHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKFJlcXVlc3RJ
bmZvIGlucHV0LCBvcHRpb25hbCBGZXRjaFJlcXVlc3RJbml0IGluaXQpOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihSZXF1ZXN0SW5mbyBpbnB1dCwg
b3B0aW9uYWwgRmV0Y2hSZXF1ZXN0SW5pdCBpbml0KTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBCeXRlU3RyaW5nIG1ldGhvZDsKICAgICBbSW1wbGVtZW50ZWRBcz11cmxTdHJpbmddIHJlYWRv
bmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdXJsOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw3ICs0NCw3IEBAIGRpY3Rpb25hcnkgRmV0Y2hSZXNwb25zZUluaXQgewogICAgIEV4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEludGVyZmFjZU5hbWU9UmVzcG9uc2UsCiBdIGlu
dGVyZmFjZSBGZXRjaFJlc3BvbnNlIHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEJvZHlJbml0PyBi
b2R5ID0gbnVsbCwgb3B0aW9uYWwgRmV0Y2hSZXNwb25zZUluaXQgaW5pdCk7CisgICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEJvZHlJbml0
PyBib2R5ID0gbnVsbCwgb3B0aW9uYWwgRmV0Y2hSZXNwb25zZUluaXQgaW5pdCk7CiAKICAgICBb
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTmV3T2JqZWN0XSBzdGF0aWMgRmV0Y2hS
ZXNwb25zZSBlcnJvcigpOwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBN
YXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBzdGF0aWMgRmV0Y2hSZXNwb25zZSByZWRpcmVj
dChVU1ZTdHJpbmcgdXJsLCBvcHRpb25hbCB1bnNpZ25lZCBzaG9ydCBzdGF0dXMgPSAzMDIpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw3ICszMCw3IEBAIGVudW0gUmVjb3JkaW5nU3RhdGUgeyAiaW5hY3RpdmUiLCAicmVjb3IKICAg
ICBFbmFibGVkQnlTZXR0aW5nPU1lZGlhUmVjb3JkZXIsCiAgICAgRXhwb3NlZD1XaW5kb3cKIF0g
aW50ZXJmYWNlIE1lZGlhUmVjb3JkZXIgOiBFdmVudFRhcmdldCB7Ci0gICAgW0NhbGxXaXRoPURv
Y3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoTWVkaWFTdHJlYW0gc3RyZWFt
LCBvcHRpb25hbCBNZWRpYVJlY29yZGVyT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9
RG9jdW1lbnRdIGNvbnN0cnVjdG9yKE1lZGlhU3RyZWFtIHN0cmVhbSwgb3B0aW9uYWwgTWVkaWFS
ZWNvcmRlck9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGNvbW1l
bnRlZCBvdXQgbWV0aG9kcy9hdHRyaWJ1dGVzLgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNhbmRpZGF0ZS5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENJY2VDYW5kaWRhdGUuaWRsCShyZXZpc2lv
biAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0ljZUNh
bmRpZGF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcgQEAKICAgICBFbmFibGVk
QXRSdW50aW1lPVBlZXJDb25uZWN0aW9uLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CiBdIGludGVyZmFjZSBSVENJY2VDYW5kaWRhdGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
Y29uc3RydWN0b3IoUlRDSWNlQ2FuZGlkYXRlSW5pdCBjYW5kaWRhdGVJbml0RGljdCk7CisgICAg
Y29uc3RydWN0b3IoUlRDSWNlQ2FuZGlkYXRlSW5pdCBjYW5kaWRhdGVJbml0RGljdCk7CiAKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNhbmRpZGF0ZTsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nPyBzZHBNaWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbAkocmV2aXNp
b24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcgKzc2LDcgQEAgdHlwZWRlZiAo
b2JqZWN0IG9yIERPTVN0cmluZykgQWxnb3JpdGhtSQogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVl
ckNvbm5lY3Rpb24sCiAgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiBdIGludGVyZmFj
ZSBSVENQZWVyQ29ubmVjdGlvbiA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdpdGg9RG9jdW1l
bnQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihvcHRpb25hbCBSVENDb25maWd1cmF0
aW9uIGNvbmZpZ3VyYXRpb24pOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gY29uc3RydWN0b3Io
b3B0aW9uYWwgUlRDQ29uZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKTsKIAogICAgIC8vIDQuMy4y
IEludGVyZmFjZSBEZWZpbml0aW9uCiAgICAgUHJvbWlzZTxSVENTZXNzaW9uRGVzY3JpcHRpb25J
bml0PiBjcmVhdGVPZmZlcihvcHRpb25hbCBSVENPZmZlck9wdGlvbnMgb2ZmZXJPcHRpb25zKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5
bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsCShyZXZpc2lvbiAyNjY5OTkp
CisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogICAgIEV4cG9z
ZWQ9V2luZG93LAogICAgIFNlY3VyZUNvbnRleHQsCiBdIGludGVyZmFjZSBNZXJjaGFudFZhbGlk
YXRpb25FdmVudCA6IEV2ZW50IHsKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnQsIE1heVRocm93RXhj
ZXB0aW9uXSBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0g
Y29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIE1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50SW5pdCBldmVudEluaXREaWN0KTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgbWV0aG9kTmFtZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHZhbGlkYXRp
b25VUkw7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1l
bnRSZXF1ZXN0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICAgICBFbmFibGVkRm9yQ29udGV4dCwKICAgICBT
ZWN1cmVDb250ZXh0LAogXSBpbnRlcmZhY2UgUGF5bWVudFJlcXVlc3QgOiBFdmVudFRhcmdldCB7
Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Io
c2VxdWVuY2U8UGF5bWVudE1ldGhvZERhdGE+IG1ldGhvZERhdGEsIFBheW1lbnREZXRhaWxzSW5p
dCBkZXRhaWxzLCBvcHRpb25hbCBQYXltZW50T3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdp
dGg9RG9jdW1lbnRdIGNvbnN0cnVjdG9yKHNlcXVlbmNlPFBheW1lbnRNZXRob2REYXRhPiBtZXRo
b2REYXRhLCBQYXltZW50RGV0YWlsc0luaXQgZGV0YWlscywgb3B0aW9uYWwgUGF5bWVudE9wdGlv
bnMgb3B0aW9ucyk7CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIFByb21pc2U8UGF5bWVudFJl
c3BvbnNlPiBzaG93KG9wdGlvbmFsIFByb21pc2U8UGF5bWVudERldGFpbHNVcGRhdGU+IGRldGFp
bHNQcm9taXNlKTsKICAgICBQcm9taXNlPHVuZGVmaW5lZD4gYWJvcnQoKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FuYWx5c2VyTm9kZS5pZGwJKHJldmlz
aW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJO
b2RlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogICAgIENvbmRpdGlvbmFs
PVdFQl9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKIF0gaW50ZXJmYWNlIEFuYWx5
c2VyTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlT
ZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRpb0Nv
bnRleHQgY29udGV4dCwgb3B0aW9uYWwgQW5hbHlzZXJPcHRpb25zIG9wdGlvbnMpOworICAgIFtF
bmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJh
c2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQW5hbHlzZXJPcHRpb25zIG9wdGlvbnMp
OwogCiAgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZmZ0U2l6ZTsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBmcmVxdWVuY3lCaW5Db3VudDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCShyZXZpc2lvbiAy
NjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAogICAgIEpTR2VuZXJhdGVUb0pTT2Jq
ZWN0LAogICAgIFJlcG9ydEV4dHJhTWVtb3J5Q29zdCwKIF0gaW50ZXJmYWNlIEF1ZGlvQnVmZmVy
IHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVm
aXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvcihBdWRpb0J1ZmZlck9wdGlvbnMgb3B0aW9ucyk7Cisg
ICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3Rv
cihBdWRpb0J1ZmZlck9wdGlvbnMgb3B0aW9ucyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbGVuZ3RoOyAvLyBpbiBzYW1wbGUtZnJhbWVzCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGRvdWJsZSBkdXJhdGlvbjsgLy8gaW4gc2Vjb25kcwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBmbG9hdCBzYW1wbGVSYXRlOyAvLyBpbiBzYW1wbGUtZnJhbWVzIHBlciBzZWNvbmQKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2Rl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
QnVmZmVyU291cmNlTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNyArMjgsNyBAQAogICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKICAgICBKU0dl
bmVyYXRlVG9KU09iamVjdCwKIF0gaW50ZXJmYWNlIEF1ZGlvQnVmZmVyU291cmNlTm9kZSA6IEF1
ZGlvU2NoZWR1bGVkU291cmNlTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVk
QnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRp
b0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQXVkaW9CdWZmZXJTb3VyY2VPcHRpb25zIG9wdGlv
bnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29u
c3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQXVkaW9CdWZmZXJT
b3VyY2VPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgYXR0cmlidXRlIEF1ZGlvQnVmZmVyPyBidWZm
ZXI7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Q29udGV4dC5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBA
QAogICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAogICAgIEpTR2VuZXJhdGVUb05hdGl2
ZU9iamVjdCwKIF0gaW50ZXJmYWNlIEF1ZGlvQ29udGV4dCA6IEJhc2VBdWRpb0NvbnRleHQgewot
ICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9w
dGlvbmFsIEF1ZGlvQ29udGV4dE9wdGlvbnMgY29udGV4dE9wdGlvbnMpOworICAgIFtDYWxsV2l0
aD1Eb2N1bWVudF0gY29uc3RydWN0b3Iob3B0aW9uYWwgQXVkaW9Db250ZXh0T3B0aW9ucyBjb250
ZXh0T3B0aW9ucyk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGJhc2VMYXRlbmN5
OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZEZpbHRlck5v
ZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmlx
dWFkRmlsdGVyTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDcgKzI3LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRv
SlNPYmplY3QsCiBdIGludGVyZmFjZSBCaXF1YWRGaWx0ZXJOb2RlIDogQXVkaW9Ob2RlIHsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdl
YkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBC
aXF1YWRGaWx0ZXJPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVy
blVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4
dCwgb3B0aW9uYWwgQmlxdWFkRmlsdGVyT3B0aW9ucyBvcHRpb25zKTsKIAogICAgIGF0dHJpYnV0
ZSBCaXF1YWRGaWx0ZXJUeXBlIHR5cGU7CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmlkbAkocmV2aXNpb24g
MjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsTWVyZ2Vy
Tm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDUgKzMwLDUgQEAKICAgICBDb25kaXRpb25h
bD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIENoYW5u
ZWxNZXJnZXJOb2RlIDogQXVkaW9Ob2RlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJs
ZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1
ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBDaGFubmVsTWVyZ2VyT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0
cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIENoYW5uZWxNZXJnZXJP
cHRpb25zIG9wdGlvbnMpOwogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVk
aW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2OTk5
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9DaGFubmVsU3BsaXR0ZXJOb2Rl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNSArMjYsNSBAQAogICAgIENvbmRpdGlvbmFsPVdF
Ql9BVURJTywKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRlcmZhY2UgQ2hhbm5lbFNw
bGl0dGVyTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVk
QnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRp
b0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQ2hhbm5lbFNwbGl0dGVyT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0
cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIENoYW5uZWxTcGxpdHRl
ck9wdGlvbnMgb3B0aW9ucyk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9Db25zdGFudFNvdXJjZU5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQ29uc3RhbnRTb3VyY2VOb2RlLmlkbAkocmV2aXNpb24gMjY2OTk5
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Db25zdGFudFNvdXJjZU5vZGUu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QsCiAgICAgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW8KIF0g
aW50ZXJmYWNlIENvbnN0YW50U291cmNlTm9kZSA6IEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZSB7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBj
b250ZXh0LCBvcHRpb25hbCBDb25zdGFudFNvdXJjZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgY29u
c3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQ29uc3RhbnRTb3Vy
Y2VPcHRpb25zIG9wdGlvbnMpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIG9m
ZnNldDsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZl
ck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
Q29udm9sdmVyTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcg
KzI4LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QKIF0gaW50ZXJmYWNlIENvbnZvbHZlck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9d
IGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIENvbnZvbHZl
ck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhl
ZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25h
bCBDb252b2x2ZXJPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgYXR0cmlidXRlIEF1ZGlvQnVmZmVy
PyBidWZmZXI7CiAgICAgYXR0cmlidXRlIGJvb2xlYW4gbm9ybWFsaXplOwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmlkbAkocmV2aXNpb24gMjY2
OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElP
LAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CiBdIGludGVyZmFjZSBEZWxheU5vZGUgOiBBdWRp
b05vZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5V
bnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQs
IG9wdGlvbmFsIERlbGF5T3B0aW9ucyBvcHRpb25zKTsKKyAgICBbRW5hYmxlZEJ5U2V0dGluZz1N
b2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNv
bnRleHQsIG9wdGlvbmFsIERlbGF5T3B0aW9ucyBvcHRpb25zKTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBdWRpb1BhcmFtIGRlbGF5VGltZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5p
ZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
RHluYW1pY3NDb21wcmVzc29yTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcg
QEAKICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QK
IF0gaW50ZXJmYWNlIER5bmFtaWNzQ29tcHJlc3Nvck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVk
aW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIER5bmFt
aWNzQ29tcHJlc3Nvck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9TW9k
ZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250
ZXh0LCBvcHRpb25hbCBEeW5hbWljc0NvbXByZXNzb3JPcHRpb25zIG9wdGlvbnMpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gdGhyZXNob2xkOyAvLyBpbiBEZWNpYmVscwog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIGtuZWU7IC8vIGluIERlY2liZWxzCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbAkocmV2
aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9HYWluTm9k
ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICAgICBDb25kaXRpb25hbD1X
RUJfQVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIEdhaW5Ob2Rl
IDogQXVkaW9Ob2RlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRpbmc9
TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBj
b250ZXh0LCBvcHRpb25hbCBHYWluT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbRW5hYmxlZEJ5U2V0
dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250
ZXh0IGNvbnRleHQsIG9wdGlvbmFsIEdhaW5PcHRpb25zIG9wdGlvbnMpOwogCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZ2FpbjsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0lJUkZpbHRlck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5
OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vSUlSRmlsdGVyTm9kZS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDYgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVj
dCwKICAgICBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpbywKIF0gaW50
ZXJmYWNlIElJUkZpbHRlck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
biwgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoQmFzZUF1ZGlv
Q29udGV4dCBhdWRpb0NvbnRleHQsIElJUkZpbHRlck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0Nh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKEJhc2VBdWRpb0NvbnRl
eHQgYXVkaW9Db250ZXh0LCBJSVJGaWx0ZXJPcHRpb25zIG9wdGlvbnMpOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdW5kZWZpbmVkIGdldEZyZXF1ZW5jeVJlc3BvbnNlKEZsb2F0MzJBcnJheSBm
cmVxdWVuY3lIeiwgRmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLCBGbG9hdDMyQXJyYXkgcGhhc2VS
ZXNwb25zZSk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRp
YUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmlkbAkocmV2aXNp
b24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1l
bnRBdWRpb1NvdXJjZU5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAg
ICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPJlZJREVPLAogICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0
CiBdIGludGVyZmFjZSBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgOiBBdWRpb05vZGUgewot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVk
V2ViQXVkaW9dIGNvbnN0cnVjdG9yIChBdWRpb0NvbnRleHQgY29udGV4dCwgTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVy
blVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEF1ZGlvQ29udGV4dCBjb250ZXh0LCBN
ZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU9wdGlvbnMgb3B0aW9ucyk7CiAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgSFRNTE1lZGlhRWxlbWVudCBtZWRpYUVsZW1lbnQ7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlh
U3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5v
ZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw2IEBACiAgICAgQ29uZGl0aW9uYWw9
V0VCX0FVRElPJk1FRElBX1NUUkVBTSwKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdAogXSBpbnRl
cmZhY2UgTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gICAg
W01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJB
dWRpb10gY29uc3RydWN0b3IgKEF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBBdWRpb05v
ZGVPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4
ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBB
dWRpb05vZGVPcHRpb25zIG9wdGlvbnMpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVN0
cmVhbSBzdHJlYW07CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9N
ZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGwJKHJldmlz
aW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJl
YW1BdWRpb1NvdXJjZU5vZGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAg
ICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPJk1FRElBX1NUUkVBTSwKICAgICBKU0dlbmVyYXRlVG9K
U09iamVjdAogXSBpbnRlcmZhY2UgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUgOiBBdWRpb05v
ZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnBy
ZWZpeGVkV2ViQXVkaW9dIGNvbnN0cnVjdG9yIChBdWRpb0NvbnRleHQgY29udGV4dCwgTWVkaWFT
dHJlYW1BdWRpb1NvdXJjZU9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9
TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQXVkaW9Db250ZXh0IGNvbnRl
eHQsIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtIG1lZGlhU3RyZWFtOwogfTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0
LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9PZmZsaW5lQXVkaW9Db250ZXh0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsOCArMjcsOCBA
QAogICAgIEVuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvLAogICAgIEpT
R2VuZXJhdGVUb0pTT2JqZWN0LAogXSBpbnRlcmZhY2UgT2ZmbGluZUF1ZGlvQ29udGV4dCA6IEJh
c2VBdWRpb0NvbnRleHQgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoT2ZmbGluZUF1ZGlvQ29udGV4dE9wdGlvbnMg
Y29udGV4dE9wdGlvbnMpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IodW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5u
ZWxzLCB1bnNpZ25lZCBsb25nIGxlbmd0aCwgZmxvYXQgc2FtcGxlUmF0ZSk7CisgICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKE9mZmxpbmVBdWRpb0NvbnRl
eHRPcHRpb25zIGNvbnRleHRPcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gY29uc3RydWN0b3IodW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxzLCB1bnNp
Z25lZCBsb25nIGxlbmd0aCwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAgICAgCiAgICAgW0ltcGxlbWVu
dGVkQXM9c3RhcnRPZmZsaW5lUmVuZGVyaW5nXSBQcm9taXNlPEF1ZGlvQnVmZmVyPiBzdGFydFJl
bmRlcmluZygpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09zY2ls
bGF0b3JOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL09zY2lsbGF0b3JOb2RlLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDcgKzI4LDcgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBBY3RpdmVET01P
YmplY3QsCiBdIGludGVyZmFjZSBPc2NpbGxhdG9yTm9kZSA6IEF1ZGlvU2NoZWR1bGVkU291cmNl
Tm9kZSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBFbmFibGVkQnlTZXR0aW5nPU1vZGVyblVu
cHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwg
b3B0aW9uYWwgT3NjaWxsYXRvck9wdGlvbnMgb3B0aW9ucyk7CisgICAgW0VuYWJsZWRCeVNldHRp
bmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4
dCBjb250ZXh0LCBvcHRpb25hbCBPc2NpbGxhdG9yT3B0aW9ucyBvcHRpb25zKTsKIAogICAgIGF0
dHJpYnV0ZSBPc2NpbGxhdG9yVHlwZSB0eXBlOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDcgKzI3LDcgQEAKICAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKICAgICBFbmFi
bGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpbywKIF0gaW50ZXJmYWNlIFBhbm5l
ck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Ig
KEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgUGFubmVyT3B0aW9ucyBvcHRpb25z
KTsKKyAgICBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBQ
YW5uZXJPcHRpb25zIG9wdGlvbnMpOwogCiAgICAgLy8gRGVmYXVsdCBtb2RlbCBmb3Igc3RlcmVv
IGlzIGVxdWFscG93ZXIKICAgICBhdHRyaWJ1dGUgUGFubmluZ01vZGVsVHlwZSBwYW5uaW5nTW9k
ZWw7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1BlcmlvZGljV2F2ZS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9QZXJpb2Rp
Y1dhdmUuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL1BlcmlvZGljV2F2ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDUgKzI3LDUgQEAK
ICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZQogXSBpbnRlcmZhY2UgUGVyaW9kaWNXYXZlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVu
YWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvcihCYXNl
QXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIFBlcmlvZGljV2F2ZU9wdGlvbnMgb3B0aW9u
cyk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25z
dHJ1Y3RvcihCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIFBlcmlvZGljV2F2ZU9w
dGlvbnMgb3B0aW9ucyk7CiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9TdGVyZW9QYW5uZXJOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1N0ZXJlb1Bhbm5lck5vZGUuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw2IEBACiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCiAg
ICAgRW5hYmxlZEJ5U2V0dGluZz1Nb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW8KIF0gaW50ZXJmYWNl
IFN0ZXJlb1Bhbm5lck5vZGUgOiBBdWRpb05vZGUgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
Y29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgU3RlcmVvUGFu
bmVyT3B0aW9ucyBvcHRpb25zKTsKKyAgICBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBj
b250ZXh0LCBvcHRpb25hbCBTdGVyZW9QYW5uZXJPcHRpb25zIG9wdGlvbnMpOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIHBhbjsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbAkocmV2aXNpb24gMjY2
OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyTm9kZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICAgICBDb25kaXRpb25hbD1XRUJf
QVVESU8sCiAgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKIF0gaW50ZXJmYWNlIFdhdmVTaGFwZXJO
b2RlIDogQXVkaW9Ob2RlIHsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIEVuYWJsZWRCeVNldHRp
bmc9TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvXSBjb25zdHJ1Y3RvcihCYXNlQXVkaW9Db250ZXh0
IGNvbnRleHQsIG9wdGlvbmFsIFdhdmVTaGFwZXJPcHRpb25zIG9wdGlvbnMpOworICAgIFtFbmFi
bGVkQnlTZXR0aW5nPU1vZGVyblVucHJlZml4ZWRXZWJBdWRpb10gY29uc3RydWN0b3IoQmFzZUF1
ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBXYXZlU2hhcGVyT3B0aW9ucyBvcHRpb25zKTsK
IAogICAgIGF0dHJpYnV0ZSBGbG9hdDMyQXJyYXk/IGN1cnZlOwogICAgIGF0dHJpYnV0ZSBPdmVy
U2FtcGxlVHlwZSBvdmVyc2FtcGxlOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9XZWJLaXRBdWRpb0NvbnRleHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vV2ViS2l0QXVkaW9Db250ZXh0LmlkbAkocmV2aXNpb24gMjY2OTk5
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XZWJLaXRBdWRpb0NvbnRleHQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAgICAgRXhwb3J0TWFjcm89V0VC
Q09SRV9FWFBPUlQsCiAgICAgSW50ZXJmYWNlTmFtZT13ZWJraXRBdWRpb0NvbnRleHQsCiBdIGlu
dGVyZmFjZSBXZWJLaXRBdWRpb0NvbnRleHQgOiBFdmVudFRhcmdldCB7Ci0gICAgW0NhbGxXaXRo
PURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoKTsKKyAgICBbQ2FsbFdp
dGg9RG9jdW1lbnRdIGNvbnN0cnVjdG9yKCk7CiAKICAgICAvLyBBbGwgcmVuZGVyZWQgYXVkaW8g
dWx0aW1hdGVseSBjb25uZWN0cyB0byBkZXN0aW5hdGlvbiwgd2hpY2ggcmVwcmVzZW50cyB0aGUg
YXVkaW8gaGFyZHdhcmUuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvRGVzdGluYXRpb25O
b2RlIGRlc3RpbmF0aW9uOwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9X
ZWJLaXRPZmZsaW5lQXVkaW9Db250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9mZmxpbmVBdWRpb0NvbnRleHQuaWRsCShyZXZpc2lv
biAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dlYktpdE9mZmxp
bmVBdWRpb0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw1ICsyOCw1IEBACiAgICAg
SW50ZXJmYWNlTmFtZT13ZWJraXRPZmZsaW5lQXVkaW9Db250ZXh0LAogICAgIEpTR2VuZXJhdGVU
b0pTT2JqZWN0LAogXSBpbnRlcmZhY2UgV2ViS2l0T2ZmbGluZUF1ZGlvQ29udGV4dCA6IFdlYktp
dEF1ZGlvQ29udGV4dCB7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1h
eVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3Rvcih1bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5l
bHMsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZGcmFtZXMsIHVucmVzdHJpY3RlZCBmbG9hdCBzYW1w
bGVSYXRlKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0
b3IodW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxzLCB1bnNpZ25lZCBsb25nIG51bWJlck9m
RnJhbWVzLCB1bnJlc3RyaWN0ZWQgZmxvYXQgc2FtcGxlUmF0ZSk7CiB9OwpJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwJKHJldmlzaW9u
IDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICszNCw4IEBACiAgICAgRXhwb3NlZD0oV2luZG93
LFdvcmtlciksCiAgICAgRW5hYmxlZEF0UnVudGltZT1XZWJTb2NrZXQKIF0gaW50ZXJmYWNlIFdl
YlNvY2tldCA6IEV2ZW50VGFyZ2V0IHsKLSAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKFVTVlN0cmluZyB1cmwsIG9wdGlv
bmFsIHNlcXVlbmNlPERPTVN0cmluZz4gcHJvdG9jb2xzID0gW10pOwotICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoVVNW
U3RyaW5nIHVybCwgRE9NU3RyaW5nIHByb3RvY29sKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3IoVVNWU3RyaW5nIHVybCwgb3B0aW9uYWwgc2VxdWVu
Y2U8RE9NU3RyaW5nPiBwcm90b2NvbHMgPSBbXSk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRdIGNvbnN0cnVjdG9yKFVTVlN0cmluZyB1cmwsIERPTVN0cmluZyBwcm90b2Nv
bCk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIFVSTDsgLy8gTG93ZXJjYXNl
ZCAudXJsIGlzIHRoZSBvbmUgaW4gdGhlIHNwZWMsIGJ1dCBsZWF2aW5nIC5VUkwgZm9yIGNvbXBh
dGliaWxpdHkgcmVhc29ucy4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHVybDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJSaWdpZFRyYW5zZm9ybS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlJpZ2lk
VHJhbnNmb3JtLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUlJpZ2lkVHJhbnNmb3JtLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyAr
MzEsNyBAQAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFt
ZT1YUlJpZ2lkVHJhbnNmb3JtCiBdIGludGVyZmFjZSBXZWJYUlJpZ2lkVHJhbnNmb3JtIHsKLSAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVBvaW50SW5pdCBw
b3NpdGlvbiwgb3B0aW9uYWwgRE9NUG9pbnRJbml0IG9yaWVudGF0aW9uKTsKKyAgICBjb25zdHJ1
Y3RvcihvcHRpb25hbCBET01Qb2ludEluaXQgcG9zaXRpb24sIG9wdGlvbmFsIERPTVBvaW50SW5p
dCBvcmllbnRhdGlvbik7CiAKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERP
TVBvaW50UmVhZE9ubHkgcG9zaXRpb247CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01Qb2ludFJlYWRPbmx5IG9yaWVudGF0aW9uOwpJbmRleDogU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUldlYkdMTGF5ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmlkbAkocmV2aXNpb24gMjY2OTk5
KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUldlYkdMTGF5ZXIuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIHR5cGVkZWYgKFdlYkdMUmVuZGVyaW5nQ29u
dGV4dCkgV2ViWFJXZWIKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiAgICAgSW50ZXJm
YWNlTmFtZT1YUldlYkdMTGF5ZXIKIF0gaW50ZXJmYWNlIFdlYlhSV2ViR0xMYXllciA6IFdlYlhS
TGF5ZXIgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoV2ViWFJTZXNzaW9u
IHNlc3Npb24sIFdlYlhSV2ViR0xSZW5kZXJpbmdDb250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIFhS
V2ViR0xMYXllckluaXQgbGF5ZXJJbml0KTsKKyAgICBjb25zdHJ1Y3RvcihXZWJYUlNlc3Npb24g
c2Vzc2lvbiwgV2ViWFJXZWJHTFJlbmRlcmluZ0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgWFJX
ZWJHTExheWVySW5pdCBsYXllckluaXQpOwogCiAgICAgLy8gQXR0cmlidXRlcwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGFudGlhbGlhczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MzAsOCArMzAsOCBAQCB0eXBlZGVmIFVTVlN0cmluZyBDU1NPTVN0cmluZzsKICAgICBFeHBvc2Vk
PVdpbmRvdywKICAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCiBdIGludGVyZmFjZSBLZXlm
cmFtZUVmZmVjdCA6IEFuaW1hdGlvbkVmZmVjdCB7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKEVsZW1lbnQ/IHRhcmdldCwgb2JqZWN0
PyBrZXlmcmFtZXMsIG9wdGlvbmFsICh1bnJlc3RyaWN0ZWQgZG91YmxlIG9yIEtleWZyYW1lRWZm
ZWN0T3B0aW9ucykgb3B0aW9ucyk7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVjdCwgTWF5VGhy
b3dFeGNlcHRpb25dIGNvbnN0cnVjdG9yKEtleWZyYW1lRWZmZWN0IHNvdXJjZSk7CisgICAgW0Nh
bGxXaXRoPUdsb2JhbE9iamVjdF0gY29uc3RydWN0b3IoRWxlbWVudD8gdGFyZ2V0LCBvYmplY3Q/
IGtleWZyYW1lcywgb3B0aW9uYWwgKHVucmVzdHJpY3RlZCBkb3VibGUgb3IgS2V5ZnJhbWVFZmZl
Y3RPcHRpb25zKSBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0XSBjb25zdHJ1
Y3RvcihLZXlmcmFtZUVmZmVjdCBzb3VyY2UpOwogCiAgICAgYXR0cmlidXRlIEVsZW1lbnQ/IHRh
cmdldDsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGF0dHJpYnV0ZSBDU1NPTVN0cmluZz8gcHNl
dWRvRWxlbWVudDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQWJzdHJh
Y3RPcGVyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5
KQpAQCAtMTIzLDcgKzEyMyw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+IGJvb2wgcGVy
Zm9ybUwKIHsKICAgICB1c2luZyBSZXR1cm5UeXBlID0gc3RkOjppbnZva2VfcmVzdWx0X3Q8RnVu
Y3Rvcj47CiAKLSAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8UmV0dXJuVHlwZT46OnZh
bHVlKSB7CisgICAgaWYgY29uc3RleHByIChJc0V4Y2VwdGlvbk9yPFJldHVyblR5cGU+KSB7CiAg
ICAgICAgIGF1dG8gcmVzdWx0ID0gZnVuY3RvcigpOwogICAgICAgICBpZiAocmVzdWx0Lmhhc0V4
Y2VwdGlvbigpKSB7CiAgICAgICAgICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydEJhc2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnRCYXNlLmgJKHJldmlzaW9uIDI2Njk5
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydEJhc2UuaAkod29y
a2luZyBjb3B5KQpAQCAtOTQsMTIgKzk0LDEyIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVu
YW1lIFU+IGlubGluZSAKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBK
U0M6OkpTVmFsdWUgdG9KUyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgVSYmKTsKIHRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkpTR2xv
YmFsT2JqZWN0JiwgSlNET01HbG9iYWxPYmplY3QmLCBVJiYpOwogdGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgVT4gaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
SlNHbG9iYWxPYmplY3QmLCBKU0RPTUdsb2JhbE9iamVjdCYsIFUmJik7Ci10ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3Qm
LCBKU0M6OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRpb25P
cjxVPjo6dmFsdWUsIEpTQzo6SlNWYWx1ZT47Ci10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0M6OlRocm93U2Nv
cGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8IUlzRXhjZXB0aW9uT3I8VT46OnZhbHVlLCBK
U0M6OkpTVmFsdWU+OwotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1
dG8gdG9KUyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNET01HbG9iYWxPYmplY3QmLCBKU0M6OlRo
cm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRpb25PcjxVPjo6dmFs
dWUsIEpTQzo6SlNWYWx1ZT47Ci10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxp
bmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0RPTUdsb2JhbE9iamVjdCYsIEpT
Qzo6VGhyb3dTY29wZSYsIFUmJikgLT4gc3RkOjplbmFibGVfaWZfdDwhSXNFeGNlcHRpb25PcjxV
Pjo6dmFsdWUsIEpTQzo6SlNWYWx1ZT47Ci10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBV
PiBpbmxpbmUgYXV0byB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBKU0RP
TUdsb2JhbE9iamVjdCYsIEpTQzo6VGhyb3dTY29wZSYsIFUmJikgLT4gc3RkOjplbmFibGVfaWZf
dDxJc0V4Y2VwdGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPjsKLXRlbXBsYXRlPHR5cGVu
YW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0ds
b2JhbE9iamVjdCYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmKSAt
PiBzdGQ6OmVuYWJsZV9pZl90PCFJc0V4Y2VwdGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVl
PjsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlMoSlND
OjpKU0dsb2JhbE9iamVjdCYsIEpTQzo6VGhyb3dTY29wZSYsIFUmJikgLT4gc3RkOjplbmFibGVf
aWZfdDxJc0V4Y2VwdGlvbk9yPFU+LCBKU0M6OkpTVmFsdWU+OwordGVtcGxhdGU8dHlwZW5hbWUg
VCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1dG8gdG9KUyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlND
OjpUaHJvd1Njb3BlJiwgVSYmKSAtPiBzdGQ6OmVuYWJsZV9pZl90PCFJc0V4Y2VwdGlvbk9yPFU+
LCBKU0M6OkpTVmFsdWU+OwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5l
IGF1dG8gdG9KUyhKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNET01HbG9iYWxPYmplY3QmLCBKU0M6
OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRpb25PcjxVPiwg
SlNDOjpKU1ZhbHVlPjsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBh
dXRvIHRvSlMoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpU
aHJvd1Njb3BlJiwgVSYmKSAtPiBzdGQ6OmVuYWJsZV9pZl90PCFJc0V4Y2VwdGlvbk9yPFU+LCBK
U0M6OkpTVmFsdWU+OwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1
dG8gdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNET01HbG9iYWxPYmpl
Y3QmLCBKU0M6OlRocm93U2NvcGUmLCBVJiYpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8SXNFeGNlcHRp
b25PcjxVPiwgSlNDOjpKU1ZhbHVlPjsKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+
IGlubGluZSBhdXRvIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCYsIEpTRE9N
R2xvYmFsT2JqZWN0JiwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmKSAtPiBzdGQ6OmVuYWJsZV9pZl90
PCFJc0V4Y2VwdGlvbk9yPFU+LCBKU0M6OkpTVmFsdWU+OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
LCBib29sIG5lZWRzU3RhdGUgPSBKU0NvbnZlcnRlcjxUPjo6bmVlZHNTdGF0ZSwgYm9vbCBuZWVk
c0dsb2JhbE9iamVjdCA9IEpTQ29udmVydGVyPFQ+OjpuZWVkc0dsb2JhbE9iamVjdD4KIHN0cnVj
dCBKU0NvbnZlcnRlck92ZXJsb2FkZXI7CkBAIC0xNTgsNyArMTU4LDcgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIAogICAgIHJldHVybiBKU0NvbnZlcnRlcjxUPjo6
Y29udmVydE5ld2x5Q3JlYXRlZChsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIHN0
ZDo6Zm9yd2FyZDxVPih2YWx1ZSkpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFt
ZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVu
YWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT46OnZhbHVlLCBKU0M6OkpTVmFsdWU+Cit0ZW1wbGF0
ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxP
YmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSwg
VSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT4sIEpTQzo6SlNW
YWx1ZT4KIHsKICAgICBpZiAoVU5MSUtFTFkodmFsdWUuaGFzRXhjZXB0aW9uKCkpKSB7CiAgICAg
ICAgIHByb3BhZ2F0ZUV4Y2VwdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCB2
YWx1ZS5yZWxlYXNlRXhjZXB0aW9uKCkpOwpAQCAtMTY4LDEyICsxNjgsMTIgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIAogICAgIHJldHVybiB0b0pTPFQ+KGxleGlj
YWxHbG9iYWxPYmplY3QsIHZhbHVlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKIH0KIAotdGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1dG8gdG9KUyhKU0M6OkpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmLCBVJiYgdmFsdWUp
IC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8IUlzRXhjZXB0aW9uT3I8VT46OnZhbHVlLCBKU0M6OkpTVmFs
dWU+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0byB0b0pTKEpT
Qzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYs
IFUmJiB2YWx1ZSkgLT4gc3RkOjplbmFibGVfaWZfdDwhSXNFeGNlcHRpb25PcjxVPiwgSlNDOjpK
U1ZhbHVlPgogewogICAgIHJldHVybiB0b0pTPFQ+KGxleGljYWxHbG9iYWxPYmplY3QsIHN0ZDo6
Zm9yd2FyZDxVPih2YWx1ZSkpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBV
PiBpbmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhy
b3dTY29wZSwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT46
OnZhbHVlLCBKU0M6OkpTVmFsdWU+Cit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBp
bmxpbmUgYXV0byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dT
Y29wZSwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PElzRXhjZXB0aW9uT3I8VT4sIEpT
Qzo6SlNWYWx1ZT4KIHsKICAgICBpZiAoVU5MSUtFTFkodmFsdWUuaGFzRXhjZXB0aW9uKCkpKSB7
CiAgICAgICAgIHByb3BhZ2F0ZUV4Y2VwdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Nj
b3BlLCB2YWx1ZS5yZWxlYXNlRXhjZXB0aW9uKCkpOwpAQCAtMTgzLDEyICsxODMsMTIgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIAogICAgIHJldHVybiB0b0pTPFQ+
KGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgdmFsdWUucmVsZWFzZVJldHVyblZh
bHVlKCkpOwogfQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgYXV0
byB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYsIFUmJiB2YWx1ZSkgLT4g
c3RkOjplbmFibGVfaWZfdDwhSXNFeGNlcHRpb25PcjxVPjo6dmFsdWUsIEpTQzo6SlNWYWx1ZT4K
K3RlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlMoSlNDOjpK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9p
Zl90PCFJc0V4Y2VwdGlvbk9yPFU+LCBKU0M6OkpTVmFsdWU+CiB7CiAgICAgcmV0dXJuIHRvSlM8
VD4obGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBzdGQ6OmZvcndhcmQ8VT4odmFs
dWUpKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGF1dG8g
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHRocm93
U2NvcGUsIFUmJiB2YWx1ZSkgLT4gc3RkOjplbmFibGVfaWZfdDxJc0V4Y2VwdGlvbk9yPFU+Ojp2
YWx1ZSwgSlNDOjpKU1ZhbHVlPgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5s
aW5lIGF1dG8gdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2Nv
cGUmIHRocm93U2NvcGUsIFUmJiB2YWx1ZSkgLT4gc3RkOjplbmFibGVfaWZfdDxJc0V4Y2VwdGlv
bk9yPFU+LCBKU0M6OkpTVmFsdWU+CiB7CiAgICAgaWYgKFVOTElLRUxZKHZhbHVlLmhhc0V4Y2Vw
dGlvbigpKSkgewogICAgICAgICBwcm9wYWdhdGVFeGNlcHRpb24obGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhyb3dTY29wZSwgdmFsdWUucmVsZWFzZUV4Y2VwdGlvbigpKTsKQEAgLTE5OCw3ICsxOTgs
NyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVPiBpbmxpbmUgCiAgICAgcmV0dXJu
IHRvSlNOZXdseUNyZWF0ZWQ8VD4obGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCB2
YWx1ZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5
cGVuYW1lIFU+IGlubGluZSBhdXRvIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwg
SlNDOjpUaHJvd1Njb3BlJiwgVSYmIHZhbHVlKSAtPiBzdGQ6OmVuYWJsZV9pZl90PCFJc0V4Y2Vw
dGlvbk9yPFU+Ojp2YWx1ZSwgSlNDOjpKU1ZhbHVlPgordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgVT4gaW5saW5lIGF1dG8gdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0
JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBK
U0M6OlRocm93U2NvcGUmLCBVJiYgdmFsdWUpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8IUlzRXhjZXB0
aW9uT3I8VT4sIEpTQzo6SlNWYWx1ZT4KIHsKICAgICByZXR1cm4gdG9KU05ld2x5Q3JlYXRlZDxU
PihsZXhpY2FsR2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QsIHN0ZDo6Zm9yd2FyZDxVPih2YWx1
ZSkpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01FeGNlcHRpb25I
YW5kbGluZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
RXhjZXB0aW9uSGFuZGxpbmcuaAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01FeGNlcHRpb25IYW5kbGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC05
Myw3ICs5Myw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+IHZvaWQgaW52b2tlRnUKIHsK
ICAgICB1c2luZyBSZXR1cm5UeXBlID0gc3RkOjppbnZva2VfcmVzdWx0X3Q8RnVuY3Rvcj47CiAK
LSAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8UmV0dXJuVHlwZT46OnZhbHVlKSB7Cisg
ICAgaWYgY29uc3RleHByIChJc0V4Y2VwdGlvbk9yPFJldHVyblR5cGU+KSB7CiAgICAgICAgIGF1
dG8gcmVzdWx0ID0gZnVuY3RvcigpOwogICAgICAgICBpZiAoVU5MSUtFTFkocmVzdWx0Lmhhc0V4
Y2VwdGlvbigpKSkKICAgICAgICAgICAgIHByb3BhZ2F0ZUV4Y2VwdGlvbihsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aHJvd1Njb3BlLCByZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQkod29ya2luZyBjb3B5KQpAQCAtNzQ5MCwxNyArNzQ5MCwxMyBAQCBz
dWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24KIAogICAgICAgICAgICAgR2VuZXJhdGVB
cmd1bWVudHNDb3VudENoZWNrKCRvdXRwdXRBcnJheSwgJG9wZXJhdGlvbiwgJGludGVyZmFjZSwg
IiAgICAiKTsKIAotICAgICAgICAgICAgbXkgJGZ1bmN0aW9uSW1wbGVtZW50YXRpb25OYW1lID0g
JGdlbmVyYXRpbmdMZWdhY3lGYWN0b3J5RnVuY3Rpb24gPyAiY3JlYXRlRm9ySlNDb25zdHJ1Y3Rv
ciIgOiAiY3JlYXRlIjsKKyAgICAgICAgICAgIG15ICRmdW5jdGlvbkltcGxlbWVudGF0aW9uTmFt
ZSA9ICRnZW5lcmF0aW5nTGVnYWN5RmFjdG9yeUZ1bmN0aW9uID8gImNyZWF0ZUZvckxlZ2FjeUZh
Y3RvcnlGdW5jdGlvbiIgOiAiY3JlYXRlIjsKICAgICAgICAgICAgIG15ICRmdW5jdGlvblN0cmlu
ZyA9IEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrKCRvdXRwdXRBcnJheSwgJG9wZXJhdGlvbiwgJGlu
dGVyZmFjZSwgJGZ1bmN0aW9uSW1wbGVtZW50YXRpb25OYW1lLCAiICAgICIpOwogCiAgICAgICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgYXV0byBvYmplY3QgPSAke2Z1bmN0aW9uU3Ry
aW5nfTtcbiIpOwogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7XG4iKSBpZiAkY29kZUdl
bmVyYXRvci0+RXh0ZW5kZWRBdHRyaWJ1dGVDb250YWlucygkaW50ZXJmYWNlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPntDYWxsV2l0aH0sICJFeGVjU3RhdGUiKTsKLSAgICAgICAgICAgIGlmICgkaW50
ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntMZWdhY3lGYWN0b3J5RnVuY3Rpb25NYXlUaHJv
d0V4Y2VwdGlvbn0gfHwgJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57TWF5VGhyb3dF
eGNlcHRpb259KSB7Ci0gICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHN0
YXRpY19hc3NlcnQoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6dmFsdWUpO1xuIik7
Ci0gICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHN0YXRpY19hc3NlcnQo
ZGVjbHR5cGUob2JqZWN0KTo6UmV0dXJuVHlwZTo6aXNSZWYpO1xuIik7Ci0gICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBzdGF0aWNf
YXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6OmlzUmVmKTtcbiIpOwotICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgc3RhdGljX2Fzc2VydChUeXBlT3JF
eGNlcHRpb25PclVuZGVybHlpbmdUeXBlPGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7XG4iKTsK
IAogICAgICAgICAgICAgbXkgJElETFR5cGUgPSBHZXRJRExUeXBlKCRpbnRlcmZhY2UsICRpbnRl
cmZhY2UtPnR5cGUpOwogICAgICAgICAgICAgbXkgJGltcGxUeXBlID0gR2V0SW1wbENsYXNzTmFt
ZSgkaW50ZXJmYWNlKTsKQEAgLTc1MTAsMTIgKzc1MDYsMTMgQEAgc3ViIEdlbmVyYXRlQ29uc3Ry
dWN0b3JEZWZpbml0aW9uCiAgICAgICAgICAgICBteSBAY29uc3RydWN0aW9uQ29udmVyc2lvbkFy
Z3VtZW50cyA9ICgpOwogICAgICAgICAgICAgcHVzaChAY29uc3RydWN0aW9uQ29udmVyc2lvbkFy
Z3VtZW50cywgIipsZXhpY2FsR2xvYmFsT2JqZWN0Iik7CiAgICAgICAgICAgICBwdXNoKEBjb25z
dHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAiKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
Iik7Ci0gICAgICAgICAgICBwdXNoKEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAi
dGhyb3dTY29wZSIpIGlmICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0xlZ2FjeUZh
Y3RvcnlGdW5jdGlvbk1heVRocm93RXhjZXB0aW9ufSB8fCAkb3BlcmF0aW9uLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPntNYXlUaHJvd0V4Y2VwdGlvbn07CisgICAgICAgICAgICBwdXNoKEBjb25zdHJ1
Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzLCAidGhyb3dTY29wZSIpOwogICAgICAgICAgICAgcHVz
aChAY29uc3RydWN0aW9uQ29udmVyc2lvbkFyZ3VtZW50cywgIldURk1vdmUob2JqZWN0KSIpOwog
CiAgICAgICAgICAgICAjIEZJWE1FOiB0b0pTTmV3bHlDcmVhdGVkIHNob3VsZCByZXR1cm4gSlNP
YmplY3QqIGluc3RlYWQgb2YgSlNWYWx1ZS4KICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIiAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPCR7SURMVHlwZX0+KCIgLiBq
b2luKCIsICIsIEBjb25zdHJ1Y3Rpb25Db252ZXJzaW9uQXJndW1lbnRzKSAuICIpO1xuIik7Ci0g
ICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCB7IH0pO1xuIikgaWYgJGludGVyZmFjZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
TGVnYWN5RmFjdG9yeUZ1bmN0aW9uTWF5VGhyb3dFeGNlcHRpb259IHx8ICRvcGVyYXRpb24tPmV4
dGVuZGVkQXR0cmlidXRlcy0+e01heVRocm93RXhjZXB0aW9ufTsKKyAgICAgICAgICAgIHB1c2go
QCRvdXRwdXRBcnJheSwgIiAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUo
b2JqZWN0KT4pXG4iKTsKKyAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pO1xuIik7CiAgICAgICAgICAgICBw
dXNoKEAkb3V0cHV0QXJyYXksICIgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDwke2lt
cGxUeXBlfT4obGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVl
KSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpO1xuIik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMu
anNvbgkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JRExBdHRyaWJ1dGVzLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTMxNiw5ICszMTYsNiBAQAog
ICAgICAgICAgICAgInZhbHVlcyI6IFsiKiJdLAogICAgICAgICAgICAgInN1cHBvcnRzQ29uanVu
Y3Rpb24iOiB0cnVlCiAgICAgICAgIH0sCi0gICAgICAgICJMZWdhY3lGYWN0b3J5RnVuY3Rpb25N
YXlUaHJvd0V4Y2VwdGlvbiI6IHsKLSAgICAgICAgICAgICJjb250ZXh0c0FsbG93ZWQiOiBbImlu
dGVyZmFjZSJdCi0gICAgICAgIH0sCiAgICAgICAgICJMZWdhY3lMZW5pZW50U2V0dGVyIjogewog
ICAgICAgICAgICAgImNvbnRleHRzQWxsb3dlZCI6IFsiYXR0cmlidXRlIl0sCiAgICAgICAgICAg
ICAic3RhbmRhcmQiOiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24uaWRs
CShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcg
KzMyLDYgQEAKIFsKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgTGVnYWN5RmFjdG9yeUZ1bmN0
aW9uPUF1ZGlvKERPTVN0cmluZyBzdHIxLCBvcHRpb25hbCBET01TdHJpbmcgc3RyMiA9ICJkZWZh
dWx0U3RyaW5nIiwgb3B0aW9uYWwgRE9NU3RyaW5nIHN0cjMpLAotICAgIExlZ2FjeUZhY3RvcnlG
dW5jdGlvbkNhbGxXaXRoPURvY3VtZW50LAotICAgIExlZ2FjeUZhY3RvcnlGdW5jdGlvbk1heVRo
cm93RXhjZXB0aW9uCisgICAgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uQ2FsbFdpdGg9RG9jdW1lbnQK
IF0gaW50ZXJmYWNlIFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb24gewogfTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU0V4cG9zZWRUb1dvcmtlckFuZFdp
bmRvdy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTRXhwb3NlZFRvV29ya2VyQW5kV2luZG93LmNwcAkocmV2aXNpb24gMjY2OTk5KQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTRXhwb3NlZFRvV29y
a2VyQW5kV2luZG93LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDggKzEzNSwxMCBAQCB0ZW1w
bGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiAgICAgYXV0byogY2FzdGVkVGhp
cyA9IGpzQ2FzdDxKU0V4cG9zZWRUb1dvcmtlckFuZFdpbmRvd0NvbnN0cnVjdG9yKj4oY2FsbEZy
YW1lLT5qc0NhbGxlZSgpKTsKICAgICBBU1NFUlQoY2FzdGVkVGhpcyk7CiAgICAgYXV0byBvYmpl
Y3QgPSBFeHBvc2VkVG9Xb3JrZXJBbmRXaW5kb3c6OmNyZWF0ZSgpOwotICAgIHN0YXRpY19hc3Nl
cnQoZGVjbHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXds
eUNyZWF0ZWQ8SURMSW50ZXJmYWNlPEV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdz4+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0
KSk7CisgICAgc3RhdGljX2Fzc2VydChUeXBlT3JFeGNlcHRpb25PclVuZGVybHlpbmdUeXBlPGRl
Y2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3Jl
YXRlZDxJRExJbnRlcmZhY2U8RXhwb3NlZFRvV29ya2VyQW5kV2luZG93Pj4oKmxleGljYWxHbG9i
YWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92
ZShvYmplY3QpKTsKKyAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2Jq
ZWN0KT4pCisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAg
ICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPEV4cG9zZWRUb1dvcmtlckFuZFdpbmRvdz4o
bGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CiAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNWYWx1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEV2ZW50Q29uc3RydWN0b3Iu
Y3BwCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4
MCw4ICsxODAsMTAgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAog
ICAgIGF1dG8gZXZlbnRJbml0RGljdCA9IGNvbnZlcnQ8SURMRGljdGlvbmFyeTxUZXN0RXZlbnRD
b25zdHJ1Y3Rvcjo6SW5pdD4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDEudmFsdWUo
KSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgp
KTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RFdmVudENvbnN0cnVjdG9yOjpjcmVhdGUoV1RGTW92
ZSh0eXBlKSwgV1RGTW92ZShldmVudEluaXREaWN0KSk7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNs
dHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRl
ZDxJRExJbnRlcmZhY2U8VGVzdEV2ZW50Q29uc3RydWN0b3I+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHN0
YXRpY19hc3NlcnQoVHlwZU9yRXhjZXB0aW9uT3JVbmRlcmx5aW5nVHlwZTxkZWNsdHlwZShvYmpl
Y3QpPjo6aXNSZWYpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50
ZXJmYWNlPFRlc3RFdmVudENvbnN0cnVjdG9yPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0
ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAg
ICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT4pCisgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0
cnVjdHVyZUlmTmVlZGVkPFRlc3RFdmVudENvbnN0cnVjdG9yPihsZXhpY2FsR2xvYmFsT2JqZWN0
LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRl
cmZhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjc2LDEwICsyNzYsMTAgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIAogICAgIGF1dG8gc3RyMiA9IGFyZ3VtZW50MS52YWx1ZSgpLmlzVW5k
ZWZpbmVkKCkgPyAiZGVmYXVsdFN0cmluZyJfcyA6IGNvbnZlcnQ8SURMRE9NU3RyaW5nPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQxLnZhbHVlKCkpOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBU
ZXN0SW50ZXJmYWNlOjpjcmVhdGUoKmNvbnRleHQsIFdURk1vdmUoc3RyMSksIFdURk1vdmUoc3Ry
MikpOwotICAgIHN0YXRpY19hc3NlcnQoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPjo6
dmFsdWUpOwotICAgIHN0YXRpY19hc3NlcnQoZGVjbHR5cGUob2JqZWN0KTo6UmV0dXJuVHlwZTo6
aXNSZWYpOworICAgIHN0YXRpY19hc3NlcnQoVHlwZU9yRXhjZXB0aW9uT3JVbmRlcmx5aW5nVHlw
ZTxkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOwogICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXds
eUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RJbnRlcmZhY2U+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVj
dCkpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKKyAgICBpZiBj
b25zdGV4cHIgKElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT4pCisgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVy
ZUlmTmVlZGVkPFRlc3RJbnRlcmZhY2U+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwg
YXNPYmplY3QoanNWYWx1ZSkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwg
eyB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5j
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDI2Njk5OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RMZWdhY3lG
YWN0b3J5RnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsMTEgKzEyMywxMSBAQCB0
ZW1wbGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiAgICAgRW5zdXJlU3RpbGxB
bGl2ZVNjb3BlIGFyZ3VtZW50MiA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMik7CiAgICAgYXV0byBz
dHIzID0gYXJndW1lbnQyLnZhbHVlKCkuaXNVbmRlZmluZWQoKSA/IFN0cmluZygpIDogY29udmVy
dDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDIudmFsdWUoKSk7
CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsK
LSAgICBhdXRvIG9iamVjdCA9IFRlc3RMZWdhY3lGYWN0b3J5RnVuY3Rpb246OmNyZWF0ZUZvckpT
Q29uc3RydWN0b3IoZG9jdW1lbnQsIFdURk1vdmUoc3RyMSksIFdURk1vdmUoc3RyMiksIFdURk1v
dmUoc3RyMykpOwotICAgIHN0YXRpY19hc3NlcnQoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmpl
Y3QpPjo6dmFsdWUpOwotICAgIHN0YXRpY19hc3NlcnQoZGVjbHR5cGUob2JqZWN0KTo6UmV0dXJu
VHlwZTo6aXNSZWYpOworICAgIGF1dG8gb2JqZWN0ID0gVGVzdExlZ2FjeUZhY3RvcnlGdW5jdGlv
bjo6Y3JlYXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKGRvY3VtZW50LCBXVEZNb3ZlKHN0cjEp
LCBXVEZNb3ZlKHN0cjIpLCBXVEZNb3ZlKHN0cjMpKTsKKyAgICBzdGF0aWNfYXNzZXJ0KFR5cGVP
ckV4Y2VwdGlvbk9yVW5kZXJseWluZ1R5cGU8ZGVjbHR5cGUob2JqZWN0KT46OmlzUmVmKTsKICAg
ICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0TGVnYWN5
RmFjdG9yeUZ1bmN0aW9uPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9i
YWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKLSAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CisgICAgaWYgY29uc3RleHByIChJc0V4Y2VwdGlv
bk9yPGRlY2x0eXBlKG9iamVjdCk+KQorICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93
U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1cmVJZk5lZWRlZDxUZXN0TGVnYWN5
RmFjdG9yeUZ1bmN0aW9uPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0
KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb2RlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9kZS5jcHAJKHJl
dmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3ROb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE1LDggKzExNSwxMCBAQCB0ZW1w
bGF0ZTw+IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgCiAgICAgYXV0byogY2FzdGVkVGhp
cyA9IGpzQ2FzdDxKU1Rlc3ROb2RlQ29uc3RydWN0b3IqPihjYWxsRnJhbWUtPmpzQ2FsbGVlKCkp
OwogICAgIEFTU0VSVChjYXN0ZWRUaGlzKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3ROb2RlOjpj
cmVhdGUoKTsKLSAgICBzdGF0aWNfYXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6OmlzUmVmKTsKLSAg
ICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0Tm9kZT4+
KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1v
dmUob2JqZWN0KSk7CisgICAgc3RhdGljX2Fzc2VydChUeXBlT3JFeGNlcHRpb25PclVuZGVybHlp
bmdUeXBlPGRlY2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9K
U05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE5vZGU+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVj
dCkpOworICAgIGlmIGNvbnN0ZXhwciAoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPikK
KyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHNldFN1
YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE5vZGU+KGxleGljYWxHbG9iYWxPYmplY3QsIGNh
bGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhy
b3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pT
VGVzdE9iai5jcHAJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTc4LDgg
KzE5NzgsMTAgQEAgdGVtcGxhdGU8PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogICAg
IGF1dG8gdGVzdENhbGxiYWNrRnVuY3Rpb24gPSBjb252ZXJ0PElETENhbGxiYWNrRnVuY3Rpb248
SlNUZXN0Q2FsbGJhY2tGdW5jdGlvbj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDEu
dmFsdWUoKSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBbXShKU0M6OkpTR2xvYmFsT2Jq
ZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93
QXJndW1lbnRNdXN0QmVGdW5jdGlvbkVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAx
LCAidGVzdENhbGxiYWNrRnVuY3Rpb24iLCAiVGVzdE9iamVjdCIsIG51bGxwdHIpOyB9KTsKICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwogICAg
IGF1dG8gb2JqZWN0ID0gVGVzdE9iajo6Y3JlYXRlKGRvY3VtZW50LCB0ZXN0Q2FsbGJhY2sucmVs
ZWFzZU5vbk51bGwoKSwgdGVzdENhbGxiYWNrRnVuY3Rpb24ucmVsZWFzZU5vbk51bGwoKSk7Ci0g
ICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBqc1Zh
bHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7
CisgICAgc3RhdGljX2Fzc2VydChUeXBlT3JFeGNlcHRpb25PclVuZGVybHlpbmdUeXBlPGRlY2x0
eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRl
ZDxJRExJbnRlcmZhY2U8VGVzdE9iaj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhp
cy0+Z2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7CisgICAgaWYg
Y29uc3RleHByIChJc0V4Y2VwdGlvbk9yPGRlY2x0eXBlKG9iamVjdCk+KQorICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xhc3NTdHJ1Y3R1
cmVJZk5lZWRlZDxUZXN0T2JqPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2Jq
ZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVkQ29uc3RydWN0b3Jz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycy5jcHAJKHJldmlzaW9uIDI2Njk5OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcsOCArOTcsMTAgQEAgc3RhdGlj
IGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwogICAgIGF1dG8gYXJyYXlCdWZmZXIg
PSBjb252ZXJ0PElETEFycmF5QnVmZmVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQw
LnZhbHVlKCksIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
Qzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBcmd1bWVudFR5cGVFcnJvcihsZXhpY2FsR2xv
YmFsT2JqZWN0LCBzY29wZSwgMCwgImFycmF5QnVmZmVyIiwgIlRlc3RPdmVybG9hZGVkQ29uc3Ry
dWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5QnVmZmVyIik7IH0pOwogICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAgICAgYXV0byBvYmplY3QgPSBU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yczo6Y3JlYXRlKCphcnJheUJ1ZmZlcik7Ci0gICAgc3Rh
dGljX2Fzc2VydChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0g
dG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZN
b3ZlKG9iamVjdCkpOworICAgIHN0YXRpY19hc3NlcnQoVHlwZU9yRXhjZXB0aW9uT3JVbmRlcmx5
aW5nVHlwZTxkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8ganNWYWx1ZSA9IHRv
SlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4o
KmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dT
Y29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8
ZGVjbHR5cGUob2JqZWN0KT4pCisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpz
VmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKQEAgLTExNCw4ICsxMTYsMTAgQEAgc3Rh
dGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwogICAgIGF1dG8gYXJyYXlCdWZm
ZXJWaWV3ID0gY29udmVydDxJRExBcnJheUJ1ZmZlclZpZXc+KCpsZXhpY2FsR2xvYmFsT2JqZWN0
LCBhcmd1bWVudDAudmFsdWUoKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2Jh
bE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50VHlwZUVycm9y
KGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAwLCAiYXJyYXlCdWZmZXJWaWV3IiwgIlRlc3RP
dmVybG9hZGVkQ29uc3RydWN0b3JzIiwgbnVsbHB0ciwgIkFycmF5QnVmZmVyVmlldyIpOyB9KTsK
ICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwog
ICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0ZShhcnJh
eUJ1ZmZlclZpZXcucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlw
ZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJ
RExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAg
IHN0YXRpY19hc3NlcnQoVHlwZU9yRXhjZXB0aW9uT3JVbmRlcmx5aW5nVHlwZTxkZWNsdHlwZShv
YmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURM
SW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmpl
Y3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmpl
Y3QpKTsKKyAgICBpZiBjb25zdGV4cHIgKElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT4p
CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRT
dWJjbGFzc1N0cnVjdHVyZUlmTmVlZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1ZhbHVlKTsKQEAgLTEzMSw4ICsxMzUsMTAgQEAgc3RhdGljIGlubGluZSBFbmNvZGVk
SlNWYWx1ZSBjb25zdHJ1Y3RKUwogICAgIGF1dG8gYmxvYiA9IGNvbnZlcnQ8SURMSW50ZXJmYWNl
PEJsb2I+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgYXJndW1lbnQwLnZhbHVlKCksIFtdKEpTQzo6
SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYgc2Nv
cGUpIHsgdGhyb3dBcmd1bWVudFR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwg
MCwgImJsb2IiLCAiVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMiLCBudWxscHRyLCAiQmxvYiIp
OyB9KTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVl
KCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM6OmNyZWF0
ZSgqYmxvYik7Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0g
ICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJs
b2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmds
b2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHN0YXRpY19hc3NlcnQoVHlwZU9y
RXhjZXB0aW9uT3JVbmRlcmx5aW5nVHlwZTxkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAg
IGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9h
ZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9i
YWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBpZiBjb25zdGV4
cHIgKElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT4pCisgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVl
ZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPihsZXhpY2FsR2xvYmFsT2JqZWN0LCBjYWxs
RnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93
U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsKQEAgLTE0
OCw4ICsxNTQsMTAgQEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBjb25zdHJ1Y3RKUwog
ICAgIGF1dG8gc3RyaW5nID0gY29udmVydDxJRExET01TdHJpbmc+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBhcmd1bWVudDAudmFsdWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Nj
b3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVk
Q29uc3RydWN0b3JzOjpjcmVhdGUoV1RGTW92ZShzdHJpbmcpKTsKLSAgICBzdGF0aWNfYXNzZXJ0
KGRlY2x0eXBlKG9iamVjdCk6OmlzUmVmKTsKLSAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlD
cmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2Fs
R2xvYmFsT2JqZWN0LCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0
KSk7CisgICAgc3RhdGljX2Fzc2VydChUeXBlT3JFeGNlcHRpb25PclVuZGVybHlpbmdUeXBlPGRl
Y2x0eXBlKG9iamVjdCk+Ojppc1JlZik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3Jl
YXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnM+PigqbGV4aWNhbEds
b2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZN
b3ZlKG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShv
YmplY3QpPikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwog
ICAgIHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3Rv
cnM+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkpOwog
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwpAQCAtMTY0LDggKzE3MiwxMCBAQCBzdGF0aWMgaW5saW5l
IEVuY29kZWRKU1ZhbHVlIGNvbnN0cnVjdEpTCiAgICAgYXV0byBsb25nQXJncyA9IGNvbnZlcnRW
YXJpYWRpY0FyZ3VtZW50czxJRExMb25nPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhbGxGcmFt
ZSwgMCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1
ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzOjpjcmVh
dGUoV1RGTW92ZShsb25nQXJncykpOwotICAgIHN0YXRpY19hc3NlcnQoZGVjbHR5cGUob2JqZWN0
KTo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJm
YWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpj
YXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBzdGF0aWNf
YXNzZXJ0KFR5cGVPckV4Y2VwdGlvbk9yVW5kZXJseWluZ1R5cGU8ZGVjbHR5cGUob2JqZWN0KT46
OmlzUmVmKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFj
ZTxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2Fz
dGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIFdURk1vdmUob2JqZWN0KSk7Cisg
ICAgaWYgY29uc3RleHByIChJc0V4Y2VwdGlvbk9yPGRlY2x0eXBlKG9iamVjdCk+KQorICAgICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgc2V0U3ViY2xhc3NT
dHJ1Y3R1cmVJZk5lZWRlZDxUZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9ycz4obGV4aWNhbEdsb2Jh
bE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CiAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNW
YWx1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE92ZXJsb2FkZWRD
b25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2UuY3BwCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9yc1dpdGhTZXF1ZW5jZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDggKzk2LDEwIEBAIHN0
YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUgY29uc3RydWN0SlMKICAgICBhdXRvIHNlcXVlbmNl
T2ZTdHJpbmdzID0gYXJndW1lbnQwLnZhbHVlKCkuaXNVbmRlZmluZWQoKSA/IENvbnZlcnRlcjxJ
RExTZXF1ZW5jZTxJRExET01TdHJpbmc+Pjo6UmV0dXJuVHlwZXsgfSA6IGNvbnZlcnQ8SURMU2Vx
dWVuY2U8SURMRE9NU3RyaW5nPj4oKmxleGljYWxHbG9iYWxPYmplY3QsIGFyZ3VtZW50MC52YWx1
ZSgpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVl
KCkpOwogICAgIGF1dG8gb2JqZWN0ID0gVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2Vx
dWVuY2U6OmNyZWF0ZShXVEZNb3ZlKHNlcXVlbmNlT2ZTdHJpbmdzKSk7Ci0gICAgc3RhdGljX2Fz
c2VydChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBqc1ZhbHVlID0gdG9KU05l
d2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2Vx
dWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgp
LCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHN0YXRpY19hc3NlcnQoVHlwZU9yRXhjZXB0aW9uT3JV
bmRlcmx5aW5nVHlwZTxkZWNsdHlwZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8ganNWYWx1
ZSA9IHRvSlNOZXdseUNyZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0
b3JzV2l0aFNlcXVlbmNlPj4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9i
YWxPYmplY3QoKSwgdGhyb3dTY29wZSwgV1RGTW92ZShvYmplY3QpKTsKKyAgICBpZiBjb25zdGV4
cHIgKElzRXhjZXB0aW9uT3I8ZGVjbHR5cGUob2JqZWN0KT4pCisgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICBzZXRTdWJjbGFzc1N0cnVjdHVyZUlmTmVl
ZGVkPFRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlPihsZXhpY2FsR2xvYmFs
T2JqZWN0LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Zh
bHVlKTsKQEAgLTExMyw4ICsxMTUsMTAgQEAgc3RhdGljIGlubGluZSBFbmNvZGVkSlNWYWx1ZSBj
b25zdHJ1Y3RKUwogICAgIGF1dG8gc3RyaW5nID0gY29udmVydDxJRExET01TdHJpbmc+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRl
c3RPdmVybG9hZGVkQ29uc3RydWN0b3JzV2l0aFNlcXVlbmNlOjpjcmVhdGUoV1RGTW92ZShzdHJp
bmcpKTsKLSAgICBzdGF0aWNfYXNzZXJ0KGRlY2x0eXBlKG9iamVjdCk6OmlzUmVmKTsKLSAgICBh
dXRvIGpzVmFsdWUgPSB0b0pTTmV3bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0T3ZlcmxvYWRl
ZENvbnN0cnVjdG9yc1dpdGhTZXF1ZW5jZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCAqY2FzdGVk
VGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdURk1vdmUob2JqZWN0KSk7CisgICAgc3RhdGljX2Fzc2Vy
dChUeXBlT3JFeGNlcHRpb25PclVuZGVybHlpbmdUeXBlPGRlY2x0eXBlKG9iamVjdCk+Ojppc1Jl
Zik7CisgICAgYXV0byBqc1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVz
dE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2VxdWVuY2U+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVj
dCkpOworICAgIGlmIGNvbnN0ZXhwciAoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPikK
KyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHNldFN1
YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNXaXRoU2Vx
dWVuY2U+KGxleGljYWxHbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgYXNPYmplY3QoanNWYWx1ZSkp
OwogICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVmFsdWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21pc2VSZWplY3Rpb25FdmVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFByb21p
c2VSZWplY3Rpb25FdmVudC5jcHAJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xODEsOCArMTgxLDEwIEBAIHRlbXBsYXRlPD4gRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCAKICAgICBhdXRvIGV2ZW50SW5pdERpY3QgPSBjb252ZXJ0PElE
TERpY3Rpb25hcnk8VGVzdFByb21pc2VSZWplY3Rpb25FdmVudDo6SW5pdD4+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCBhcmd1bWVudDEudmFsdWUoKSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0
aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRlc3RQcm9t
aXNlUmVqZWN0aW9uRXZlbnQ6OmNyZWF0ZSgqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIFdU
Rk1vdmUodHlwZSksIFdURk1vdmUoZXZlbnRJbml0RGljdCkpOwotICAgIHN0YXRpY19hc3NlcnQo
ZGVjbHR5cGUob2JqZWN0KTo6aXNSZWYpOwotICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNy
ZWF0ZWQ8SURMSW50ZXJmYWNlPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+PigqbGV4aWNhbEds
b2JhbE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBXVEZNb3ZlKG9iamVjdCkp
OworICAgIHN0YXRpY19hc3NlcnQoVHlwZU9yRXhjZXB0aW9uT3JVbmRlcmx5aW5nVHlwZTxkZWNs
dHlwZShvYmplY3QpPjo6aXNSZWYpOworICAgIGF1dG8ganNWYWx1ZSA9IHRvSlNOZXdseUNyZWF0
ZWQ8SURMSW50ZXJmYWNlPFRlc3RQcm9taXNlUmVqZWN0aW9uRXZlbnQ+PigqbGV4aWNhbEdsb2Jh
bE9iamVjdCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3Zl
KG9iamVjdCkpOworICAgIGlmIGNvbnN0ZXhwciAoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmpl
Y3QpPikKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAg
IHNldFN1YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdFByb21pc2VSZWplY3Rpb25FdmVudD4o
bGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBhc09iamVjdChqc1ZhbHVlKSk7CiAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNWYWx1ZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAJKHJldmlzaW9uIDI2
Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RU
eXBlZGVmcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Miw4ICsxNzIsMTAgQEAgdGVtcGxhdGU8
PiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIAogICAgIGF1dG8gdGVzdENhbGxiYWNrSW50
ZXJmYWNlID0gY29udmVydDxJRExDYWxsYmFja0ludGVyZmFjZTxKU1Rlc3RDYWxsYmFja0ludGVy
ZmFjZT4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDIudmFsdWUoKSwgKmNhc3RlZFRo
aXMtPmdsb2JhbE9iamVjdCgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRNdXN0QmVPYmpl
Y3RFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMiwgInRlc3RDYWxsYmFja0ludGVy
ZmFjZSIsICJUZXN0VHlwZWRlZnMiLCBudWxscHRyKTsgfSk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKICAgICBhdXRvIG9iamVjdCA9IFRl
c3RUeXBlZGVmczo6Y3JlYXRlKFdURk1vdmUoaGVsbG8pLCB0ZXN0Q2FsbGJhY2tGdW5jdGlvbi5y
ZWxlYXNlTm9uTnVsbCgpLCB0ZXN0Q2FsbGJhY2tJbnRlcmZhY2UucmVsZWFzZU5vbk51bGwoKSk7
Ci0gICAgc3RhdGljX2Fzc2VydChkZWNsdHlwZShvYmplY3QpOjppc1JlZik7Ci0gICAgYXV0byBq
c1ZhbHVlID0gdG9KU05ld2x5Q3JlYXRlZDxJRExJbnRlcmZhY2U8VGVzdFR5cGVkZWZzPj4oKmxl
eGljYWxHbG9iYWxPYmplY3QsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwgV1RGTW92ZShv
YmplY3QpKTsKKyAgICBzdGF0aWNfYXNzZXJ0KFR5cGVPckV4Y2VwdGlvbk9yVW5kZXJseWluZ1R5
cGU8ZGVjbHR5cGUob2JqZWN0KT46OmlzUmVmKTsKKyAgICBhdXRvIGpzVmFsdWUgPSB0b0pTTmV3
bHlDcmVhdGVkPElETEludGVyZmFjZTxUZXN0VHlwZWRlZnM+PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBXVEZNb3ZlKG9iamVj
dCkpOworICAgIGlmIGNvbnN0ZXhwciAoSXNFeGNlcHRpb25PcjxkZWNsdHlwZShvYmplY3QpPikK
KyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB7IH0pOwogICAgIHNldFN1
YmNsYXNzU3RydWN0dXJlSWZOZWVkZWQ8VGVzdFR5cGVkZWZzPihsZXhpY2FsR2xvYmFsT2JqZWN0
LCBjYWxsRnJhbWUsIGFzT2JqZWN0KGpzVmFsdWUpKTsKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHRocm93U2NvcGUsIHsgfSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1ZhbHVlKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXguaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9ET01NYXRyaXguaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jc3MvRE9NTWF0cml4LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjks
NyBAQAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUKIF0gaW50ZXJmYWNlIERPTU1hdHJpeCA6IERPTU1hdHJpeFJlYWRPbmx5IHsKLSAg
ICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgTWF5VGhyb3dFeGNlcHRpb25dIGNv
bnN0cnVjdG9yKG9wdGlvbmFsIChET01TdHJpbmcgb3Igc2VxdWVuY2U8dW5yZXN0cmljdGVkIGRv
dWJsZT4pIGluaXQpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25z
dHJ1Y3RvcihvcHRpb25hbCAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPHVucmVzdHJpY3RlZCBkb3Vi
bGU+KSBpbml0KTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBzdGF0aWMg
RE9NTWF0cml4IGZyb21NYXRyaXgob3B0aW9uYWwgRE9NTWF0cml4SW5pdCBvdGhlcik7CiAgICAg
W01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIHN0YXRpYyBET01NYXRyaXggZnJvbUZsb2F0
MzJBcnJheShGbG9hdDMyQXJyYXkgYXJyYXkzMik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3Mv
RE9NTWF0cml4UmVhZE9ubHkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9E
T01NYXRyaXhSZWFkT25seS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9ET01NYXRyaXhSZWFkT25seS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcg
QEAKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlCiBdIGludGVyZmFjZSBET01NYXRyaXhSZWFkT25seSB7Ci0gICAgW0NhbGxXaXRoPVNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIE1heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihvcHRp
b25hbCAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPHVucmVzdHJpY3RlZCBkb3VibGU+KSBpbml0KTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gY29uc3RydWN0b3Iob3B0aW9u
YWwgKERPTVN0cmluZyBvciBzZXF1ZW5jZTx1bnJlc3RyaWN0ZWQgZG91YmxlPikgaW5pdCk7CiAK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gc3RhdGljIERPTU1hdHJpeFJlYWRP
bmx5IGZyb21NYXRyaXgob3B0aW9uYWwgRE9NTWF0cml4SW5pdCBvdGhlcik7CiAgICAgW01heVRo
cm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIHN0YXRpYyBET01NYXRyaXhSZWFkT25seSBmcm9tRmxv
YXQzMkFycmF5KEZsb2F0MzJBcnJheSBhcnJheTMyKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NNYXRyaXguaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NNYXRyaXguaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTTWF0cml4LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAog
WwogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBXZWJLaXRDU1NN
YXRyaXggewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Iob3B0aW9uYWwgRE9N
U3RyaW5nIGNzc1ZhbHVlKTsKKyAgICBjb25zdHJ1Y3RvcihvcHRpb25hbCBET01TdHJpbmcgY3Nz
VmFsdWUpOwogCiAgICAgLy8gVGhlc2UgYXR0cmlidXRlcyBhcmUgc2ltcGxlIGFsaWFzZXMgZm9y
IGNlcnRhaW4gZWxlbWVudHMgb2YgdGhlIDR4NCBtYXRyaXgKICAgICBhdHRyaWJ1dGUgdW5yZXN0
cmljdGVkIGRvdWJsZSBhOyAvLyBhbGlhcyBmb3IgbTExCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vRXhjZXB0aW9uT3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0
aW9uT3IuaAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlv
bk9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwMCw3ICsyMDAsMTIgQEAgaW5saW5lIEV4Y2VwdGlv
bk9yPHZvaWQ+IGlzb2xhdGVkQ29weShFeAogICAgIHJldHVybiB7IH07CiB9CiAKLXRlbXBsYXRl
IDx0eXBlbmFtZSBUPiBzdHJ1Y3QgSXNFeGNlcHRpb25PciA6IHB1YmxpYyBzdGQ6OmludGVncmFs
X2NvbnN0YW50PGJvb2wsIFdURjo6SXNUZW1wbGF0ZTxzdGQ6OmRlY2F5X3Q8VD4sIEV4Y2VwdGlv
bk9yPjo6dmFsdWU+IHsgfTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBpbmxpbmUgY29uc3RleHBy
IGJvb2wgSXNFeGNlcHRpb25PciA9IFdURjo6SXNUZW1wbGF0ZTxzdGQ6OmRlY2F5X3Q8VD4sIEV4
Y2VwdGlvbk9yPjo6dmFsdWU7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBULCBib29sIGlzRXhjZXB0
aW9uT3IgPSBJc0V4Y2VwdGlvbk9yPFQ+PiBzdHJ1Y3QgVHlwZU9yRXhjZXB0aW9uT3JVbmRlcmx5
aW5nVHlwZUltcGw7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFR5cGVPckV4Y2VwdGlv
bk9yVW5kZXJseWluZ1R5cGVJbXBsPFQsIHRydWU+IHsgdXNpbmcgVHlwZSA9IHR5cGVuYW1lIFQ6
OlJldHVyblR5cGU7IH07Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFR5cGVPckV4Y2Vw
dGlvbk9yVW5kZXJseWluZ1R5cGVJbXBsPFQsIGZhbHNlPiB7IHVzaW5nIFR5cGUgPSBUOyB9Owor
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHVzaW5nIFR5cGVPckV4Y2VwdGlvbk9yVW5kZXJseWluZ1R5
cGUgPSB0eXBlbmFtZSBUeXBlT3JFeGNlcHRpb25PclVuZGVybHlpbmdUeXBlSW1wbDxUPjo6VHlw
ZTsKIAogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU3RhdGljUmFuZ2UuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHJldmlzaW9uIDI2
Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TdGF0aWNSYW5nZS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDcgKzI4LDcgQEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAg
IEV4cG9zZWQ9V2luZG93LAogXSBpbnRlcmZhY2UgU3RhdGljUmFuZ2UgewotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoU3RhdGljUmFuZ2VJbml0IHN0YXRpY1JhbmdlSW5pdERp
Y3QpOworICAgIGNvbnN0cnVjdG9yKFN0YXRpY1JhbmdlSW5pdCBzdGF0aWNSYW5nZUluaXREaWN0
KTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHN0YXJ0T2Zmc2V0Owog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGVuZE9mZnNldDsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0RGVjb2Rlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL1RleHREZWNvZGVyLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL1RleHREZWNvZGVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBA
QCBkaWN0aW9uYXJ5IFRleHREZWNvZGVPcHRpb25zIHsKICAgICBFeHBvc2VkPShXaW5kb3csV29y
a2VyKSwKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogXSBpbnRlcmZhY2UgVGV4dERl
Y29kZXIgewotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3Iob3B0aW9uYWwgRE9N
U3RyaW5nIGxhYmVsID0gInV0Zi04Iiwgb3B0aW9uYWwgVGV4dERlY29kZXJPcHRpb25zIG9wdGlv
bnMpOworICAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVN0cmluZyBsYWJlbCA9ICJ1dGYtOCIs
IG9wdGlvbmFsIFRleHREZWNvZGVyT3B0aW9ucyBvcHRpb25zKTsKIAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgZW5jb2Rpbmc7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gZmF0YWw7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dERlY29kZXJTdHJlYW1EZWNv
ZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dERlY29kZXJTdHJl
YW1EZWNvZGVyLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1Rl
eHREZWNvZGVyU3RyZWFtRGVjb2Rlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcg
QEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAogICAgIFByaXZhdGVJZGVudGlmaWVy
LAogXSBpbnRlcmZhY2UgVGV4dERlY29kZXJTdHJlYW1EZWNvZGVyIHsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIGNvbnN0cnVjdG9yKERPTVN0cmluZyBsYWJlbCwgYm9vbGVhbiBmYXRhbCwgYm9v
bGVhbiBpZ25vcmVCT00pOworICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyBsYWJlbCwgYm9vbGVh
biBmYXRhbCwgYm9vbGVhbiBpZ25vcmVCT00pOwogCiAgICAgW1ByaXZhdGVJZGVudGlmaWVyXSBE
T01TdHJpbmcgZW5jb2RpbmcoKTsKICAgICBbUHJpdmF0ZUlkZW50aWZpZXIsIE1heVRocm93RXhj
ZXB0aW9uXSBET01TdHJpbmcgZGVjb2RlKEJ1ZmZlclNvdXJjZSBzb3VyY2UpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9ET01VUkwuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvRE9NVVJMLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9ET01VUkwuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw4ICszMiw4IEBACiAgICAgSlNHZW5l
cmF0ZVRvTmF0aXZlT2JqZWN0LAogICAgIExlZ2FjeVdpbmRvd0FsaWFzPXdlYmtpdFVSTCwKIF0g
aW50ZXJmYWNlIERPTVVSTCB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihV
U1ZTdHJpbmcgdXJsLCBvcHRpb25hbCBVU1ZTdHJpbmcgYmFzZSk7Ci0gICAgW01heVRocm93RXhj
ZXB0aW9uXSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgdXJsLCBET01VUkwgYmFzZSk7CisgICAgY29u
c3RydWN0b3IoVVNWU3RyaW5nIHVybCwgb3B0aW9uYWwgVVNWU3RyaW5nIGJhc2UpOworICAgIGNv
bnN0cnVjdG9yKFVTVlN0cmluZyB1cmwsIERPTVVSTCBiYXNlKTsKIAogICAgIFtVUkxdIHN0cmlu
Z2lmaWVyIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgaHJlZjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIG9yaWdpbjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVkaW9FbGVt
ZW50LmNwcAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXVk
aW9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBSZWY8SFRNTEF1
ZGlvRWxlbWVudD4gSFRNTEF1ZGlvRWxlbWVudDo6CiAgICAgcmV0dXJuIGVsZW1lbnQ7CiB9CiAK
LVJlZjxIVE1MQXVkaW9FbGVtZW50PiBIVE1MQXVkaW9FbGVtZW50OjpjcmVhdGVGb3JKU0NvbnN0
cnVjdG9yKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgQXRvbVN0cmluZyYgc3JjKQorUmVmPEhU
TUxBdWRpb0VsZW1lbnQ+IEhUTUxBdWRpb0VsZW1lbnQ6OmNyZWF0ZUZvckxlZ2FjeUZhY3RvcnlG
dW5jdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEF0b21TdHJpbmcmIHNyYykKIHsKICAg
ICBhdXRvIGVsZW1lbnQgPSBjcmVhdGUoYXVkaW9UYWcsIGRvY3VtZW50LCBmYWxzZSk7CiAgICAg
ZWxlbWVudC0+c2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihwcmVsb2FkQXR0ciwg
ImF1dG8iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5oCShyZXZp
c2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBIVE1MQXVkaW9FbGVtZW50IGZp
bmFsIDogcHVibGljIEhUCiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChIVE1MQXVkaW9FbGVt
ZW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxBdWRpb0VsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBib29sKTsKLSAgICBzdGF0aWMgUmVmPEhU
TUxBdWRpb0VsZW1lbnQ+IGNyZWF0ZUZvckpTQ29uc3RydWN0b3IoRG9jdW1lbnQmLCBjb25zdCBB
dG9tU3RyaW5nJiBzcmMpOworICAgIHN0YXRpYyBSZWY8SFRNTEF1ZGlvRWxlbWVudD4gY3JlYXRl
Rm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKERvY3VtZW50JiwgY29uc3QgQXRvbVN0cmluZyYgc3Jj
KTsKIAogcHJpdmF0ZToKICAgICBIVE1MQXVkaW9FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYsIGJvb2wpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNyArMTAyLDcgQEAgSFRNTElt
YWdlRWxlbWVudDo6fkhUTUxJbWFnZUVsZW1lbnQoKQogICAgIHNldFBpY3R1cmVFbGVtZW50KG51
bGxwdHIpOwogfQogCi1SZWY8SFRNTEltYWdlRWxlbWVudD4gSFRNTEltYWdlRWxlbWVudDo6Y3Jl
YXRlRm9ySlNDb25zdHJ1Y3RvcihEb2N1bWVudCYgZG9jdW1lbnQsIE9wdGlvbmFsPHVuc2lnbmVk
PiB3aWR0aCwgT3B0aW9uYWw8dW5zaWduZWQ+IGhlaWdodCkKK1JlZjxIVE1MSW1hZ2VFbGVtZW50
PiBIVE1MSW1hZ2VFbGVtZW50OjpjcmVhdGVGb3JMZWdhY3lGYWN0b3J5RnVuY3Rpb24oRG9jdW1l
bnQmIGRvY3VtZW50LCBPcHRpb25hbDx1bnNpZ25lZD4gd2lkdGgsIE9wdGlvbmFsPHVuc2lnbmVk
PiBoZWlnaHQpCiB7CiAgICAgYXV0byBpbWFnZSA9IGFkb3B0UmVmKCpuZXcgSFRNTEltYWdlRWxl
bWVudChpbWdUYWcsIGRvY3VtZW50KSk7CiAgICAgaWYgKHdpZHRoKQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1
MCw3IEBAIGNsYXNzIEhUTUxJbWFnZUVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW0KIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPEhUTUxJbWFnZUVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCYpOwogICAg
IHN0YXRpYyBSZWY8SFRNTEltYWdlRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVudCogPSBudWxscHRyKTsKLSAgICBzdGF0aWMgUmVm
PEhUTUxJbWFnZUVsZW1lbnQ+IGNyZWF0ZUZvckpTQ29uc3RydWN0b3IoRG9jdW1lbnQmLCBPcHRp
b25hbDx1bnNpZ25lZD4gd2lkdGgsIE9wdGlvbmFsPHVuc2lnbmVkPiBoZWlnaHQpOworICAgIHN0
YXRpYyBSZWY8SFRNTEltYWdlRWxlbWVudD4gY3JlYXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9u
KERvY3VtZW50JiwgT3B0aW9uYWw8dW5zaWduZWQ+IHdpZHRoLCBPcHRpb25hbDx1bnNpZ25lZD4g
aGVpZ2h0KTsKIAogICAgIHZpcnR1YWwgfkhUTUxJbWFnZUVsZW1lbnQoKTsKIApJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2Njk5OSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02OSw3ICs2OSw3IEBAIFJlZjxIVE1MT3B0aW9uRWxlbWVudD4gSFRNTE9wdGlvbkVs
ZW1lbnQKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MT3B0aW9uRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkpOwogfQogCi1FeGNlcHRpb25PcjxSZWY8SFRNTE9wdGlvbkVsZW1lbnQ+PiBI
VE1MT3B0aW9uRWxlbWVudDo6Y3JlYXRlRm9ySlNDb25zdHJ1Y3RvcihEb2N1bWVudCYgZG9jdW1l
bnQsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgYm9vbCBkZWZhdWx0
U2VsZWN0ZWQsIGJvb2wgc2VsZWN0ZWQpCitFeGNlcHRpb25PcjxSZWY8SFRNTE9wdGlvbkVsZW1l
bnQ+PiBIVE1MT3B0aW9uRWxlbWVudDo6Y3JlYXRlRm9yTGVnYWN5RmFjdG9yeUZ1bmN0aW9uKERv
Y3VtZW50JiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIHZhbHVl
LCBib29sIGRlZmF1bHRTZWxlY3RlZCwgYm9vbCBzZWxlY3RlZCkKIHsKICAgICBhdXRvIGVsZW1l
bnQgPSBjcmVhdGUoZG9jdW1lbnQpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
cHRpb25FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uRWxlbWVudC5oCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcgQEAgY2xhc3Mg
SFRNTE9wdGlvbkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgSAogcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8SFRNTE9wdGlvbkVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCYpOwogICAgIHN0YXRpYyBSZWY8
SFRNTE9wdGlvbkVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKLSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPEhUTUxPcHRpb25FbGVtZW50Pj4gY3JlYXRl
Rm9ySlNDb25zdHJ1Y3RvcihEb2N1bWVudCYsIGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgU3Ry
aW5nJiB2YWx1ZSwgYm9vbCBkZWZhdWx0U2VsZWN0ZWQsIGJvb2wgc2VsZWN0ZWQpOworICAgIHN0
YXRpYyBFeGNlcHRpb25PcjxSZWY8SFRNTE9wdGlvbkVsZW1lbnQ+PiBjcmVhdGVGb3JMZWdhY3lG
YWN0b3J5RnVuY3Rpb24oRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmlu
ZyYgdmFsdWUsIGJvb2wgZGVmYXVsdFNlbGVjdGVkLCBib29sIHNlbGVjdGVkKTsKIAogICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyB0ZXh0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRUZXh0KGNvbnN0
IFN0cmluZyYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5p
ZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVs
ZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw2IEBACiAKIFsKICAgICBKU0dl
bmVyYXRlVG9OYXRpdmVPYmplY3QsCi0gICAgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uTWF5VGhyb3dF
eGNlcHRpb24sCiAgICAgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uQ2FsbFdpdGg9RG9jdW1lbnQsCiAg
ICAgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uPU9wdGlvbihvcHRpb25hbCBET01TdHJpbmcgdGV4dCA9
ICIiLCBvcHRpb25hbCBET01TdHJpbmcgdmFsdWUsIG9wdGlvbmFsIGJvb2xlYW4gZGVmYXVsdFNl
bGVjdGVkID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gc2VsZWN0ZWQgPSBmYWxzZSksCiBdIGlu
dGVyZmFjZSBIVE1MT3B0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSW1hZ2VEYXRhLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9o
dG1sL0ltYWdlRGF0YS5pZGwJKHJldmlzaW9uIDI2Njk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSW1hZ2VEYXRhLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsOCArMzIsOCBAQAogICAgIEV4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0g
aW50ZXJmYWNlIEltYWdlRGF0YSB7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBjb25zdHJ1Y3Rv
cih1bnNpZ25lZCBsb25nIHN3LCB1bnNpZ25lZCBsb25nIHNoKTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIGNvbnN0cnVjdG9yKFVpbnQ4Q2xhbXBlZEFycmF5IGRhdGEsIHVuc2lnbmVkIGxvbmcg
c3csIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgc2gpOworICAgIGNvbnN0cnVjdG9yKHVuc2lnbmVk
IGxvbmcgc3csIHVuc2lnbmVkIGxvbmcgc2gpOworICAgIGNvbnN0cnVjdG9yKFVpbnQ4Q2xhbXBl
ZEFycmF5IGRhdGEsIHVuc2lnbmVkIGxvbmcgc3csIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgc2gp
OwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvVVJMU2VhcmNoUGFyYW1zLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9VUkxTZWFyY2hQYXJhbXMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsy
Nyw3IEBACiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCiAgICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZSwKIF0gaW50ZXJmYWNlIFVSTFNlYXJjaFBhcmFtcyB7Ci0gICAgW01heVRocm93
RXhjZXB0aW9uXSBjb25zdHJ1Y3RvcihvcHRpb25hbCAoc2VxdWVuY2U8c2VxdWVuY2U8VVNWU3Ry
aW5nPj4gb3IgcmVjb3JkPFVTVlN0cmluZywgVVNWU3RyaW5nPiBvciBVU1ZTdHJpbmcpIGluaXQg
PSAiIik7CisgICAgY29uc3RydWN0b3Iob3B0aW9uYWwgKHNlcXVlbmNlPHNlcXVlbmNlPFVTVlN0
cmluZz4+IG9yIHJlY29yZDxVU1ZTdHJpbmcsIFVTVlN0cmluZz4gb3IgVVNWU3RyaW5nKSBpbml0
ID0gIiIpOwogCiAgICAgdW5kZWZpbmVkIGFwcGVuZChVU1ZTdHJpbmcgbmFtZSwgVVNWU3RyaW5n
IHZhbHVlKTsKICAgICBbSW1wbGVtZW50ZWRBcz1yZW1vdmVdIHVuZGVmaW5lZCBkZWxldGUoVVNW
U3RyaW5nIG5hbWUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tD
dWUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
Q3VlLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9U
ZXh0VHJhY2tDdWUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiAgICAgU2tp
cFZUYWJsZVZhbGlkYXRpb24sCiAgICAgTGVnYWN5RmFjdG9yeUZ1bmN0aW9uRW5hYmxlZEJ5U2V0
dGluZz1HZW5lcmljQ3VlQVBJCiBdIGludGVyZmFjZSBUZXh0VHJhY2tDdWUgOiBFdmVudFRhcmdl
dCB7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0
b3IoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIGVuZFRpbWUsIERvY3VtZW50RnJhZ21lbnQgY3Vl
Tm9kZSk7CisgICAgW0NhbGxXaXRoPURvY3VtZW50XSBjb25zdHJ1Y3Rvcihkb3VibGUgc3RhcnRU
aW1lLCBkb3VibGUgZW5kVGltZSwgRG9jdW1lbnRGcmFnbWVudCBjdWVOb2RlKTsKIAogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBUZXh0VHJhY2sgdHJhY2s7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuaWRsCShyZXZpc2lvbiAyNjY5OTkpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50U291cmNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogICAgIEV4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEFjdGl2ZURPTU9iamVjdCwKIF0gaW50ZXJmYWNl
IEV2ZW50U291cmNlIDogRXZlbnRUYXJnZXQgewotICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0LCBNYXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoVVNWU3RyaW5nIHVybCwg
b3B0aW9uYWwgRXZlbnRTb3VyY2VJbml0IGV2ZW50U291cmNlSW5pdERpY3QpOworICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgdXJsLCBv
cHRpb25hbCBFdmVudFNvdXJjZUluaXQgZXZlbnRTb3VyY2VJbml0RGljdCk7CiAKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIFVSTDsgLy8gTG93ZXJjYXNlZCAudXJsIGlzIHRoZSBv
bmUgaW4gdGhlIHNwZWMsIGJ1dCBsZWF2aW5nIC5VUkwgZm9yIGNvbXBhdGliaWxpdHkgcmVhc29u
cy4KICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHVybDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaWRsCShyZXZpc2lvbiAyNjY5OTkp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2VjdGlvbk9ic2VydmVyLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogICAgIENvbmRpdGlvbmFsPUlOVEVSU0VDVElPTl9P
QlNFUlZFUiwKICAgICBFbmFibGVkQnlTZXR0aW5nPUludGVyc2VjdGlvbk9ic2VydmVyCiBdIGlu
dGVyZmFjZSBJbnRlcnNlY3Rpb25PYnNlcnZlciB7Ci0gICAgW0NhbGxXaXRoPURvY3VtZW50LCBN
YXlUaHJvd0V4Y2VwdGlvbl0gY29uc3RydWN0b3IoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFj
ayBjYWxsYmFjaywgb3B0aW9uYWwgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJJbml0IG9wdGlvbnMpOwor
ICAgIFtDYWxsV2l0aD1Eb2N1bWVudF0gY29uc3RydWN0b3IoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJD
YWxsYmFjayBjYWxsYmFjaywgb3B0aW9uYWwgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJJbml0IG9wdGlv
bnMpOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGU/IHJvb3Q7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyByb290TWFyZ2luOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmlkbAkocmV2aXNpb24gMjY2OTk5KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiBbCiAgICAgQWN0aXZlRE9N
T2JqZWN0LAogXSBpbnRlcmZhY2UgV29ya2VyIDogRXZlbnRUYXJnZXQgewotICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0JlJ1bnRpbWVGbGFncywgTWF5VGhyb3dFeGNlcHRpb25d
IGNvbnN0cnVjdG9yKFVTVlN0cmluZyBzY3JpcHRVcmwsIG9wdGlvbmFsIFdvcmtlck9wdGlvbnMg
b3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmUnVudGltZUZs
YWdzXSBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgc2NyaXB0VXJsLCBvcHRpb25hbCBXb3JrZXJPcHRp
b25zIG9wdGlvbnMpOwogCiAgICAgdW5kZWZpbmVkIHRlcm1pbmF0ZSgpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>