<?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>188018</bug_id>
          
          <creation_ts>2018-07-25 13:48:20 -0700</creation_ts>
          <short_desc>REGRESSION(r227577) Text on TV &amp; Movies page doesn&apos;t wrap properly in iTunes</short_desc>
          <delta_ts>2018-07-25 15:44:57 -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>Layout and Rendering</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1445147</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-07-25 13:48:20 -0700</bug_when>
    <thetext>rollout r227577</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445149</commentid>
    <comment_count>1</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-07-25 13:48:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/42517520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445153</commentid>
    <comment_count>2</comment_count>
      <attachid>345781</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-07-25 13:53:41 -0700</bug_when>
    <thetext>Created attachment 345781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445197</commentid>
    <comment_count>3</comment_count>
      <attachid>345781</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-25 15:44:55 -0700</bug_when>
    <thetext>Comment on attachment 345781
Patch

Clearing flags on attachment: 345781

Committed r234215: &lt;https://trac.webkit.org/changeset/234215&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445198</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-25 15:44:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345781</attachid>
            <date>2018-07-25 13:53:41 -0700</date>
            <delta_ts>2018-07-25 15:44:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188018-20180725135341.patch</filename>
            <type>text/plain</type>
            <size>98119</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzMzOTlkODYwYmVmMjQ5
OGNjMTEzMjA5ZDk5YTIyNWY4MWE4ZmJjZS4uNWYxOTNjODMzMGE4Njg4YzkzMzA1MTY3MWU2NTY5
OTE3ZjY3ZmE4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyOCBAQAorMjAxOC0wNy0yNSAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjIyNzU3
NykgVGV4dCBvbiBUViAmIE1vdmllcyBwYWdlIGRvZXNuJ3Qgd3JhcCBwcm9wZXJseSBpbiBpVHVu
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODAx
OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDI1MTc1MjA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFudWFsIHJvbGxvdXQgb2YgcjIyNzU3Ny4K
KworICAgICAgICBUZXN0OiBmYXN0L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10ZXh0LXNoYWRv
dy5odG1sCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2
YWx1ZUZvclByb3BlcnR5aW5TdHlsZSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnRpZXMuanNv
bjoKKyAgICAgICAgKiBjc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXRMaW5lc0NsYW1wKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dCk6CisgICAgICAgICog
Y3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXJDb250ZXh0SGFzaDo6aGFzaCk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5n
bGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lTGluZXNDbGFtcCk6IERlbGV0ZWQu
CisgICAgICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojp3aWxs
Q3JlYXRlQ29sdW1ucyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpnZXRIZWlnaHRGb3JMaW5l
Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpoZWlnaHRGb3JMaW5l
Q291bnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjpsYXlvdXRFeGNsdWRl
ZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6bG9naWNhbEhl
aWdodEZvckxpbmVDb3VudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
a0Zsb3c6OmxvZ2ljYWxIZWlnaHRFeGNsdWRpbmdMaW5lQ291bnQpOiBEZWxldGVkLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckRl
cHJlY2F0ZWRGbGV4aWJsZUJveDo6YXBwbHlMaW5lQ2xhbXApOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJG
cmFnbWVudENvbnRhaW5lcjo6cGFnZUxvZ2ljYWxIZWlnaHRGb3JPZmZzZXQgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGcmFnbWVudGVkRmxvdzo6dmFsaWRhdGVGcmFnbWVudHMpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRnJhZ21lbnRlZEZsb3c6OnBhZ2VMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZyYWdtZW50ZWRGbG93OjpwYWdlUmVt
YWluaW5nTG9naWNhbEhlaWdodEZvck9mZnNldCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckZyYWdtZW50ZWRGbG93Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpbmVz
Q2xhbXBGbG93LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZXND
bGFtcEZsb3cuaDogUmVtb3ZlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGluZXNDbGFt
cFNldC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpbmVzQ2xhbXBT
ZXQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxvdzo6aXNDb2x1bW5T
cGFubmluZ0Rlc2NlbmRhbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTXVsdGlDb2x1bW5GbG93OjpjcmVhdGVNdWx0aUNvbHVtblNldCk6IERlbGV0ZWQuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93OjptdWx0aUNvbHVtbkJsb2NrRmxvdyBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3c6Omhhc0NvbHVt
blNwYW5uZXIgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlD
b2x1bW5GbG93OjpmaW5kQ29sdW1uU3Bhbm5lclBsYWNlaG9sZGVyIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxvdzo6Y29sdW1uQ291bnQgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93Ojpj
b2x1bW5XaWR0aCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0
aUNvbHVtbkZsb3c6OmNvbHVtbkhlaWdodEF2YWlsYWJsZSBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnNldENvbHVtbkhlaWdodEF2YWls
YWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3c6
OmluQmFsYW5jaW5nUGFzcyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNdWx0aUNvbHVtbkZsb3c6OnNldEluQmFsYW5jaW5nUGFzcyk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3c6Om5lZWRzSGVpZ2h0c1JlY2FsY3VsYXRp
b24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5G
bG93OjpzZXROZWVkc0hlaWdodHNSZWNhbGN1bGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxvdzo6c2hvdWxkUmVsYXlvdXRGb3JQYWdpbmF0aW9u
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxv
dzo6c2V0Q29sdW1uQ291bnRBbmRXaWR0aCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnByb2dyZXNzaW9uSXNJbmxpbmUgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93OjpzZXRQcm9ncmVzc2lv
bklzSW5saW5lKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1u
Rmxvdzo6cHJvZ3Jlc3Npb25Jc1JldmVyc2VkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxvdzo6c2V0UHJvZ3Jlc3Npb25Jc1JldmVyc2VkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxvdzo6c3Bhbm5l
ck1hcCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpjb2xsZWN0TGF5
ZXJGcmFnbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNv
bHVtblRyYW5zbGF0aW9uRm9yT2Zmc2V0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTXVsdGlDb2x1bW5TZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1u
U2V0OjptdWx0aUNvbHVtbkJsb2NrRmxvdyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6bXVsdGlDb2x1bW5GbG93IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpsb2dpY2FsVG9wSW5G
cmFnbWVudGVkRmxvdyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
dWx0aUNvbHVtblNldDo6bG9naWNhbEJvdHRvbUluRnJhZ21lbnRlZEZsb3cgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmxvZ2ljYWxIZWln
aHRJbkZyYWdtZW50ZWRGbG93IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck11bHRpQ29sdW1uU2V0Ojpjb21wdXRlZENvbHVtbkNvdW50IGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0Ojpjb21wdXRlZENvbHVtbldp
ZHRoIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1u
U2V0Ojpjb21wdXRlZENvbHVtbkhlaWdodCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6Y29sdW1uSGVpZ2h0Q29tcHV0ZWQgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnNldENvbXB1
dGVkQ29sdW1uV2lkdGhBbmRDb3VudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNdWx0aUNvbHVtblNldDo6dXBkYXRlTWluaW11bUNvbHVtbkhlaWdodCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6bWluaW11bUNvbHVtbkhlaWdo
dCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNl
dDo6Zm9yY2VkQnJlYWtzQ291bnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTXVsdGlDb2x1bW5TZXQ6Omhhc0JlZW5GbG93ZWQgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnNraXBMYXllckZyYWdtZW50Q29s
bGVjdGlvbkZvckNvbHVtbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJNdWx0aUNvbHVtblNldDo6Y3VzdG9tQmxvY2tQcm9ncmVzc2lvbkFkanVzdG1lbnRGb3JDb2x1
bW4gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5T
ZXQ6OkNvbnRlbnRSdW46OkNvbnRlbnRSdW4pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OkNvbnRlbnRSdW46OmFzc3VtZWRJbXBsaWNpdEJyZWFrcyBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6
Q29udGVudFJ1bjo6YXNzdW1lQW5vdGhlckltcGxpY2l0QnJlYWspOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OkNvbnRlbnRSdW46OmJyZWFrT2Zmc2V0
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0
OjpDb250ZW50UnVuOjpjb2x1bW5Mb2dpY2FsSGVpZ2h0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3Q6OmlzUmVuZGVyTGluZXNDbGFtcEZsb3cgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc1JlbmRlckxpbmVzQ2xhbXBTZXQgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9MaW5lQ2xhbXBWYWx1ZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6TGluZXNDbGFtcFZhbHVlOjpMaW5lc0NsYW1wVmFsdWUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TGluZXNDbGFtcFZhbHVlOjppc05vbmUgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6TGluZXNDbGFtcFZhbHVlOjpvcGVyYXRvcj09IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxpbmVzQ2xhbXBWYWx1ZTo6b3BlcmF0b3IhPSBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMaW5lc0NsYW1wVmFsdWU6OnN0YXJ0
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxpbmVzQ2xhbXBWYWx1ZTo6ZW5k
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxpbmVzQ2xhbXBWYWx1ZTo6Y2Vu
dGVyIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpsaW5lQ2xhbXAgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldExpbmVDbGFtcCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVDbGFtcCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTdHlsZTo6aGFzSW5saW5lQ29sdW1uQXhpcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdHlsZTo6bGluZXNDbGFtcCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTdHlsZTo6aGFzTGluZXNDbGFtcCBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0TGluZXNDbGFtcCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVzQ2xhbXApOiBEZWxldGVkLgor
ICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YTo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvdXBkYXRpbmcvUmVu
ZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1ZhbGlk
Q29sdW1uU3Bhbm5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUcmVlQnVpbGRlcjo6TXVs
dGlDb2x1bW46OmNyZWF0ZUZyYWdtZW50ZWRGbG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6cHJvY2Vzc1Bvc3NpYmxlU3Bhbm5lckRlc2NlbmRh
bnQpOgorCiAyMDE4LTA3LTI0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTiAocjIxOTc1Nyk6IEFjY2Vzc2luZyByZXNwb25zZSBnZXR0ZXIgb2Yg
WEhSIGluc3RhbmNlIGZyb20gSUZSQU1FIHNldHMgY29uc3RydWN0b3IgdG8gT2JqZWN0IGZyb20g
dGhlIElGUkFNRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCA3NGExODA4MDExM2UzYzNlZTVlOTgwNTJiMTY4MjI2NTM1
Y2U0YzA4Li5kOGJjNmU2ZjFlZDFjZDIzMTdjN2ZhN2I3Y2NmNGNlYWEzMTkwNzc0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTA3LTI1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjI3NTc3KSBUZXh0IG9uIFRWICYgTW92aWVz
IHBhZ2UgZG9lc24ndCB3cmFwIHByb3Blcmx5IGluIGlUdW5lcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MDE4CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80MjUxNzUyMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6bV9jcmVkZW50aWFsc01lc3Nlbmdlcik6CisKIDIwMTgtMDctMjUgIEJyZW50IEZ1bGdoYW0g
IDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBQbHVnaW5Qcm9jZXNzIG5l
ZWRzIFRDQyBlbnRpdGxlbWVudHMgZm9yIG1lZGlhIGNhcHR1cmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXgg
MjMwYTAwYzVlMDc5YjNiMDU4OWY1MDk0MDY5OGMzMmJmZGNiMDQ4MC4uZjk5NmQyNzM5NjdhNTY4
NWM1MDk5NWJlODRmMTczODFkZjA0YjU3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE4ODgsOCArMTg4
OCw2IEBAIHJlbmRlcmluZy9SZW5kZXJMYXllckZpbHRlckluZm8uY3BwCiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKIHJlbmRlcmluZy9SZW5kZXJMaW5lQm94TGlzdC5jcHAK
IHJlbmRlcmluZy9SZW5kZXJMaW5lQnJlYWsuY3BwCi1yZW5kZXJpbmcvUmVuZGVyTGluZXNDbGFt
cEZsb3cuY3BwCi1yZW5kZXJpbmcvUmVuZGVyTGluZXNDbGFtcFNldC5jcHAKIHJlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcAogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAogcmVuZGVyaW5n
L1JlbmRlckxpc3RNYXJrZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjJlMTQyM2IxYWQxMzkyZmQzZmNjOWQwYjA1NDVi
ODU3MDUxNDFlNy4uNDkyMDZlNDAyMTY5MzFmY2QxMjE2YTkxOTM3MTZhNGJkYjQyODBkYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMjY4Nyw4ICsyNjg3LDYgQEAKIAkJOTQ5Qzc3MDUxRDZFMzlFQTAwQzBERTRGIC8qIENTU1By
b3BlcnR5UGFyc2VySGVscGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTQ5Qzc3MDMxRDZFMzkzNTAwQzBERTRGIC8qIENTU1Byb3BlcnR5UGFyc2Vy
SGVscGVycy5oICovOyB9OwogCQk5NDlDNzcwOTFENkU0OTg3MDBDMERFNEYgLyogQ1NTUGFyc2Vy
T2JzZXJ2ZXJXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5NDlDNzcwNzFENkU0OEVEMDBDMERFNEYgLyogQ1NTUGFyc2VyT2JzZXJ2ZXJXcmFw
cGVyLmggKi87IH07CiAJCTk0OUM3NzBCMUQ2RTQ5RUQwMEMwREU0RiAvKiBDU1NQYXJzZXJPYnNl
cnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTQ5
Qzc3MEExRDZFNDlDMzAwQzBERTRGIC8qIENTU1BhcnNlck9ic2VydmVyLmggKi87IH07Ci0JCTk0
Q0ZENjBBMUZFOTg2N0UwMDI0ODhBRCAvKiBSZW5kZXJMaW5lc0NsYW1wRmxvdy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTRDRkQ2MDgxRkU5ODY2OTAw
MjQ4OEFEIC8qIFJlbmRlckxpbmVzQ2xhbXBGbG93LmggKi87IH07Ci0JCTk0Q0ZENjBEMUZFQUNF
RkUwMDI0ODhBRCAvKiBSZW5kZXJMaW5lc0NsYW1wU2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NENGRDYwQzFGRUFDRUVDMDAyNDg4QUQgLyogUmVu
ZGVyTGluZXNDbGFtcFNldC5oICovOyB9OwogCQk5NERFNUM4MjFEN0YzQTE0MDAxNjRGMkEgLyog
Q1NTQXRSdWxlSUQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk0REU1QzgwMUQ3RjM5RDAwMDE2NEYyQSAvKiBDU1NBdFJ1bGVJRC5oICovOyB9OwogCQk5
NERFNUM4RTFEODA4MDI3MDAxNjRGMkEgLyogQ1NTU2VsZWN0b3JQYXJzZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk0REU1QzhDMUQ4MDgwMTUwMDE2
NEYyQSAvKiBDU1NTZWxlY3RvclBhcnNlci5oICovOyB9OwogCQk5NERFNUM5MjFEODMwMTFEMDAx
NjRGMkEgLyogQ1NTU3VwcG9ydHNQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk0REU1QzkwMUQ4MzAwQ0IwMDE2NEYyQSAvKiBDU1NTdXBwb3J0
c1BhcnNlci5oICovOyB9OwpAQCAtMTA1NDQsMTAgKzEwNTQyLDYgQEAKIAkJOTQ5Qzc3MDYxRDZF
NDhFRDAwQzBERTRGIC8qIENTU1BhcnNlck9ic2VydmVyV3JhcHBlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBDU1NQYXJzZXJPYnNlcnZlcldyYXBwZXIuY3BwOyBw
YXRoID0gcGFyc2VyL0NTU1BhcnNlck9ic2VydmVyV3JhcHBlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTk0OUM3NzA3MUQ2RTQ4RUQwMEMwREU0RiAvKiBDU1NQYXJzZXJPYnNl
cnZlcldyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ1NTUGFyc2Vy
T2JzZXJ2ZXJXcmFwcGVyLmg7IHBhdGggPSBwYXJzZXIvQ1NTUGFyc2VyT2JzZXJ2ZXJXcmFwcGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk0OUM3NzBBMUQ2RTQ5QzMwMEMwREU0
RiAvKiBDU1NQYXJzZXJPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBDU1NQYXJzZXJPYnNlcnZlci5oOyBwYXRoID0gcGFyc2VyL0NTU1BhcnNlck9ic2VydmVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk0Q0ZENjA3MUZFOTg2NjkwMDI0ODhBRCAv
KiBSZW5kZXJMaW5lc0NsYW1wRmxvdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJMaW5lc0NsYW1wRmxvdy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTk0Q0ZENjA4MUZFOTg2NjkwMDI0ODhBRCAvKiBSZW5kZXJMaW5lc0NsYW1wRmxvdy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJMaW5lc0NsYW1wRmxvdy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5NENGRDYwQjFGRUFDRUVDMDAyNDg4QUQg
LyogUmVuZGVyTGluZXNDbGFtcFNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJMaW5lc0NsYW1wU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJOTRDRkQ2MEMxRkVBQ0VFQzAwMjQ4OEFEIC8qIFJlbmRlckxpbmVzQ2xhbXBTZXQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTGluZXNDbGFtcFNldC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NEQ0QUM2MTFEQzI0QzgxMDA4MEYwMkQgLyog
Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTRERDc5NzIxRTU0RTNBMjAwNThGQjgwIC8qIEZsZXhpYmxlQm94QWxnb3JpdGht
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZsZXhpYmxlQm94QWxn
b3JpdGhtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTRERDc5NzMxRTU0RTNB
MjAwNThGQjgwIC8qIEZsZXhpYmxlQm94QWxnb3JpdGhtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZsZXhpYmxlQm94QWxnb3JpdGhtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yNTk2OSwxMCArMjU5NjMsNiBAQAogCQkJCTBCRTAzMEExMEYzMTEyRkIwMDND
MUE0NiAvKiBSZW5kZXJMaW5lQm94TGlzdC5oICovLAogCQkJCUJDRUE0ODI0MDk3RDkzMDIwMDk0
QzlFNCAvKiBSZW5kZXJMaW5lQnJlYWsuY3BwICovLAogCQkJCUJDRUE0ODI1MDk3RDkzMDIwMDk0
QzlFNCAvKiBSZW5kZXJMaW5lQnJlYWsuaCAqLywKLQkJCQk5NENGRDYwNzFGRTk4NjY5MDAyNDg4
QUQgLyogUmVuZGVyTGluZXNDbGFtcEZsb3cuY3BwICovLAotCQkJCTk0Q0ZENjA4MUZFOTg2Njkw
MDI0ODhBRCAvKiBSZW5kZXJMaW5lc0NsYW1wRmxvdy5oICovLAotCQkJCTk0Q0ZENjBCMUZFQUNF
RUMwMDI0ODhBRCAvKiBSZW5kZXJMaW5lc0NsYW1wU2V0LmNwcCAqLywKLQkJCQk5NENGRDYwQzFG
RUFDRUVDMDAyNDg4QUQgLyogUmVuZGVyTGluZXNDbGFtcFNldC5oICovLAogCQkJCUFCQjU0MTlD
MEFDRERGRTQwMDI4MjBFQiAvKiBSZW5kZXJMaXN0Qm94LmNwcCAqLywKIAkJCQlBQkI1NDE5RDBB
Q0RERkU0MDAyODIwRUIgLyogUmVuZGVyTGlzdEJveC5oICovLAogCQkJCUE4RUE3QTQ4MEExOTFB
NTIwMEE4RUY1RiAvKiBSZW5kZXJMaXN0SXRlbS5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDc0YmNjODE4OWU1
ZmYwZjg3NTEwOTg2YjU1N2MzY2IyZmI5MTk0OTQuLjZlNTRlYWJiNzcwZjFlYjgxNTNkMTc5OTNh
N2RkOTYxMzBkYmQ3NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0zNjIsNyArMzYyLDYgQEAgc3RhdGljIGNvbnN0IENT
U1Byb3BlcnR5SUQgY29tcHV0ZWRQcm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJvcGVydHlXZWJr
aXRMaW5lQm94Q29udGFpbiwKICAgICBDU1NQcm9wZXJ0eUxpbmVCcmVhaywKICAgICBDU1NQcm9w
ZXJ0eVdlYmtpdExpbmVDbGFtcCwKLSAgICBDU1NQcm9wZXJ0eVdlYmtpdExpbmVzQ2xhbXAsCiAg
ICAgQ1NTUHJvcGVydHlXZWJraXRMaW5lR3JpZCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdExpbmVT
bmFwLAogICAgIENTU1Byb3BlcnR5V2Via2l0TG9jYWxlLApAQCAtMzE3MCwxNSArMzE2OSw2IEBA
IFJlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0
eWluU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICAgICAgICBpZiAoc3R5bGUubGluZUNsYW1w
KCkuaXNOb25lKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbC5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKTsKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1
ZVBvb2wuY3JlYXRlVmFsdWUoc3R5bGUubGluZUNsYW1wKCkudmFsdWUoKSwgc3R5bGUubGluZUNs
YW1wKCkuaXNQZXJjZW50YWdlKCkgPyBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0Ug
OiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRMaW5lc0NsYW1wOiB7Ci0gICAgICAgICAgICBpZiAoc3R5bGUubGluZXNDbGFtcCgp
LmlzTm9uZSgpKQotICAgICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2wuY3JlYXRlSWRl
bnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7Ci0gICAgICAgICAgICBhdXRvIGxpc3QgPSBDU1NW
YWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7Ci0gICAgICAgICAgICBsaXN0LT5hcHBl
bmQoY3NzVmFsdWVQb29sLmNyZWF0ZVZhbHVlKHN0eWxlLmxpbmVzQ2xhbXAoKS5zdGFydCgpLnZh
bHVlKCksIHN0eWxlLmxpbmVzQ2xhbXAoKS5zdGFydCgpLmlzUGVyY2VudGFnZSgpID8gQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFIDogQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1C
RVIpKTsKLSAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlVmFsdWUo
c3R5bGUubGluZXNDbGFtcCgpLmVuZCgpLnZhbHVlKCksIHN0eWxlLmxpbmVzQ2xhbXAoKS5lbmQo
KS5pc1BlcmNlbnRhZ2UoKSA/IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSA6IENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSk7Ci0gICAgICAgICAgICBsaXN0LT5hcHBlbmQo
Y3NzVmFsdWVQb29sLmNyZWF0ZVZhbHVlKHN0eWxlLmxpbmVzQ2xhbXAoKS5jZW50ZXIoKSwgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpKTsKLSAgICAgICAgICAgIHJldHVybiBXVEZNb3Zl
KGxpc3QpOwotICAgICAgICB9CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlMaW5lSGVpZ2h0Ogog
ICAgICAgICAgICAgcmV0dXJuIGxpbmVIZWlnaHRGcm9tU3R5bGUoc3R5bGUpOwogICAgICAgICBj
YXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlSW1hZ2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbgppbmRleCA5NzQxYzAyMTMxNTQ1MjEzNThmOTY0YTdkMzRmOTcxMTNhZjhmOWUzLi5h
NTFiMmU2ZDMyMmI0OWQzZmU0YmQzZjhhZDI1ZjUyYmRkZDBjZDVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUwODcsMTIgKzUwODcsNiBAQAogICAgICAgICAiLXdl
YmtpdC1saW5lLWNsYW1wIjogewogICAgICAgICAgICAgInN0YXR1cyI6ICJub24tc3RhbmRhcmQi
CiAgICAgICAgIH0sCi0gICAgICAgICItd2Via2l0LWxpbmVzLWNsYW1wIjogewotICAgICAgICAg
ICAgInN0YXR1cyI6ICJub24tc3RhbmRhcmQiLAotICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVy
dGllcyI6IHsKLSAgICAgICAgICAgICAgICAiY3VzdG9tIjogIlZhbHVlIgotICAgICAgICAgICAg
fQotICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1saW5lLWdyaWQiOiB7CiAgICAgICAgICAg
ICAiaW5oZXJpdGVkIjogdHJ1ZSwKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggMWFlMzRlOTYyMTMy
ZWNhMzM4ZmQxNTA0OWZjYjBjMWQwZmNmNGM1MS4uNzUwOGI5ZjY2ZjhhZDQ3NDAyNmQwMDMxZDc2
MGQ0ODNkMGY0NzFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRl
ckN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaApA
QCAtMTQ0LDggKzE0NCw2IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVT
dHJva2VXaWR0aChTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgdm9pZCBh
cHBseVZhbHVlU3Ryb2tlQ29sb3IoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7Ci0gICAgCi0g
ICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdExpbmVzQ2xhbXAoU3R5bGVSZXNvbHZlciYs
IENTU1ZhbHVlJik7CiAKIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgcmVzZXRFZmZlY3RpdmVa
b29tKFN0eWxlUmVzb2x2ZXImKTsKQEAgLTE4NzQsMTggKzE4NzIsNCBAQCBpbmxpbmUgdm9pZCBT
dHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVTdHJva2VDb2xvcihTdHlsZVJlc29sdmVyJiBz
dHlsZVJlc29sdgogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0SGFzRXhwbGljaXRseVNl
dFN0cm9rZUNvbG9yKHRydWUpOwogfQogCi1pbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206
OmFwcGx5VmFsdWVXZWJraXRMaW5lc0NsYW1wKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIs
IENTU1ZhbHVlJiB2YWx1ZSkKLXsKLSAgICBpZiAoaXM8Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpIHsK
LSAgICAgICAgYXV0byYgbGlzdCA9IGRvd25jYXN0PENTU1ZhbHVlTGlzdD4odmFsdWUpOwotICAg
ICAgICBpZiAobGlzdC5sZW5ndGgoKSAhPSAzKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICBMaW5lQ2xhbXBWYWx1ZSBzdGFydCA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqbGlz
dC5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDApKTsKLSAgICAgICAgTGluZUNsYW1wVmFsdWUgZW5k
ID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KCpsaXN0Lml0ZW1XaXRob3V0Qm91bmRzQ2hl
Y2soMSkpOwotICAgICAgICBBdG9taWNTdHJpbmcgY2VudGVyID0gZG93bmNhc3Q8Q1NTUHJpbWl0
aXZlVmFsdWU+KCpsaXN0Lml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soMikpLnN0cmluZ1ZhbHVlKCk7
Ci0gICAgICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0TGluZXNDbGFtcChMaW5lc0NsYW1w
VmFsdWUoc3RhcnQsIGVuZCwgY2VudGVyKSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHN0eWxlUmVz
b2x2ZXIuc3R5bGUoKS0+c2V0TGluZXNDbGFtcChSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVzQ2xh
bXAoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuY3BwCmluZGV4IDRlNDFjOTBlZTNkODdmMWI3ZTAx
NGEyZmJmOGYyZTJlY2U2ZTFkZDAuLjJiYjM0YTljMDFhNDc2ZWVhMzA4N2E1YTVjMmU1ZmFiM2I4
MzA1NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0
LmNwcApAQCAtNjcsNyArNjcsNiBAQCBDU1NQYXJzZXJDb250ZXh0OjpDU1NQYXJzZXJDb250ZXh0
KERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgVVJMJiBzaGVldEJhc2VVUkwsCiAgICAgY29uaWNH
cmFkaWVudHNFbmFibGVkID0gZG9jdW1lbnQuc2V0dGluZ3MoKS5jb25pY0dyYWRpZW50c0VuYWJs
ZWQoKTsKICAgICBjb2xvckZpbHRlckVuYWJsZWQgPSBkb2N1bWVudC5zZXR0aW5ncygpLmNvbG9y
RmlsdGVyRW5hYmxlZCgpOwogICAgIGRlZmVycmVkQ1NTUGFyc2VyRW5hYmxlZCA9IGRvY3VtZW50
LnNldHRpbmdzKCkuZGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkKCk7Ci0gICAgYWxsb3dOZXdMaW5l
c0NsYW1wID0gZG9jdW1lbnQuc2V0dGluZ3MoKS5hcHBsZU1haWxMaW5lc0NsYW1wRW5hYmxlZCgp
OwogICAgIHVzZVN5c3RlbUFwcGVhcmFuY2UgPSBkb2N1bWVudC5wYWdlKCkgPyBkb2N1bWVudC5w
YWdlKCktPnVzZVN5c3RlbUFwcGVhcmFuY2UoKSA6IGZhbHNlOwogCiAjaWYgUExBVEZPUk0oSU9T
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJDb250ZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckNvbnRleHQuaAppbmRleCBh
YzE2OGVhMTlhNzAwMjk1MGE1ZGUyMmQ4ZjA3OGM4ODI3YTZkN2RlLi5lNDU4YzFkYTE3Y2M3YTNl
YTc4Njk5ZDI3Mzk5ODY1NGI5ODQ4NDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1BhcnNlckNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1BhcnNlckNvbnRleHQuaApAQCAtNTcsNyArNTcsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBj
b25pY0dyYWRpZW50c0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgY29sb3JGaWx0ZXJFbmFi
bGVkIHsgZmFsc2UgfTsKICAgICBib29sIGRlZmVycmVkQ1NTUGFyc2VyRW5hYmxlZCB7IGZhbHNl
IH07Ci0gICAgYm9vbCBhbGxvd05ld0xpbmVzQ2xhbXAgeyBmYWxzZSB9OwogICAgIAogICAgIC8v
IFRoaXMgaXMgb25seSBuZWVkZWQgdG8gc3VwcG9ydCBnZXRNYXRjaGVkQ1NTUnVsZXMuCiAgICAg
Ym9vbCBoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luIHsgZmFsc2UgfTsKQEAgLTk3LDEwICs5Niw5
IEBAIHN0cnVjdCBDU1NQYXJzZXJDb250ZXh0SGFzaCB7CiAgICAgICAgICAgICAmIGtleS5jb25p
Y0dyYWRpZW50c0VuYWJsZWQgICAgICAgICAgICAgICAgICAgICA8PCA3CiAgICAgICAgICAgICAm
IGtleS5jb2xvckZpbHRlckVuYWJsZWQgICAgICAgICAgICAgICAgICAgICAgICA8PCA4CiAgICAg
ICAgICAgICAmIGtleS5kZWZlcnJlZENTU1BhcnNlckVuYWJsZWQgICAgICAgICAgICAgICAgICA8
PCA5Ci0gICAgICAgICAgICAmIGtleS5hbGxvd05ld0xpbmVzQ2xhbXAgICAgICAgICAgICAgICAg
ICAgICAgICA8PCAxMAotICAgICAgICAgICAgJiBrZXkuaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdp
biAgICAgICAgICAgICAgICAgPDwgMTEKLSAgICAgICAgICAgICYga2V5LnVzZVN5c3RlbUFwcGVh
cmFuY2UgICAgICAgICAgICAgICAgICAgICAgIDw8IDEyCi0gICAgICAgICAgICAmIGtleS5tb2Rl
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PCAxMzsgLy8gS2VlcCB0aGlz
IGxhc3QuCisgICAgICAgICAgICAmIGtleS5oYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luICAgICAg
ICAgICAgICAgICA8PCAxMAorICAgICAgICAgICAgJiBrZXkudXNlU3lzdGVtQXBwZWFyYW5jZSAg
ICAgICAgICAgICAgICAgICAgICAgPDwgMTEKKyAgICAgICAgICAgICYga2V5Lm1vZGUgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8IDEyOyAvLyBLZWVwIHRoaXMgbGFzdC4K
ICAgICAgICAgaGFzaCBePSBXVEY6OmludEhhc2goYml0cyk7CiAgICAgICAgIHJldHVybiBoYXNo
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ci5jcHAKaW5kZXggYmQyN2Q2M2U3NmEyNGZjOWY5NmVjNjBjNmFjNjdkYTFlZTUyYzU4Yi4uNjE3
NzM4NzkxMjhkYmE2MTMzOWQwYWQxOWRhMGQwY2I0ZDY2ZTIzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTEzNDAsMjUgKzEzNDAs
NiBAQCBzdGF0aWMgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjb25zdW1lTGluZUNsYW1wKENT
U1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQogICAgIHJldHVybiBjb25zdW1lUG9zaXRpdmVJbnRl
Z2VyKHJhbmdlKTsKIH0KIAotc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUxpbmVzQ2xh
bXAoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCi17Ci0gICAgaWYgKHJhbmdlLnBlZWsoKS5p
ZCgpID09IENTU1ZhbHVlTm9uZSkKLSAgICAgICAgcmV0dXJuIGNvbnN1bWVJZGVudChyYW5nZSk7
Ci0gICAgCi0gICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3Jl
YXRlU3BhY2VTZXBhcmF0ZWQoKTsKLSAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHN0YXJ0
Q2xhbXBWYWx1ZSA9IGNvbnN1bWVMaW5lQ2xhbXAocmFuZ2UpOwotICAgIFJlZlB0cjxDU1NQcmlt
aXRpdmVWYWx1ZT4gZW5kQ2xhbXBWYWx1ZSA9IGNvbnN1bWVMaW5lQ2xhbXAocmFuZ2UpOwotICAg
IFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY2VudGVyQ2xhbXBWYWx1ZSA9IGNvbnN1bWVDdXN0
b21JZGVudChyYW5nZSk7Ci0gICAgaWYgKCFzdGFydENsYW1wVmFsdWUpCi0gICAgICAgIHJldHVy
biBudWxscHRyOwotICAgIGxpc3QtPmFwcGVuZChzdGFydENsYW1wVmFsdWUucmVsZWFzZU5vbk51
bGwoKSk7Ci0gICAgaWYgKGVuZENsYW1wVmFsdWUpCi0gICAgICAgIGxpc3QtPmFwcGVuZChlbmRD
bGFtcFZhbHVlLnJlbGVhc2VOb25OdWxsKCkpOwotICAgIGlmIChjZW50ZXJDbGFtcFZhbHVlKQot
ICAgICAgICBsaXN0LT5hcHBlbmQoY2VudGVyQ2xhbXBWYWx1ZS5yZWxlYXNlTm9uTnVsbCgpKTsK
LSAgICByZXR1cm4gbGlzdDsKLX0KLQogc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUF1
dG9PclN0cmluZyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKIHsKICAgICBpZiAocmFuZ2Uu
cGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVBdXRvKQpAQCAtNDAyNSw4ICs0MDA2LDYgQEAgUmVmUHRy
PENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9wZXJ0
eUlEIHByb3BlcnR5LCBDU1MKICAgICAgICAgcmV0dXJuIGNvbnN1bWVQb3NpdGlvbihtX3Jhbmdl
LCBtX2NvbnRleHQubW9kZSwgVW5pdGxlc3NRdWlyazo6Rm9yYmlkKTsKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0TGluZUNsYW1wOgogICAgICAgICByZXR1cm4gY29uc3VtZUxpbmVDbGFtcCht
X3JhbmdlKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TGluZXNDbGFtcDoKLSAgICAgICAg
cmV0dXJuIG1fY29udGV4dC5hbGxvd05ld0xpbmVzQ2xhbXAgPyBjb25zdW1lTGluZXNDbGFtcCht
X3JhbmdlKSA6IG51bGxwdHI7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTaXplRGVs
dGE6CiAgICAgICAgIHJldHVybiBjb25zdW1lTGVuZ3RoKG1fcmFuZ2UsIG1fY29udGV4dC5tb2Rl
LCBWYWx1ZVJhbmdlQWxsLCBVbml0bGVzc1F1aXJrOjpBbGxvdyk7CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdEh5cGhlbmF0ZUNoYXJhY3RlcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbApp
bmRleCA5MTBiMzM2YTI0MDAxNDNjZmNmMzBiMmFlYzFkNzdlZjExZTkyN2JkLi5iZGY4MDA0YzZj
NWYzNWMzOWUyNmRhNDFhYWZiYjU5Mzk4MzJlMGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55
YW1sCkBAIC00ODcsOSArNDg3LDYgQEAgc2VydmljZUNvbnRyb2xzRW5hYmxlZDoKIGFwcGxlTWFp
bFBhZ2luYXRpb25RdWlya0VuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAKLWFwcGxlTWFpbExp
bmVzQ2xhbXBFbmFibGVkOgotICBpbml0aWFsOiBmYWxzZQotCiBkZWZlcnJlZENTU1BhcnNlckVu
YWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5jcHAKaW5kZXggZTgxZDBhMmNmNjE3MGE3NzZmYzc3YmZhMGNkNTQ5ZmFk
NzFiZjQzMi4uMTMyZGM4ZmMzMTFkYTMxMmJiZWQ3M2UwMDdlMmIyOTE3MDczNmUyYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTQyNCwxMSAr
NDI0LDcgQEAgYm9vbCBSZW5kZXJCbG9ja0Zsb3c6OndpbGxDcmVhdGVDb2x1bW5zKHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IGRlc2lyZWRDb2x1bW5Db3UKICAgICAvLyBJZiBvdmVyZmxvdy15IGlz
IHNldCB0byBwYWdlZC14IG9yIHBhZ2VkLXkgb24gdGhlIGJvZHkgb3IgaHRtbCBlbGVtZW50LCB3
ZSdsbCBoYW5kbGUgdGhlIHBhZ2luYXRpbmcgaW4gdGhlIFJlbmRlclZpZXcgaW5zdGVhZC4KICAg
ICBpZiAoKHN0eWxlKCkub3ZlcmZsb3dZKCkgPT0gT3ZlcmZsb3c6OlBhZ2VkWCB8fCBzdHlsZSgp
Lm92ZXJmbG93WSgpID09IE92ZXJmbG93OjpQYWdlZFkpICYmICEoaXNEb2N1bWVudEVsZW1lbnRS
ZW5kZXJlcigpIHx8IGlzQm9keSgpKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgCi0gICAg
Ly8gTGluZXMgY2xhbXBpbmcgY3JlYXRlcyBjb2x1bW5zLgotICAgIGlmIChzdHlsZSgpLmhhc0xp
bmVzQ2xhbXAoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgCisKICAgICBpZiAoIXN0eWxl
KCkuc3BlY2lmaWVzQ29sdW1ucygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTMyMTIs
NTQgKzMyMDgsMzcgQEAgaW50IFJlbmRlckJsb2NrRmxvdzo6bGluZUNvdW50KGNvbnN0IFJvb3RJ
bmxpbmVCb3gqIHN0b3BSb290SW5saW5lQm94LCBib29sKiBmb3UKICAgICByZXR1cm4gY291bnQ7
CiB9CiAKLXN0YXRpYyBpbnQgZ2V0SGVpZ2h0Rm9yTGluZUNvdW50KGNvbnN0IFJlbmRlckJsb2Nr
RmxvdyYgYmxvY2ssIGludCBsaW5lQ291bnQsIGJvb2wgaW5jbHVkZUVkZ2VCb3JkZXJQYWRkaW5n
LCBib29sIGZvcndhcmQsIGludCYgY291bnQpCitzdGF0aWMgaW50IGdldEhlaWdodEZvckxpbmVD
b3VudChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrLCBpbnQgbGluZUNvdW50LCBib29sIGlu
Y2x1ZGVCb3R0b20sIGludCYgY291bnQpCiB7CiAgICAgaWYgKGJsb2NrLnN0eWxlKCkudmlzaWJp
bGl0eSgpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAgICAgICAgIHJldHVybiAtMTsKIAotICAg
IC8vIEZJWE1FOiBPcnRob2dvbmFsIHdyaXRpbmcgbW9kZXMgZG9uJ3Qgd29yayBoZXJlLCBidXQg
aXQncyBub3QgZXZlbiBjbGVhciBob3cgdGhleSBzaG91bGQgYmVoYXZlIGFueXdheS4KICAgICBp
ZiAoYmxvY2suY2hpbGRyZW5JbmxpbmUoKSkgewotICAgICAgICBmb3IgKGF1dG8qIGJveCA9IGZv
cndhcmQgPyBibG9jay5maXJzdFJvb3RCb3goKSA6IGJsb2NrLmxhc3RSb290Qm94KCk7IGJveDsg
Ym94ID0gZm9yd2FyZCA/IGJveC0+bmV4dFJvb3RCb3goKSA6IGJveC0+cHJldlJvb3RCb3goKSkg
ewotICAgICAgICAgICAgaWYgKCsrY291bnQgPT0gbGluZUNvdW50KSB7Ci0gICAgICAgICAgICAg
ICAgLy8gTWF0Y2hlcyB0aGUgcGFnaW5hdGlvbiBydWxlcyBpbiBhZGp1c3RMaW5lUG9zaXRpb25z
Rm9yUGFnaW5hdGlvbi4KLSAgICAgICAgICAgICAgICBMYXlvdXRSZWN0IGxvZ2ljYWxWaXN1YWxP
dmVyZmxvdyA9IGJveC0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdChib3gtPmxpbmVUb3AoKSwg
Ym94LT5saW5lQm90dG9tKCkpOwotICAgICAgICAgICAgICAgIExheW91dFVuaXQgbG9naWNhbFRv
cCA9IHN0ZDo6bWluKGJveC0+bGluZVRvcFdpdGhMZWFkaW5nKCksIGxvZ2ljYWxWaXN1YWxPdmVy
Zmxvdy55KCkpOwotICAgICAgICAgICAgICAgIExheW91dFVuaXQgbG9naWNhbEJvdHRvbSA9IHN0
ZDo6bWF4KGJveC0+bGluZUJvdHRvbVdpdGhMZWFkaW5nKCksIGxvZ2ljYWxWaXN1YWxPdmVyZmxv
dy5tYXhZKCkpOwotICAgICAgICAgICAgICAgIGlmIChmb3J3YXJkKQotICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gbG9naWNhbEJvdHRvbSArIChpbmNsdWRlRWRnZUJvcmRlclBhZGRpbmcgPyAo
YmxvY2suYm9yZGVyQW5kUGFkZGluZ0FmdGVyKCkpIDogTGF5b3V0VW5pdCgpKTsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gbG9naWNhbFRvcCArIChpbmNsdWRlRWRnZUJvcmRlclBhZGRpbmcgPyAo
YmxvY2suYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpKSA6IExheW91dFVuaXQoKSk7Ci0gICAgICAg
ICAgICB9CisgICAgICAgIGZvciAoYXV0byogYm94ID0gYmxvY2suZmlyc3RSb290Qm94KCk7IGJv
eDsgYm94ID0gYm94LT5uZXh0Um9vdEJveCgpKSB7CisgICAgICAgICAgICBpZiAoKytjb3VudCA9
PSBsaW5lQ291bnQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGJveC0+bGluZUJvdHRvbSgpICsg
KGluY2x1ZGVCb3R0b20gPyAoYmxvY2suYm9yZGVyQm90dG9tKCkgKyBibG9jay5wYWRkaW5nQm90
dG9tKCkpIDogTGF5b3V0VW5pdCgpKTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICAg
IFJlbmRlckJveCogbm9ybWFsRmxvd0NoaWxkV2l0aG91dExpbmVzID0gbnVsbHB0cjsKLSAgICAg
ICAgZm9yIChhdXRvKiBvYmogPSBmb3J3YXJkID8gYmxvY2suZmlyc3RDaGlsZEJveCgpIDogYmxv
Y2subGFzdENoaWxkQm94KCk7IG9iajsgb2JqID0gZm9yd2FyZCA/IG9iai0+bmV4dFNpYmxpbmdC
b3goKSA6IG9iai0+cHJldmlvdXNTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgZm9yIChhdXRvKiBv
YmogPSBibG9jay5maXJzdENoaWxkQm94KCk7IG9iajsgb2JqID0gb2JqLT5uZXh0U2libGluZ0Jv
eCgpKSB7CiAgICAgICAgICAgICBpZiAoaXM8UmVuZGVyQmxvY2tGbG93Pigqb2JqKSAmJiBzaG91
bGRDaGVja0xpbmVzKGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4oKm9iaikpKSB7Ci0gICAgICAg
ICAgICAgICAgaW50IHJlc3VsdCA9IGdldEhlaWdodEZvckxpbmVDb3VudChkb3duY2FzdDxSZW5k
ZXJCbG9ja0Zsb3c+KCpvYmopLCBsaW5lQ291bnQsIGZhbHNlLCBmb3J3YXJkLCBjb3VudCk7Ci0g
ICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSAtMSkgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoZm9yd2FyZCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQgKyBibG9j
ay5sb2dpY2FsVG9wRm9yQ2hpbGQoKm9iaikgKyAoaW5jbHVkZUVkZ2VCb3JkZXJQYWRkaW5nID8g
KGJsb2NrLmJvcmRlckFuZFBhZGRpbmdBZnRlcigpKSA6IExheW91dFVuaXQoKSk7Ci0gICAgICAg
ICAgICAgICAgICAgIHJldHVybiByZXN1bHQgKyBibG9jay5sb2dpY2FsVG9wRm9yQ2hpbGQoKm9i
aikgKyAoaW5jbHVkZUVkZ2VCb3JkZXJQYWRkaW5nID8gKGJsb2NrLmJvcmRlckFuZFBhZGRpbmdC
ZWZvcmUoKSkgOiBMYXlvdXRVbml0KCkpOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBpbnQgcmVzdWx0ID0gZ2V0SGVpZ2h0Rm9yTGluZUNvdW50KGRvd25jYXN0PFJlbmRlckJs
b2NrRmxvdz4oKm9iaiksIGxpbmVDb3VudCwgZmFsc2UsIGNvdW50KTsKKyAgICAgICAgICAgICAg
ICBpZiAocmVzdWx0ICE9IC0xKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0ICsg
b2JqLT55KCkgKyAoaW5jbHVkZUJvdHRvbSA/IChibG9jay5ib3JkZXJCb3R0b20oKSArIGJsb2Nr
LnBhZGRpbmdCb3R0b20oKSkgOiBMYXlvdXRVbml0KCkpOwogICAgICAgICAgICAgfSBlbHNlIGlm
ICghb2JqLT5pc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgICAgICAg
ICAgbm9ybWFsRmxvd0NoaWxkV2l0aG91dExpbmVzID0gb2JqOwogICAgICAgICB9CiAgICAgICAg
IGlmIChub3JtYWxGbG93Q2hpbGRXaXRob3V0TGluZXMgJiYgIWxpbmVDb3VudCkKLSAgICAgICAg
ICAgIHJldHVybiBibG9jay5sb2dpY2FsVG9wRm9yQ2hpbGQoKm5vcm1hbEZsb3dDaGlsZFdpdGhv
dXRMaW5lcykgKyBibG9jay5sb2dpY2FsSGVpZ2h0Rm9yQ2hpbGQoKm5vcm1hbEZsb3dDaGlsZFdp
dGhvdXRMaW5lcyk7CisgICAgICAgICAgICByZXR1cm4gbm9ybWFsRmxvd0NoaWxkV2l0aG91dExp
bmVzLT55KCkgKyBub3JtYWxGbG93Q2hpbGRXaXRob3V0TGluZXMtPmhlaWdodCgpOwogICAgIH0K
ICAgICAKICAgICByZXR1cm4gLTE7CiB9CiAKLWludCBSZW5kZXJCbG9ja0Zsb3c6OmxvZ2ljYWxI
ZWlnaHRGb3JMaW5lQ291bnQoaW50IGxpbmVDb3VudCkKK2ludCBSZW5kZXJCbG9ja0Zsb3c6Omhl
aWdodEZvckxpbmVDb3VudChpbnQgbGluZUNvdW50KQogewogICAgIGludCBjb3VudCA9IDA7Ci0g
ICAgcmV0dXJuIGdldEhlaWdodEZvckxpbmVDb3VudCgqdGhpcywgbGluZUNvdW50LCB0cnVlLCB0
cnVlLCBjb3VudCk7Ci19Ci0KLWludCBSZW5kZXJCbG9ja0Zsb3c6OmxvZ2ljYWxIZWlnaHRFeGNs
dWRpbmdMaW5lQ291bnQoaW50IGxpbmVDb3VudCkKLXsKLSAgICBpbnQgY291bnQgPSAwOwotICAg
IHJldHVybiBnZXRIZWlnaHRGb3JMaW5lQ291bnQoKnRoaXMsIGxpbmVDb3VudCwgdHJ1ZSwgZmFs
c2UsIGNvdW50KTsKKyAgICByZXR1cm4gZ2V0SGVpZ2h0Rm9yTGluZUNvdW50KCp0aGlzLCBsaW5l
Q291bnQsIHRydWUsIGNvdW50KTsKIH0KIAogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmNsZWFyVHJ1
bmNhdGlvbigpCkBAIC0zODM4LDggKzM4MTcsNiBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5
b3V0RXhjbHVkZWRDaGlsZHJlbihib29sIHJlbGF5b3V0Q2hpbGRyZW4pCiAgICAgICAgIGZyYWdt
ZW50ZWRGbG93LT5zZXROZWVkc0hlaWdodHNSZWNhbGN1bGF0aW9uKGZhbHNlKTsKICAgICB9CiAg
ICAgZGV0ZXJtaW5lTG9naWNhbExlZnRQb3NpdGlvbkZvckNoaWxkKCpmcmFnbWVudGVkRmxvdyk7
Ci0gICAgCi0gICAgZnJhZ21lbnRlZEZsb3ctPmxheW91dEZsb3dFeGNsdWRlZE9iamVjdHMocmVs
YXlvdXRDaGlsZHJlbik7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpjaGVja0ZvclBhZ2lu
YXRpb25Mb2dpY2FsSGVpZ2h0Q2hhbmdlKGJvb2wmIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVu
aXQmIHBhZ2VMb2dpY2FsSGVpZ2h0LCBib29sJiBwYWdlTG9naWNhbEhlaWdodENoYW5nZWQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKaW5kZXggYTVkMjRjZmZk
NDRkNjkwZmQyYjM4ZmM3MzY1MjU1ZTUyMGJkNWJlMy4uYWY2OGJhMDUxMzc5NGEwMTYyMDMyYTAx
MWQ0NmE5ZmE5OTRiYTBlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuaApAQCAtMzQ3LDkgKzM0Nyw3IEBAIHB1YmxpYzoKICAgICAvLyBIZWxwZXIgbWV0aG9k
cyBmb3IgY29tcHV0aW5nIGxpbmUgY291bnRzIGFuZCBoZWlnaHRzIGZvciBsaW5lIGNvdW50cy4K
ICAgICBSb290SW5saW5lQm94KiBsaW5lQXRJbmRleChpbnQpIGNvbnN0OwogICAgIGludCBsaW5l
Q291bnQoY29uc3QgUm9vdElubGluZUJveCogPSBudWxscHRyLCBib29sKiA9IG51bGxwdHIpIGNv
bnN0OwotICAgIGludCBsb2dpY2FsSGVpZ2h0Rm9yTGluZUNvdW50KGludCk7Ci0gICAgaW50IGxv
Z2ljYWxIZWlnaHRFeGNsdWRpbmdMaW5lQ291bnQoaW50KTsKLSAgICAKKyAgICBpbnQgaGVpZ2h0
Rm9yTGluZUNvdW50KGludCk7CiAgICAgdm9pZCBjbGVhclRydW5jYXRpb24oKTsKIAogICAgIHZv
aWQgc2V0SGFzTWFya3VwVHJ1bmNhdGlvbihib29sIGIpIHsgc2V0UmVuZGVyQmxvY2tGbG93SGFz
TWFya3VwVHJ1bmNhdGlvbihiKTsgfQpAQCAtMzkxLDggKzM4OSw2IEBAIHB1YmxpYzoKICAgICAv
LyB1bmJyZWFrYWJsZSBjb250ZW50LCBiZXR3ZWVuIG9ycGhhbnMgYW5kIHdpZG93cywgZXRjLiku
IFRoaXMgd2lsbCBiZSB1c2VkIGFzIGEgaGludCB0byB0aGUKICAgICAvLyBjb2x1bW4gYmFsYW5j
ZXIgdG8gaGVscCBzZXQgYSBnb29kIG1pbmltdW0gY29sdW1uIGhlaWdodC4KICAgICB2b2lkIHVw
ZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KExheW91dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IG1pbkhl
aWdodCk7Ci0gICAgCi0gICAgdm9pZCBkZXRlcm1pbmVMb2dpY2FsTGVmdFBvc2l0aW9uRm9yQ2hp
bGQoUmVuZGVyQm94JiBjaGlsZCwgQXBwbHlMYXlvdXREZWx0YU1vZGUgPSBEb05vdEFwcGx5TGF5
b3V0RGVsdGEpOwogCiAgICAgdm9pZCBhZGRGbG9hdHNUb05ld1BhcmVudChSZW5kZXJCbG9ja0Zs
b3cmIHRvQmxvY2tGbG93KSBjb25zdDsKIApAQCAtNDU4LDcgKzQ1NCw4IEBAIHByb3RlY3RlZDoK
ICAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUNvbHVtbkNvdW50QW5kV2lkdGgoKTsKIAogICAgIHZp
cnR1YWwgdm9pZCBjYWNoZVByaW9yQ2hhcmFjdGVyc0lmTmVlZGVkKGNvbnN0IExhenlMaW5lQnJl
YWtJdGVyYXRvciYpIHt9OwotCisgICAgCitwcm90ZWN0ZWQ6CiAgICAgLy8gQ2FsbGVkIHRvIGxh
eSBvdXQgdGhlIGxlZ2VuZCBmb3IgYSBmaWVsZHNldCBvciB0aGUgcnVieSB0ZXh0IG9mIGEgcnVi
eSBydW4uIEFsc28gdXNlZCBieSBtdWx0aS1jb2x1bW4gbGF5b3V0IHRvIGhhbmRsZQogICAgIC8v
IHRoZSBmbG93IHRocmVhZCBjaGlsZC4KICAgICB2b2lkIGxheW91dEV4Y2x1ZGVkQ2hpbGRyZW4o
Ym9vbCByZWxheW91dENoaWxkcmVuKSBvdmVycmlkZTsKQEAgLTUwNiw2ICs1MDMsOCBAQCBwcml2
YXRlOgogICAgIGJvb2wgaGFzT3ZlcmhhbmdpbmdGbG9hdHMoKSB7IHJldHVybiBwYXJlbnQoKSAm
JiBjb250YWluc0Zsb2F0cygpICYmIGxvd2VzdEZsb2F0TG9naWNhbEJvdHRvbSgpID4gbG9naWNh
bEhlaWdodCgpOyB9CiAgICAgTGF5b3V0VW5pdCBnZXRDbGVhckRlbHRhKFJlbmRlckJveCYgY2hp
bGQsIExheW91dFVuaXQgeVBvcyk7CiAKKyAgICB2b2lkIGRldGVybWluZUxvZ2ljYWxMZWZ0UG9z
aXRpb25Gb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkLCBBcHBseUxheW91dERlbHRhTW9kZSA9IERv
Tm90QXBwbHlMYXlvdXREZWx0YSk7CisgICAgCiAgICAgYm9vbCBoaXRUZXN0RmxvYXRzKGNvbnN0
IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYg
bG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0
KSBvdmVycmlkZTsKICAgICBib29sIGhpdFRlc3RJbmxpbmVDaGlsZHJlbihjb25zdCBIaXRUZXN0
UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9u
SW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVz
dEFjdGlvbikgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAKaW5kZXggNGU4ZmM5MjhjMDA3Mzhk
YTkyY2UzNGYyODRkYzQ1MDgxYWU4OTM0OC4uODc1ZmYzYmJjMmNiYzkzMWEyYTMxZTZhMDdjMDQx
ODllNDA4ZDAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRl
cHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAKQEAgLTk2Nyw3ICs5NjcsNyBAQCB2b2lkIFJl
bmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6YXBwbHlMaW5lQ2xhbXAoRmxleEJveEl0ZXJhdG9y
JiBpdGVyYXRvciwgYm9vbAogICAgICAgICBpZiAobGluZUNvdW50IDw9IG51bVZpc2libGVMaW5l
cykKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIExheW91dFVuaXQgbmV3SGVpZ2h0
ID0gYmxvY2tDaGlsZC5sb2dpY2FsSGVpZ2h0Rm9yTGluZUNvdW50KG51bVZpc2libGVMaW5lcyk7
CisgICAgICAgIExheW91dFVuaXQgbmV3SGVpZ2h0ID0gYmxvY2tDaGlsZC5oZWlnaHRGb3JMaW5l
Q291bnQobnVtVmlzaWJsZUxpbmVzKTsKICAgICAgICAgaWYgKG5ld0hlaWdodCA9PSBjaGlsZC0+
aGVpZ2h0KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHAKaW5kZXggNGE4MmM3ZWE2
ZjcwN2QwOTUzYmJlMjRjMWI2MjJlOWRmMzA4YmY4ZS4uMGQ0NDZkNGE0OWJhNmRmYWUzNDE0ZTYx
MzgyM2ZmZDNlYWUxNzliNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCkBAIC0xNzgsMTEgKzE3OCw2IEBAIExheW91dFVu
aXQgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6OnBhZ2VMb2dpY2FsVG9wRm9yT2Zmc2V0KExheW91
dFVuaXQgLyogb2Zmc2V0CiAgICAgcmV0dXJuIGZyYWdtZW50ZWRGbG93KCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0KCkueSgpIDogZnJhZ21l
bnRlZEZsb3dQb3J0aW9uUmVjdCgpLngoKTsKIH0KIAotTGF5b3V0VW5pdCBSZW5kZXJGcmFnbWVu
dENvbnRhaW5lcjo6cGFnZUxvZ2ljYWxIZWlnaHRGb3JPZmZzZXQoTGF5b3V0VW5pdCAvKiBvZmZz
ZXQgKi8pIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHBhZ2VMb2dpY2FsSGVpZ2h0KCk7Ci19Ci0KIGJv
b2wgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6OmlzRmlyc3RGcmFnbWVudCgpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKGlzVmFsaWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFnbWVudENvbnRhaW5lci5oCmluZGV4IGEwNzJlMTA2ODNmNTAzYWE1MzE3Nzg3NGM1
NmUxZmQ5M2QwYjVmY2QuLmIwNWJhZGEwMDBlZjc5ZWQ1NTg0ZmRhODM0YmZkNWYwZDRhMTgwZWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRh
aW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRh
aW5lci5oCkBAIC05Myw3ICs5Myw2IEBAIHB1YmxpYzoKICAgICAvLyBmbG93IHRocmVhZCBwb3J0
aW9uIHdlIGNvbnRhaW4uIEZvciBzZXRzLCB3ZSBoYXZlIHRvIGZpZ3VyZSBvdXQgdGhlIHRvcCBv
ZiB0aGUgbmVhcmVzdCBjb2x1bW4gb3IKICAgICAvLyBwYWdlLgogICAgIHZpcnR1YWwgTGF5b3V0
VW5pdCBwYWdlTG9naWNhbFRvcEZvck9mZnNldChMYXlvdXRVbml0IG9mZnNldCkgY29uc3Q7Ci0g
ICAgdmlydHVhbCBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KExheW91dFVu
aXQgb2Zmc2V0KSBjb25zdDsKIAogICAgIC8vIFdoZXRoZXIgb3Igbm90IHRoaXMgZnJhZ21lbnQg
aXMgYSBzZXQuCiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyRnJhZ21lbnRDb250YWluZXJTZXQo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAKaW5kZXggN2JiNWJmYzU2NmYxYjc0YzhlYWQyN2Ey
NDUyMmNkNzRlNzc2M2FmNC4uM2RiNmJlOWMxZDgyZGY3MWY0MjQ1ZDM5YzJiZjYzOTMxZjY3YmIx
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRG
bG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZs
b3cuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgdm9pZCBSZW5kZXJGcmFnbWVudGVkRmxvdzo6dmFs
aWRhdGVGcmFnbWVudHMoKQogICAgIGlmIChtX2ZyYWdtZW50c0ludmFsaWRhdGVkKSB7CiAgICAg
ICAgIG1fZnJhZ21lbnRzSW52YWxpZGF0ZWQgPSBmYWxzZTsKICAgICAgICAgbV9mcmFnbWVudHNI
YXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCA9IHRydWU7Ci0gICAgICAgIG1fZnJhZ21lbnRzSGF2ZVVu
aWZvcm1Mb2dpY2FsSGVpZ2h0ID0gc2luZ2xlRnJhZ21lbnRIYXNVbmlmb3JtTG9naWNhbEhlaWdo
dCgpOworICAgICAgICBtX2ZyYWdtZW50c0hhdmVVbmlmb3JtTG9naWNhbEhlaWdodCA9IHRydWU7
CiAKICAgICAgICAgaWYgKGhhc0ZyYWdtZW50cygpKSB7CiAgICAgICAgICAgICBMYXlvdXRVbml0
IHByZXZpb3VzRnJhZ21lbnRMb2dpY2FsV2lkdGggPSAwOwpAQCAtMzQ1LDcgKzM0NSw3IEBAIExh
eW91dFVuaXQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6OnBhZ2VMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0
KExheW91dFVuaXQgb2Zmc2V0KSBjCiAgICAgaWYgKCFmcmFnbWVudCkKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICByZXR1cm4gZnJhZ21lbnQtPnBhZ2VMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KG9m
ZnNldCk7CisgICAgcmV0dXJuIGZyYWdtZW50LT5wYWdlTG9naWNhbEhlaWdodCgpOwogfQogCiBM
YXlvdXRVbml0IFJlbmRlckZyYWdtZW50ZWRGbG93OjpwYWdlUmVtYWluaW5nTG9naWNhbEhlaWdo
dEZvck9mZnNldChMYXlvdXRVbml0IG9mZnNldCwgUGFnZUJvdW5kYXJ5UnVsZSBwYWdlQm91bmRh
cnlSdWxlKSBjb25zdApAQCAtMzU1LDcgKzM1NSw3IEBAIExheW91dFVuaXQgUmVuZGVyRnJhZ21l
bnRlZEZsb3c6OnBhZ2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KExheW91dFVuaXQK
ICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsVG9wID0gZnJh
Z21lbnQtPnBhZ2VMb2dpY2FsVG9wRm9yT2Zmc2V0KG9mZnNldCk7Ci0gICAgTGF5b3V0VW5pdCBw
YWdlTG9naWNhbEhlaWdodCA9IGZyYWdtZW50LT5wYWdlTG9naWNhbEhlaWdodEZvck9mZnNldChv
ZmZzZXQpOworICAgIExheW91dFVuaXQgcGFnZUxvZ2ljYWxIZWlnaHQgPSBmcmFnbWVudC0+cGFn
ZUxvZ2ljYWxIZWlnaHQoKTsKICAgICBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsQm90dG9tID0gcGFn
ZUxvZ2ljYWxUb3AgKyBwYWdlTG9naWNhbEhlaWdodDsKICAgICBMYXlvdXRVbml0IHJlbWFpbmlu
Z0hlaWdodCA9IHBhZ2VMb2dpY2FsQm90dG9tIC0gb2Zmc2V0OwogICAgIGlmIChwYWdlQm91bmRh
cnlSdWxlID09IEluY2x1ZGVQYWdlQm91bmRhcnkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKaW5kZXggZjczY2EwZDgzY2Q3ZDQ2ZDJmY2U5
NTczYzQ4YWRjYzE0MzBlYzEzNy4uZjE0ZDA4NTdjNzI2OGJkZThiMjQ1ZGY3MjEyMjI3Yzk4OTA5
MmM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50
ZWRGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRG
bG93LmgKQEAgLTgzLDE0ICs4MywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCB2YWxpZGF0ZUZyYWdt
ZW50cygpOwogICAgIHZvaWQgaW52YWxpZGF0ZUZyYWdtZW50cyhNYXJraW5nQmVoYXZpb3IgPSBN
YXJrQ29udGFpbmluZ0Jsb2NrQ2hhaW4pOwogICAgIGJvb2wgaGFzVmFsaWRGcmFnbWVudEluZm8o
KSBjb25zdCB7IHJldHVybiAhbV9mcmFnbWVudHNJbnZhbGlkYXRlZCAmJiAhbV9mcmFnbWVudExp
c3QuaXNFbXB0eSgpOyB9Ci0KLSAgICB2aXJ0dWFsIGJvb2wgc2luZ2xlRnJhZ21lbnRIYXNVbmlm
b3JtTG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KICAgICAKICAgICAvLyBD
YWxsZWQgd2hlbiBhIGRlc2NlbmRhbnQgYm94J3MgbGF5b3V0IGlzIGZpbmlzaGVkIGFuZCBpdCBo
YXMgYmVlbiBwb3NpdGlvbmVkIHdpdGhpbiBpdHMgY29udGFpbmVyLgogICAgIHZpcnR1YWwgdm9p
ZCBmcmFnbWVudGVkRmxvd0Rlc2NlbmRhbnRCb3hMYWlkT3V0KFJlbmRlckJveCopIHsgfQogCi0g
ICAgdmlydHVhbCB2b2lkIGxheW91dEZsb3dFeGNsdWRlZE9iamVjdHMoYm9vbCkgeyB9Ci0KICAg
ICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUq
IG9sZFN0eWxlKSBvdmVycmlkZTsKIAogICAgIHZvaWQgcmVwYWludFJlY3RhbmdsZUluRnJhZ21l
bnRzKGNvbnN0IExheW91dFJlY3QmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMaW5lc0NsYW1wRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGluZXNDbGFtcEZsb3cuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAzM2NjZDFlZmE2NTA2NDlmNTFiNGFkYzc0MmFmN2ZiNThlZDdiMzYzLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaW5lc0NsYW1wRmxvdy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5NSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3LDIwMTggQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU4uLjBURVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJSZW5kZXJMaW5lc0NsYW1wRmxvdy5o
IgotCi0jaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5oIgotI2luY2x1ZGUgIlJlbmRlckxp
bmVzQ2xhbXBTZXQuaCIKLSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChSZW5kZXJMaW5l
c0NsYW1wRmxvdyk7Ci0KLVJlbmRlckxpbmVzQ2xhbXBGbG93OjpSZW5kZXJMaW5lc0NsYW1wRmxv
dyhEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAgOiBSZW5kZXJN
dWx0aUNvbHVtbkZsb3coZG9jdW1lbnQsIFdURk1vdmUoc3R5bGUpKQotewotfQotCi1SZW5kZXJM
aW5lc0NsYW1wRmxvdzo6flJlbmRlckxpbmVzQ2xhbXBGbG93KCkgPSBkZWZhdWx0OwotCi1jb25z
dCBjaGFyKiBSZW5kZXJMaW5lc0NsYW1wRmxvdzo6cmVuZGVyTmFtZSgpIGNvbnN0Ci17ICAgIAot
ICAgIHJldHVybiAiUmVuZGVyTGluZXNDbGFtcEZsb3ciOwotfQotCi1SZW5kZXJQdHI8UmVuZGVy
TXVsdGlDb2x1bW5TZXQ+IFJlbmRlckxpbmVzQ2xhbXBGbG93OjpjcmVhdGVNdWx0aUNvbHVtblNl
dChSZW5kZXJTdHlsZSYmIHN0eWxlKQotewotICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5k
ZXJMaW5lc0NsYW1wU2V0PigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwotfQotCi1ib29sIFJlbmRl
ckxpbmVzQ2xhbXBGbG93Ojppc0NoaWxkQWxsb3dlZEluRnJhZ21lbnRlZEZsb3coY29uc3QgUmVu
ZGVyQmxvY2tGbG93JiBwYXJlbnQsIGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlckVsZW1lbnQp
IGNvbnN0Ci17Ci0gICAgY29uc3QgYXV0byYgaWRBdHRyID0gcmVuZGVyRWxlbWVudC5lbGVtZW50
KCkgPyByZW5kZXJFbGVtZW50LmVsZW1lbnQoKS0+Z2V0SWRBdHRyaWJ1dGUoKSA6IG51bGxBdG9t
KCk7Ci0gICAgY29uc3QgYXV0byYgY2xhbXBBdHRyID0gcGFyZW50LnN0eWxlKCkubGluZXNDbGFt
cCgpLmNlbnRlcigpOwotICAgIHJldHVybiBjbGFtcEF0dHIgPT0gbnVsbEF0b20oKSB8fCBjbGFt
cEF0dHIgIT0gaWRBdHRyOwotfQotCi12b2lkIFJlbmRlckxpbmVzQ2xhbXBGbG93OjpsYXlvdXRG
bG93RXhjbHVkZWRPYmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikKLXsKLSAgICBhdXRvKiBj
bGFtcENvbnRhaW5lciA9IG11bHRpQ29sdW1uQmxvY2tGbG93KCk7Ci0gICAgaWYgKCFjbGFtcENv
bnRhaW5lcikKLSAgICAgICAgcmV0dXJuOwotICAgIGF1dG8qIGNsYW1wU2V0ID0gZmlyc3RNdWx0
aUNvbHVtblNldCgpOwotICAgIGlmICghY2xhbXBTZXQgfHwgIWlzPFJlbmRlckxpbmVzQ2xhbXBT
ZXQ+KGNsYW1wU2V0KSkKLSAgICAgICAgcmV0dXJuOwotICAgIGF1dG8mIGxpbmVzQ2xhbXBTZXQg
PSBkb3duY2FzdDxSZW5kZXJMaW5lc0NsYW1wU2V0PigqY2xhbXBTZXQpOwotICAgIAotICAgIGZv
ciAoYXV0byYgc2libGluZyA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlckVsZW1lbnQ+KCpjbGFtcENv
bnRhaW5lcikpIHsKLSAgICAgICAgaWYgKGlzQ2hpbGRBbGxvd2VkSW5GcmFnbWVudGVkRmxvdygq
Y2xhbXBDb250YWluZXIsIHNpYmxpbmcpIHx8ICFpczxSZW5kZXJCb3g+KHNpYmxpbmcpKQotICAg
ICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgYXV0byYgc2libGluZ0JveCA9IGRvd25jYXN0
PFJlbmRlckJveD4oc2libGluZyk7Ci0gICAgICAgIAotICAgICAgICBzaWJsaW5nQm94LnNldElz
RXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KHRydWUpOwotICAgICAgICAKLSAgICAgICAgYXV0byBt
YXJnaW5CZWZvcmUgPSBjbGFtcENvbnRhaW5lci0+bWFyZ2luQmVmb3JlRm9yQ2hpbGQoc2libGlu
Z0JveCk7Ci0gICAgICAgIGF1dG8gbWFyZ2luQWZ0ZXIgPSBjbGFtcENvbnRhaW5lci0+bWFyZ2lu
QWZ0ZXJGb3JDaGlsZChzaWJsaW5nQm94KTsKLSAgICAgICAgCi0gICAgICAgIHNldExvZ2ljYWxU
b3BGb3JDaGlsZChzaWJsaW5nQm94LCBjbGFtcENvbnRhaW5lci0+Ym9yZGVyQW5kUGFkZGluZ0Jl
Zm9yZSgpICsgbGluZXNDbGFtcFNldC5zdGFydFBhZ2VIZWlnaHQoKSArIG1hcmdpbkJlZm9yZSk7
Ci0gICAgICAgIAotICAgICAgICBpZiAocmVsYXlvdXRDaGlsZHJlbikKLSAgICAgICAgICAgIHNp
YmxpbmdCb3guc2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwotICAgICAgICAKLSAg
ICAgICAgaWYgKHNpYmxpbmdCb3gubmVlZHNMYXlvdXQoKSkKLSAgICAgICAgICAgIHNpYmxpbmdC
b3gubGF5b3V0KCk7Ci0gICAgICAgIGNsYW1wQ29udGFpbmVyLT5kZXRlcm1pbmVMb2dpY2FsTGVm
dFBvc2l0aW9uRm9yQ2hpbGQoc2libGluZ0JveCk7Ci0gICAgICAgIAotICAgICAgICBsaW5lc0Ns
YW1wU2V0LnNldE1pZGRsZU9iamVjdEhlaWdodChtYXJnaW5CZWZvcmUgKyBtYXJnaW5BZnRlciAr
IGNsYW1wQ29udGFpbmVyLT5sb2dpY2FsSGVpZ2h0Rm9yQ2hpbGQoc2libGluZ0JveCkpOwotICAg
IH0KLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
bmVzQ2xhbXBGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZXNDbGFt
cEZsb3cuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQxYjliOGVmOTRjMGYwZGU2
NDIzY2JkZGRmMjQyMGM1ZDQ3Mjk3MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZXNDbGFtcEZs
b3cuaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTcsMjAxOCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUg
IlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgUmVuZGVyTGluZXNDbGFtcEZsb3cgZmluYWwgOiBw
dWJsaWMgUmVuZGVyTXVsdGlDb2x1bW5GbG93IHsKLSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
KFJlbmRlckxpbmVzQ2xhbXBGbG93KTsKLXB1YmxpYzoKLSAgICBSZW5kZXJMaW5lc0NsYW1wRmxv
dyhEb2N1bWVudCYsIFJlbmRlclN0eWxlJiYpOwotICAgIH5SZW5kZXJMaW5lc0NsYW1wRmxvdygp
OwotCi0gICAgYm9vbCBpc0NoaWxkQWxsb3dlZEluRnJhZ21lbnRlZEZsb3coY29uc3QgUmVuZGVy
QmxvY2tGbG93JiwgY29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OwotCi0gICAgYm9vbCBpc1Jl
bmRlckxpbmVzQ2xhbXBGbG93KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotCi0g
ICAgdm9pZCBsYXlvdXRGbG93RXhjbHVkZWRPYmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbikg
b3ZlcnJpZGU7Ci0gICAgCi0gICAgYm9vbCBzaW5nbGVGcmFnbWVudEhhc1VuaWZvcm1Mb2dpY2Fs
SGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KLSAgICAKLXByaXZhdGU6
Ci0gICAgUmVuZGVyUHRyPFJlbmRlck11bHRpQ29sdW1uU2V0PiBjcmVhdGVNdWx0aUNvbHVtblNl
dChSZW5kZXJTdHlsZSYmKSBvdmVycmlkZTsKLSAgICAKLSAgICAvLyBEaXNhYmxlIHNwYW5zIGFu
ZCBicmVha3MuCi0gICAgYm9vbCBpc0NvbHVtblNwYW5uaW5nRGVzY2VuZGFudChjb25zdCBSZW5k
ZXJCb3gmKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQotICAgIGJvb2wgYWRkRm9y
Y2VkRnJhZ21lbnRCcmVhayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQsIFJlbmRlckJv
eCosIGJvb2wsIExheW91dFVuaXQqID0gMCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KLSAg
ICAKLXByaXZhdGU6Ci0gICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRl
OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X1JFTkRFUl9PQkpFQ1QoUmVuZGVyTGluZXNDbGFtcEZsb3csIGlzUmVuZGVyTGluZXNDbGFtcEZs
b3coKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lc0Ns
YW1wU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaW5lc0NsYW1wU2V0
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGFkMjQ4YTMyY2ZlYzc3ZDcyYzVm
YjY0ZTA0OTY3ZTRlOTlkMDViZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGluZXNDbGFtcFNldC5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMDQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNywyMDE4IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJSZW5kZXJMaW5lc0NsYW1wU2V0LmgiCi0KLSNpbmNsdWRlICJSZW5kZXJCb3hGcmFnbWVu
dEluZm8uaCIKLSNpbmNsdWRlICJSZW5kZXJMaW5lc0NsYW1wRmxvdy5oIgotI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKFJlbmRlckxpbmVzQ2xhbXBTZXQpOwotCi1SZW5kZXJMaW5lc0Ns
YW1wU2V0OjpSZW5kZXJMaW5lc0NsYW1wU2V0KFJlbmRlckZyYWdtZW50ZWRGbG93JiBmcmFnbWVu
dGVkRmxvdywgUmVuZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IFJlbmRlck11bHRpQ29sdW1uU2V0
KGZyYWdtZW50ZWRGbG93LCBXVEZNb3ZlKHN0eWxlKSkKLXsKLX0KLQotYm9vbCBSZW5kZXJMaW5l
c0NsYW1wU2V0OjpyZWNhbGN1bGF0ZUNvbHVtbkhlaWdodChib29sIGluaXRpYWwpCi17Ci0gICAg
aWYgKCFpbml0aWFsICYmIG1fZW5kUGFnZUhlaWdodCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgYXV0byogZnJhZ21lbnRlZEZsb3cgPSBtdWx0aUNvbHVtbkZsb3coKTsKLSAgICBpZiAo
IWZyYWdtZW50ZWRGbG93KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCi0gICAgYXV0byog
YmxvY2tGbG93ID0gbXVsdGlDb2x1bW5CbG9ja0Zsb3coKTsKLSAgICBhdXRvIGVuZENsYW1wID0g
YmxvY2tGbG93LT5zdHlsZSgpLmxpbmVzQ2xhbXAoKS5lbmQoKTsKLSAgICAKLSAgICBpbnQgbWF4
TGluZUNvdW50ID0gZnJhZ21lbnRlZEZsb3ctPmxpbmVDb3VudCgpOwotICAgIGF1dG8gc3RhcnRD
bGFtcCA9IGJsb2NrRmxvdy0+c3R5bGUoKS5saW5lc0NsYW1wKCkuc3RhcnQoKTsKLSAgICBpbnQg
c3RhcnRMaW5lcyA9IHN0YXJ0Q2xhbXAuaXNQZXJjZW50YWdlKCkgPyBzdGQ6Om1heCgxLCBtYXhM
aW5lQ291bnQgKiBzdGFydENsYW1wLnZhbHVlKCkgLyAxMDApIDogc3RhcnRDbGFtcC52YWx1ZSgp
OwotICAgIAotICAgIGF1dG8gYm90dG9tID0gbG9naWNhbEJvdHRvbUluRnJhZ21lbnRlZEZsb3co
KTsKLSAgICAKLSAgICBpZiAoaW5pdGlhbCkgewotICAgICAgICBpZiAoc3RhcnRMaW5lcyA+PSBt
YXhMaW5lQ291bnQpCi0gICAgICAgICAgICBtX3N0YXJ0UGFnZUhlaWdodCA9IGJvdHRvbTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgbV9zdGFydFBhZ2VIZWlnaHQgPSBmcmFnbWVudGVkRmxv
dy0+bG9naWNhbEhlaWdodEZvckxpbmVDb3VudChzdGFydExpbmVzKTsKLSAgICAgICAgbV9lbmRQ
YWdlSGVpZ2h0ID0gMDsKLSAgICAgICAgbV9taWRkbGVQYWdlSGVpZ2h0ID0gYm90dG9tIC0gbV9z
dGFydFBhZ2VIZWlnaHQ7Ci0gICAgICAgIGlmIChtX3N0YXJ0UGFnZUhlaWdodCA8IGJvdHRvbSkg
ewotICAgICAgICAgICAgbV9jb21wdXRlZENvbHVtbkhlaWdodCA9IG1fc3RhcnRQYWdlSGVpZ2h0
OwotICAgICAgICAgICAgbV9jb2x1bW5IZWlnaHRDb21wdXRlZCA9IHRydWU7Ci0gICAgICAgICAg
ICB1cGRhdGVMb2dpY2FsV2lkdGgoKTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAg
ICB9Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgCi0gICAgaWYgKCFtX2VuZFBh
Z2VIZWlnaHQpIHsKLSAgICAgICAgaW50IGVuZExpbmVzID0gZW5kQ2xhbXAuaXNQZXJjZW50YWdl
KCkgPyBzdGQ6Om1heCgxLCBtYXhMaW5lQ291bnQgKiBlbmRDbGFtcC52YWx1ZSgpIC8gMTAwKSA6
IGVuZENsYW1wLnZhbHVlKCk7Ci0gICAgICAgIG1heExpbmVDb3VudCAtPSBzdGFydExpbmVzOwot
ICAgICAgICBpZiAoZW5kQ2xhbXAuaXNOb25lKCkgfHwgZW5kTGluZXMgPj0gbWF4TGluZUNvdW50
KQotICAgICAgICAgICAgbV9lbmRQYWdlSGVpZ2h0ID0gYm90dG9tIC0gbV9zdGFydFBhZ2VIZWln
aHQ7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fZW5kUGFnZUhlaWdodCA9IGJvdHRvbSAt
IGZyYWdtZW50ZWRGbG93LT5sb2dpY2FsSGVpZ2h0RXhjbHVkaW5nTGluZUNvdW50KGVuZExpbmVz
KTsKLSAgICAgICAgbV9taWRkbGVQYWdlSGVpZ2h0ID0gYm90dG9tIC0gKG1fZW5kUGFnZUhlaWdo
dCArIG1fc3RhcnRQYWdlSGVpZ2h0KTsKLSAgICAgICAgaWYgKG1fZW5kUGFnZUhlaWdodCA+IDAp
IHsKLSAgICAgICAgICAgIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQgPSBtX3N0YXJ0UGFnZUhlaWdo
dDsKLSAgICAgICAgICAgIG1fY29sdW1uSGVpZ2h0Q29tcHV0ZWQgPSB0cnVlOwotICAgICAgICAg
ICAgdXBkYXRlTG9naWNhbFdpZHRoKCk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotUmVuZGVyQm94OjpMb2dpY2Fs
RXh0ZW50Q29tcHV0ZWRWYWx1ZXMgUmVuZGVyTGluZXNDbGFtcFNldDo6Y29tcHV0ZUxvZ2ljYWxI
ZWlnaHQoTGF5b3V0VW5pdCwgTGF5b3V0VW5pdCBsb2dpY2FsVG9wKSBjb25zdAotewotICAgIHJl
dHVybiB7IG1fc3RhcnRQYWdlSGVpZ2h0ICsgbV9taWRkbGVPYmplY3RIZWlnaHQgKyBtX2VuZFBh
Z2VIZWlnaHQsIGxvZ2ljYWxUb3AsIENvbXB1dGVkTWFyZ2luVmFsdWVzKCkgfTsKLX0KLQotdW5z
aWduZWQgUmVuZGVyTGluZXNDbGFtcFNldDo6Y29sdW1uQ291bnQoKSBjb25zdAotewotICAgIGlm
IChtX2VuZFBhZ2VIZWlnaHQpCi0gICAgICAgIHJldHVybiAzOwotICAgIGlmIChtX3N0YXJ0UGFn
ZUhlaWdodCkKLSAgICAgICAgcmV0dXJuIDI7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLUxheW91dFJl
Y3QgUmVuZGVyTGluZXNDbGFtcFNldDo6Y29sdW1uUmVjdEF0KHVuc2lnbmVkIGluZGV4KSBjb25z
dAotewotICAgIExheW91dFVuaXQgY29sTG9naWNhbFdpZHRoID0gY29tcHV0ZWRDb2x1bW5XaWR0
aCgpOwotICAgIGlmICghaW5kZXgpCi0gICAgICAgIHJldHVybiBMYXlvdXRSZWN0KGNvbHVtbkxv
Z2ljYWxMZWZ0KDApLCBjb2x1bW5Mb2dpY2FsVG9wKDApLCBjb2xMb2dpY2FsV2lkdGgsIG1fc3Rh
cnRQYWdlSGVpZ2h0KTsKLSAgICBpZiAoaW5kZXggPT0gMSkKLSAgICAgICAgcmV0dXJuIExheW91
dFJlY3QoY29sdW1uTG9naWNhbExlZnQoMCksIGNvbHVtbkxvZ2ljYWxUb3AoMCksIGNvbExvZ2lj
YWxXaWR0aCwgMCk7Ci0gICAgcmV0dXJuIExheW91dFJlY3QoY29sdW1uTG9naWNhbExlZnQoMCks
IGNvbHVtbkxvZ2ljYWxUb3AoMCkgKyBtX3N0YXJ0UGFnZUhlaWdodCArIG1fbWlkZGxlT2JqZWN0
SGVpZ2h0LCBjb2xMb2dpY2FsV2lkdGgsIG1fZW5kUGFnZUhlaWdodCk7Ci19Ci0KLXVuc2lnbmVk
IFJlbmRlckxpbmVzQ2xhbXBTZXQ6OmNvbHVtbkluZGV4QXRPZmZzZXQoTGF5b3V0VW5pdCBvZmZz
ZXQsIENvbHVtbkluZGV4Q2FsY3VsYXRpb25Nb2RlKSBjb25zdAotewotICAgIGlmIChvZmZzZXQg
PCBtX3N0YXJ0UGFnZUhlaWdodCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKG9mZnNldCA8
IG1fc3RhcnRQYWdlSGVpZ2h0ICsgbV9taWRkbGVQYWdlSGVpZ2h0KQotICAgICAgICByZXR1cm4g
MTsKLSAgICByZXR1cm4gMjsKLX0KLQotTGF5b3V0VW5pdCBSZW5kZXJMaW5lc0NsYW1wU2V0Ojpw
YWdlTG9naWNhbFRvcEZvck9mZnNldChMYXlvdXRVbml0IG9mZnNldCkgY29uc3QKLXsKLSAgICB1
bnNpZ25lZCBjb2xJbmRleCA9IGNvbHVtbkluZGV4QXRPZmZzZXQob2Zmc2V0KTsKLSAgICBpZiAo
IWNvbEluZGV4KQotICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAoY29sSW5kZXggPT0gMSkKLSAg
ICAgICAgcmV0dXJuIG1fc3RhcnRQYWdlSGVpZ2h0OwotICAgIHJldHVybiBtX3N0YXJ0UGFnZUhl
aWdodCArIG1fbWlkZGxlUGFnZUhlaWdodDsKLX0KLQotTGF5b3V0VW5pdCBSZW5kZXJMaW5lc0Ns
YW1wU2V0OjpwYWdlTG9naWNhbEhlaWdodEZvck9mZnNldChMYXlvdXRVbml0IG9mZnNldCkgY29u
c3QKLXsKLSAgICB1bnNpZ25lZCBjb2xJbmRleCA9IGNvbHVtbkluZGV4QXRPZmZzZXQob2Zmc2V0
KTsKLSAgICBpZiAoIWNvbEluZGV4KQotICAgICAgICByZXR1cm4gbV9zdGFydFBhZ2VIZWlnaHQ7
Ci0gICAgaWYgKGNvbEluZGV4ID09IDEpCi0gICAgICAgIHJldHVybiBtX21pZGRsZVBhZ2VIZWln
aHQ7Ci0gICAgcmV0dXJuIG1fZW5kUGFnZUhlaWdodDsKLX0KLQotTGF5b3V0UmVjdCBSZW5kZXJM
aW5lc0NsYW1wU2V0OjpmcmFnbWVudGVkRmxvd1BvcnRpb25SZWN0QXQodW5zaWduZWQgaW5kZXgp
IGNvbnN0Ci17Ci0gICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wOwotICAgIExheW91dFVuaXQgbG9n
aWNhbEhlaWdodDsKLSAgICBpZiAoIWluZGV4KSB7Ci0gICAgICAgIGxvZ2ljYWxUb3AgPSAwOwot
ICAgICAgICBsb2dpY2FsSGVpZ2h0ID0gbV9zdGFydFBhZ2VIZWlnaHQ7Ci0gICAgfSBlbHNlIGlm
IChpbmRleCA9PSAxKSB7Ci0gICAgICAgIGxvZ2ljYWxUb3AgPSBtX3N0YXJ0UGFnZUhlaWdodDsK
LSAgICAgICAgbG9naWNhbEhlaWdodCA9IG1fbWlkZGxlUGFnZUhlaWdodDsKLSAgICB9IGVsc2Ug
ewotICAgICAgICBsb2dpY2FsVG9wID0gbV9zdGFydFBhZ2VIZWlnaHQgKyBtX21pZGRsZVBhZ2VI
ZWlnaHQ7Ci0gICAgICAgIGxvZ2ljYWxIZWlnaHQgPSBtX2VuZFBhZ2VIZWlnaHQ7Ci0gICAgfQot
Ci0gICAgTGF5b3V0UmVjdCBwb3J0aW9uUmVjdCA9IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3Qo
KTsKLSAgICBpZiAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgcG9ydGlvblJl
Y3QgPSBMYXlvdXRSZWN0KHBvcnRpb25SZWN0LngoKSwgcG9ydGlvblJlY3QueSgpICsgbG9naWNh
bFRvcCwgcG9ydGlvblJlY3Qud2lkdGgoKSwgbG9naWNhbEhlaWdodCk7Ci0gICAgZWxzZQotICAg
ICAgICBwb3J0aW9uUmVjdCA9IExheW91dFJlY3QocG9ydGlvblJlY3QueCgpICsgbG9naWNhbFRv
cCwgcG9ydGlvblJlY3QueSgpLCBsb2dpY2FsSGVpZ2h0LCBwb3J0aW9uUmVjdC5oZWlnaHQoKSk7
Ci0gICAgcmV0dXJuIHBvcnRpb25SZWN0OwotfQotCi1MYXlvdXRSZWN0IFJlbmRlckxpbmVzQ2xh
bXBTZXQ6OmZyYWdtZW50ZWRGbG93UG9ydGlvbk92ZXJmbG93UmVjdChjb25zdCBMYXlvdXRSZWN0
JiBwb3J0aW9uUmVjdCwgdW5zaWduZWQgaW5kZXgsIHVuc2lnbmVkIGNvbENvdW50LCBMYXlvdXRV
bml0IC8qIGNvbEdhcCAqLykKLXsKLSAgICBib29sIGlzRmlyc3RDb2x1bW4gPSAhaW5kZXg7Ci0g
ICAgYm9vbCBpc0xhc3RDb2x1bW4gPSBpbmRleCA9PSBjb2xDb3VudCAtIDE7Ci0gICAgCi0gICAg
TGF5b3V0UmVjdCBvdmVyZmxvd1JlY3QgPSBvdmVyZmxvd1JlY3RGb3JGcmFnbWVudGVkRmxvd1Bv
cnRpb24ocG9ydGlvblJlY3QsIGlzRmlyc3RDb2x1bW4sIGlzTGFzdENvbHVtbiwgVmlzdWFsT3Zl
cmZsb3cpOwotICAgIAotICAgIGlmIChpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKSB7Ci0gICAg
ICAgIGlmICghaXNGaXJzdENvbHVtbikKLSAgICAgICAgICAgIG92ZXJmbG93UmVjdC5zaGlmdFlF
ZGdlVG8ocG9ydGlvblJlY3QueSgpKTsKLSAgICAgICAgaWYgKCFpc0xhc3RDb2x1bW4pCi0gICAg
ICAgICAgICBvdmVyZmxvd1JlY3Quc2hpZnRNYXhZRWRnZVRvKHBvcnRpb25SZWN0Lm1heFkoKSk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKCFpc0ZpcnN0Q29sdW1uKQotICAgICAgICAgICAg
b3ZlcmZsb3dSZWN0LnNoaWZ0WEVkZ2VUbyhwb3J0aW9uUmVjdC54KCkpOwotICAgICAgICBpZiAo
IWlzTGFzdENvbHVtbikKLSAgICAgICAgICAgIG92ZXJmbG93UmVjdC5zaGlmdE1heFhFZGdlVG8o
cG9ydGlvblJlY3QubWF4WCgpKTsKLSAgICB9Ci0gICAgcmV0dXJuIG92ZXJmbG93UmVjdDsKLX0K
LQotTGF5b3V0VW5pdCBSZW5kZXJMaW5lc0NsYW1wU2V0OjpjdXN0b21CbG9ja1Byb2dyZXNzaW9u
QWRqdXN0bWVudEZvckNvbHVtbih1bnNpZ25lZCBpbmRleCkgY29uc3QKLXsKLSAgICBpZiAoaW5k
ZXggPT0gMikKLSAgICAgICAgcmV0dXJuIG1fbWlkZGxlT2JqZWN0SGVpZ2h0IC0gbV9taWRkbGVQ
YWdlSGVpZ2h0OwotICAgIHJldHVybiAwOwotfQotCi1jb25zdCBjaGFyKiBSZW5kZXJMaW5lc0Ns
YW1wU2V0OjpyZW5kZXJOYW1lKCkgY29uc3QKLXsgICAgCi0gICAgcmV0dXJuICJSZW5kZXJMaW5l
c0NsYW1wU2V0IjsKLX0KLQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpbmVzQ2xhbXBTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aW5lc0NsYW1wU2V0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2ZGRhNjllMDNj
YTllM2VjMTQ5MTBjOTlhMTQ3NmRhZTAxODM5NWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpbmVz
Q2xhbXBTZXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTcsMjAxOCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lu
Y2x1ZGUgIkxheWVyRnJhZ21lbnQuaCIKLSNpbmNsdWRlICJSZW5kZXJMaW5lc0NsYW1wRmxvdy5o
IgotI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uU2V0LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotY2xhc3MgUmVuZGVyTGluZXNDbGFtcFNldCBmaW5hbCA6IHB1YmxpYyBSZW5kZXJNdWx0
aUNvbHVtblNldCB7Ci0gICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChSZW5kZXJMaW5lc0NsYW1w
U2V0KTsKLXB1YmxpYzoKLSAgICBSZW5kZXJMaW5lc0NsYW1wU2V0KFJlbmRlckZyYWdtZW50ZWRG
bG93JiwgUmVuZGVyU3R5bGUmJik7Ci0gICAgCi0gICAgYm9vbCByZXF1aXJlc0JhbGFuY2luZygp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLQotICAgIExheW91dFVuaXQgc3RhcnRQ
YWdlSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9zdGFydFBhZ2VIZWlnaHQ7IH0KLSAgICBMYXlv
dXRVbml0IG1pZGRsZVBhZ2VIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX21pZGRsZVBhZ2VIZWln
aHQ7IH0KLSAgICBMYXlvdXRVbml0IGVuZFBhZ2VIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2Vu
ZFBhZ2VIZWlnaHQ7IH0KLQotICAgIExheW91dFVuaXQgbWlkZGxlT2JqZWN0SGVpZ2h0KCkgY29u
c3QgeyByZXR1cm4gbV9taWRkbGVPYmplY3RIZWlnaHQ7IH0KLSAgICB2b2lkIHNldE1pZGRsZU9i
amVjdEhlaWdodChMYXlvdXRVbml0IGhlaWdodCkgeyBtX21pZGRsZU9iamVjdEhlaWdodCA9IGhl
aWdodDsgfQotCi1wcml2YXRlOgotICAgIGJvb2wgaXNSZW5kZXJMaW5lc0NsYW1wU2V0KCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotCi0gICAgLy8gT3ZlcnJpZGRlbiB0byBmaWd1
cmUgb3V0IGhvdyB0byBicmVhayB1cCB0aGUgZmxvdyBpbnRvIHRoZSBzdGFydC9taWRkbGUvZW5k
Ci0gICAgLy8gYXJlYXMuCi0gICAgYm9vbCByZWNhbGN1bGF0ZUNvbHVtbkhlaWdodChib29sIGlu
aXRpYWwpIG92ZXJyaWRlOwotCi0gICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IG92
ZXJyaWRlOwotICAgIAotICAgIExvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyBjb21wdXRlTG9n
aWNhbEhlaWdodChMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHQsIExheW91dFVuaXQgbG9naWNhbFRv
cCkgY29uc3Qgb3ZlcnJpZGU7Ci0KLSAgICAvLyBMaW5lcyBjbGFtcCBkb2Vzbid0IHN1cHBvcnQg
Z2FwcyBvciBydWxlcy4KLSAgICBMYXlvdXRVbml0IGNvbHVtbkdhcCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIDA7IH0KLSAgICB2b2lkIHBhaW50Q29sdW1uUnVsZXMoUGFpbnRJbmZvJiwgY29u
c3QgTGF5b3V0UG9pbnQmKSBvdmVycmlkZSB7IH0KLQotICAgIExheW91dFJlY3QgY29sdW1uUmVj
dEF0KHVuc2lnbmVkIGluZGV4KSBjb25zdCBvdmVycmlkZTsKLSAgICB1bnNpZ25lZCBjb2x1bW5D
b3VudCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHVuc2lnbmVkIGNvbHVtbkluZGV4QXRPZmZzZXQo
TGF5b3V0VW5pdCwgQ29sdW1uSW5kZXhDYWxjdWxhdGlvbk1vZGUgPSBDbGFtcFRvRXhpc3RpbmdD
b2x1bW5zKSBjb25zdCBvdmVycmlkZTsKLSAgICAKLSAgICBMYXlvdXRSZWN0IGZyYWdtZW50ZWRG
bG93UG9ydGlvblJlY3RBdCh1bnNpZ25lZCBpbmRleCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgTGF5
b3V0UmVjdCBmcmFnbWVudGVkRmxvd1BvcnRpb25PdmVyZmxvd1JlY3QoY29uc3QgTGF5b3V0UmVj
dCYgZnJhZ21lbnRlZEZsb3dQb3J0aW9uLCB1bnNpZ25lZCBpbmRleCwgdW5zaWduZWQgY29sQ291
bnQsIExheW91dFVuaXQgY29sR2FwKSBvdmVycmlkZTsKLQotICAgIGJvb2wgc2tpcExheWVyRnJh
Z21lbnRDb2xsZWN0aW9uRm9yQ29sdW1uKHVuc2lnbmVkIGluZGV4KSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBpbmRleCA9PSAxOyB9Ci0KLSAgICBMYXlvdXRVbml0IGN1c3RvbUJsb2NrUHJvZ3Jl
c3Npb25BZGp1c3RtZW50Rm9yQ29sdW1uKHVuc2lnbmVkKSBjb25zdCBvdmVycmlkZTsKLSAgICAK
LSAgICBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsVG9wRm9yT2Zmc2V0KExheW91dFVuaXQpIGNvbnN0
IG92ZXJyaWRlOwotICAgIExheW91dFVuaXQgcGFnZUxvZ2ljYWxIZWlnaHRGb3JPZmZzZXQoTGF5
b3V0VW5pdCkgY29uc3Qgb3ZlcnJpZGU7Ci0KLXByaXZhdGU6Ci0gICAgTGF5b3V0VW5pdCBtX3N0
YXJ0UGFnZUhlaWdodDsgLy8gV2hlcmUgdG8gY2xhbXAgdGhlIGZpcnN0IE4gbGluZXMgaW5zaWRl
IHRoZSBmcmFnbWVudGVkIGZsb3cKLSAgICBMYXlvdXRVbml0IG1fbWlkZGxlUGFnZUhlaWdodDsg
Ly8gVGhlIG1pZGRsZSBwb3J0aW9uIG9mIHRoZSBmcmFnbWVudGVkIGZsb3cgKGRvZXMgbm90IHJl
bmRlcikuCi0gICAgTGF5b3V0VW5pdCBtX2VuZFBhZ2VIZWlnaHQ7IC8vIFdoZXJlIHRvIGNsYW1w
IHRoZSBsYXN0IE4gbGluZXMgaW5zaWRlIHRoZSBmcmFnbWVudGVkIGZsb3cKLSAgICAKLSAgICBM
YXlvdXRVbml0IG1fbWlkZGxlT2JqZWN0SGVpZ2h0OyAvLyBUaGUgbWlkZGxlIG9iamVjdCdzIGhl
aWdodCBwbHVzIG1hcmdpbnMuCi19OwotICAgIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi1T
UEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyTGluZXNDbGFtcFNldCwg
aXNSZW5kZXJMaW5lc0NsYW1wU2V0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCmluZGV4IDc3NmQ1MDg3YmEwMTdkMTdkZDQ2Y2I4
ZTliYmYyZmFkMDM1ODM3YmMuLjZhZmEwZGRmYTQ3YjNjNDY4OTg5ODA5MzMyZmYxYmE0YmJjY2M3
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
bkZsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
bkZsb3cuY3BwCkBAIC0xMzMsMTEgKzEzMyw2IEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93
OjpsYXlvdXQoKQogICAgIG1fbGFzdFNldFdvcmtlZE9uID0gbnVsbHB0cjsKIH0KIAotYm9vbCBS
ZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmlzQ29sdW1uU3Bhbm5pbmdEZXNjZW5kYW50KGNvbnN0IFJl
bmRlckJveCYgZGVzY2VuZGFudEJveCkgY29uc3QKLXsKLSAgICByZXR1cm4gZGVzY2VuZGFudEJv
eC5zdHlsZSgpLmNvbHVtblNwYW4oKSA9PSBDb2x1bW5TcGFuOjpBbGw7Ci19Ci0KIHZvaWQgUmVu
ZGVyTXVsdGlDb2x1bW5GbG93OjphZGRGcmFnbWVudFRvVGhyZWFkKFJlbmRlckZyYWdtZW50Q29u
dGFpbmVyKiBSZW5kZXJGcmFnbWVudENvbnRhaW5lcikKIHsKICAgICBhdXRvKiBjb2x1bW5TZXQg
PSBkb3duY2FzdDxSZW5kZXJNdWx0aUNvbHVtblNldD4oUmVuZGVyRnJhZ21lbnRDb250YWluZXIp
OwpAQCAtMTYwLDExICsxNTUsNiBAQCB2b2lkIFJlbmRlck11bHRpQ29sdW1uRmxvdzo6d2lsbEJl
UmVtb3ZlZEZyb21UcmVlKCkKICAgICBSZW5kZXJGcmFnbWVudGVkRmxvdzo6d2lsbEJlUmVtb3Zl
ZEZyb21UcmVlKCk7CiB9CiAKLVJlbmRlclB0cjxSZW5kZXJNdWx0aUNvbHVtblNldD4gUmVuZGVy
TXVsdGlDb2x1bW5GbG93OjpjcmVhdGVNdWx0aUNvbHVtblNldChSZW5kZXJTdHlsZSYmIHN0eWxl
KQotewotICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxSZW5kZXJNdWx0aUNvbHVtblNldD4oKnRo
aXMsIFdURk1vdmUoc3R5bGUpKTsKLX0KLQogdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OmZy
YWdtZW50ZWRGbG93RGVzY2VuZGFudEJveExhaWRPdXQoUmVuZGVyQm94KiBkZXNjZW5kYW50KQog
ewogICAgIGlmICghaXM8UmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXI+KCpkZXNj
ZW5kYW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtbkZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
bkZsb3cuaAppbmRleCBhMDBiNTU5NmQ1OTlkZmVmZDkyOTJmZDMxMWZlZWY1MmIyODBhMDY2Li5h
NDhhNzg5NzFmMGVkMTk0ZjdjOWZlYjZmZjU1Zjg1NjBmMjRhMzY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oCkBAIC0zMyw3ICszMyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlck11bHRpQ29sdW1uU2V0OwogY2xh
c3MgUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXI7CiAKLWNsYXNzIFJlbmRlck11
bHRpQ29sdW1uRmxvdyA6IHB1YmxpYyBSZW5kZXJGcmFnbWVudGVkRmxvdyB7CitjbGFzcyBSZW5k
ZXJNdWx0aUNvbHVtbkZsb3cgZmluYWwgOiBwdWJsaWMgUmVuZGVyRnJhZ21lbnRlZEZsb3cgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUmVuZGVyTXVsdGlDb2x1bW5GbG93KTsKIHB1Ymxp
YzoKICAgICBSZW5kZXJNdWx0aUNvbHVtbkZsb3coRG9jdW1lbnQmLCBSZW5kZXJTdHlsZSYmKTsK
QEAgLTk4LDEwICs5OCw2IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVuZGVyQm94
KiwgV2Vha1B0cjxSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlcj4+IFNwYW5uZXJN
YXA7CiAgICAgU3Bhbm5lck1hcCYgc3Bhbm5lck1hcCgpIHsgcmV0dXJuICptX3NwYW5uZXJNYXA7
IH0KIAotICAgIHZpcnR1YWwgYm9vbCBpc0NvbHVtblNwYW5uaW5nRGVzY2VuZGFudChjb25zdCBS
ZW5kZXJCb3gmKSBjb25zdDsKLQotICAgIHZpcnR1YWwgUmVuZGVyUHRyPFJlbmRlck11bHRpQ29s
dW1uU2V0PiBjcmVhdGVNdWx0aUNvbHVtblNldChSZW5kZXJTdHlsZSYmKTsKLQogcHJpdmF0ZToK
ICAgICBib29sIGlzUmVuZGVyTXVsdGlDb2x1bW5GbG93KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNl
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3Bw
CmluZGV4IGYwYjg4MWEzYmI2ZmFkNWU0ZjU4ZjNhMDlmMmYyMGNiNDM1ZTg0YWUuLjc1MWU4MTA2
MTVhMGU0ZmQ1OTkyZDQ3N2U2NGMyMzA4YTMxNTkxODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApAQCAtNzcwLDkgKzc3MCw2IEBA
IHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNvbGxlY3RMYXllckZyYWdtZW50cyhMYXllckZy
YWdtZW50cyYgZnJhZ21lbnRzLCBjb25zCiAgICAgTGF5b3V0VW5pdCBpbml0aWFsQmxvY2tPZmZz
ZXQgPSBpbml0aWFsQmxvY2tPZmZzZXRGb3JQYWludGluZygpOwogICAgIAogICAgIGZvciAodW5z
aWduZWQgaSA9IHN0YXJ0Q29sdW1uOyBpIDw9IGVuZENvbHVtbjsgaSsrKSB7Ci0gICAgICAgIGlm
IChza2lwTGF5ZXJGcmFnbWVudENvbGxlY3Rpb25Gb3JDb2x1bW4oaSkpCi0gICAgICAgICAgICBj
b250aW51ZTsKLQogICAgICAgICAvLyBHZXQgdGhlIHBvcnRpb24gb2YgdGhlIGZsb3cgdGhyZWFk
IHRoYXQgY29ycmVzcG9uZHMgdG8gdGhpcyBjb2x1bW4uCiAgICAgICAgIExheW91dFJlY3QgZnJh
Z21lbnRlZEZsb3dQb3J0aW9uID0gZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdEF0KGkpOwogICAg
ICAgICAKQEAgLTgwMSw3ICs3OTgsNyBAQCB2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0Ojpjb2xs
ZWN0TGF5ZXJGcmFnbWVudHMoTGF5ZXJGcmFnbWVudHMmIGZyYWdtZW50cywgY29ucwogICAgICAg
ICBMYXlvdXRVbml0IGJsb2NrT2Zmc2V0ID0gaW5pdGlhbEJsb2NrT2Zmc2V0ICsgbG9naWNhbFRv
cCgpIC0gZnJhZ21lbnRlZEZsb3coKS0+bG9naWNhbFRvcCgpICsgKGlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyAtZnJhZ21lbnRlZEZsb3dQb3J0aW9uLnkoKSA6IC1mcmFnbWVudGVkRmxvd1Bv
cnRpb24ueCgpKTsKICAgICAgICAgaWYgKCFwcm9ncmVzc2lvbklzSW5saW5lKSB7CiAgICAgICAg
ICAgICBpZiAoIXByb2dyZXNzaW9uUmV2ZXJzZWQpCi0gICAgICAgICAgICAgICAgYmxvY2tPZmZz
ZXQgPSBpICogY29sR2FwICsgY3VzdG9tQmxvY2tQcm9ncmVzc2lvbkFkanVzdG1lbnRGb3JDb2x1
bW4oaSk7CisgICAgICAgICAgICAgICAgYmxvY2tPZmZzZXQgPSBpICogY29sR2FwOwogICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGJsb2NrT2Zmc2V0IC09IGkgKiAoY29tcHV0ZWRD
b2x1bW5IZWlnaHQoKSArIGNvbEdhcCk7CiAgICAgICAgIH0KQEAgLTg1Myw3ICs4NTAsNyBAQCBM
YXlvdXRQb2ludCBSZW5kZXJNdWx0aUNvbHVtblNldDo6Y29sdW1uVHJhbnNsYXRpb25Gb3JPZmZz
ZXQoY29uc3QgTGF5b3V0VW5pdCYgbwogICAgIExheW91dFVuaXQgYmxvY2tPZmZzZXQgPSBpbml0
aWFsQmxvY2tPZmZzZXQgLSAoaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGZyYWdtZW50ZWRG
bG93UG9ydGlvbi55KCkgOiBmcmFnbWVudGVkRmxvd1BvcnRpb24ueCgpKTsKICAgICBpZiAoIXBy
b2dyZXNzaW9uSXNJbmxpbmUpIHsKICAgICAgICAgaWYgKCFwcm9ncmVzc2lvblJldmVyc2VkKQot
ICAgICAgICAgICAgYmxvY2tPZmZzZXQgPSBzdGFydENvbHVtbiAqIGNvbEdhcCArIGN1c3RvbUJs
b2NrUHJvZ3Jlc3Npb25BZGp1c3RtZW50Rm9yQ29sdW1uKHN0YXJ0Q29sdW1uKTsKKyAgICAgICAg
ICAgIGJsb2NrT2Zmc2V0ID0gc3RhcnRDb2x1bW4gKiBjb2xHYXA7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIGJsb2NrT2Zmc2V0IC09IHN0YXJ0Q29sdW1uICogKGNvbXB1dGVkQ29sdW1uSGVp
Z2h0KCkgKyBjb2xHYXApOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0LmgKaW5kZXggZjdhZDQ3MzQ5YjQ5MGIxOTdmYTEzOTlkYjM2ODA5
OTkxNmM0NjQ4YS4uMzc1MDgxYjNlNmZhYzJmNWZjMzY0OGU0YjRkMjFmM2Y0MzNiNGE1NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmgKQEAg
LTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8KIC8vIENvbHVtbiBzcGFucyBy
ZXN1bHQgaW4gdGhlIGNyZWF0aW9uIG9mIG5ldyBjb2x1bW4gc2V0cyBhcyB3ZWxsLCBzaW5jZSBh
IHNwYW5uaW5nIGZyYWdtZW50IGhhcyB0byBiZSBwbGFjZWQgaW4gYmV0d2VlbiB0aGUgY29sdW1u
IHNldHMgdGhhdAogLy8gY29tZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBzcGFuLgotY2xhc3MgUmVu
ZGVyTXVsdGlDb2x1bW5TZXQgOiBwdWJsaWMgUmVuZGVyRnJhZ21lbnRDb250YWluZXJTZXQgewor
Y2xhc3MgUmVuZGVyTXVsdGlDb2x1bW5TZXQgZmluYWwgOiBwdWJsaWMgUmVuZGVyRnJhZ21lbnRD
b250YWluZXJTZXQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUmVuZGVyTXVsdGlDb2x1
bW5TZXQpOwogcHVibGljOgogICAgIFJlbmRlck11bHRpQ29sdW1uU2V0KFJlbmRlckZyYWdtZW50
ZWRGbG93JiwgUmVuZGVyU3R5bGUmJik7CkBAIC05Miw3ICs5Miw3IEBAIHB1YmxpYzoKICAgICAv
LyBtdWx0aWNvbCBjb250YWluZXIncyBoZWlnaHQgaXMgY29uc3RyYWluZWQuIElmIHxpbml0aWFs
fCBpcyBzZXQsIGFuZCB3ZSBhcmUgdG8gYmFsYW5jZSwgZ3Vlc3MKICAgICAvLyBhbiBpbml0aWFs
IGNvbHVtbiBoZWlnaHQ7IG90aGVyd2lzZSwgc3RyZXRjaCB0aGUgY29sdW1uIGhlaWdodCBhIHRh
ZC4gUmV0dXJuIHRydWUgaWYgY29sdW1uCiAgICAgLy8gaGVpZ2h0IGNoYW5nZWQgYW5kIGFub3Ro
ZXIgbGF5b3V0IHBhc3MgaXMgcmVxdWlyZWQuCi0gICAgdmlydHVhbCBib29sIHJlY2FsY3VsYXRl
Q29sdW1uSGVpZ2h0KGJvb2wgaW5pdGlhbCk7CisgICAgYm9vbCByZWNhbGN1bGF0ZUNvbHVtbkhl
aWdodChib29sIGluaXRpYWwpOwogCiAgICAgLy8gUmVjb3JkIHNwYWNlIHNob3J0YWdlICh0aGUg
YW1vdW50IG9mIHNwYWNlIHRoYXQgd291bGQgaGF2ZSBiZWVuIGVub3VnaCB0byBwcmV2ZW50IHNv
bWUKICAgICAvLyBlbGVtZW50IGZyb20gYmVpbmcgbW92ZWQgdG8gdGhlIG5leHQgY29sdW1uKSBh
dCBhIGNvbHVtbiBicmVhay4gVGhlIHNtYWxsZXN0IGFtb3VudCBvZiBzcGFjZQpAQCAtMTEyLDcg
KzExMiw3IEBAIHB1YmxpYzoKICAgICAvLyBIYXMgdGhpcyBzZXQgYmVlbiBmbG93ZWQgaW4gdGhp
cyBsYXlvdXQgcGFzcz8KICAgICBib29sIGhhc0JlZW5GbG93ZWQoKSBjb25zdCB7IHJldHVybiBs
b2dpY2FsQm90dG9tSW5GcmFnbWVudGVkRmxvdygpICE9IFJlbmRlckZyYWdtZW50ZWRGbG93Ojpt
YXhMb2dpY2FsSGVpZ2h0KCk7IH0KIAotICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0JhbGFuY2lu
ZygpIGNvbnN0OworICAgIGJvb2wgcmVxdWlyZXNCYWxhbmNpbmcoKSBjb25zdDsKIAogICAgIExh
eW91dFBvaW50IGNvbHVtblRyYW5zbGF0aW9uRm9yT2Zmc2V0KGNvbnN0IExheW91dFVuaXQmKSBj
b25zdDsKICAgICAKQEAgLTEyNiwyMyArMTI2LDI0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBk
YXRlSGl0VGVzdFJlc3VsdChIaXRUZXN0UmVzdWx0JiwgY29uc3QgTGF5b3V0UG9pbnQmKSBvdmVy
cmlkZTsKICAgICAKLSAgICB2aXJ0dWFsIExheW91dFJlY3QgY29sdW1uUmVjdEF0KHVuc2lnbmVk
IGluZGV4KSBjb25zdDsKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIGNvbHVtbkNvdW50KCkgY29uc3Q7
CisgICAgTGF5b3V0UmVjdCBjb2x1bW5SZWN0QXQodW5zaWduZWQgaW5kZXgpIGNvbnN0OworICAg
IHVuc2lnbmVkIGNvbHVtbkNvdW50KCkgY29uc3Q7CiAKIHByb3RlY3RlZDoKICAgICB2b2lkIGFk
ZE92ZXJmbG93RnJvbUNoaWxkcmVuKCkgb3ZlcnJpZGU7Ci0gICAgTG9naWNhbEV4dGVudENvbXB1
dGVkVmFsdWVzIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KExheW91dFVuaXQgbG9naWNhbEhlaWdodCwg
TGF5b3V0VW5pdCBsb2dpY2FsVG9wKSBjb25zdCBvdmVycmlkZTsKLQorICAgIAorcHJpdmF0ZToK
ICAgICBib29sIGlzUmVuZGVyTXVsdGlDb2x1bW5TZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biB0cnVlOyB9CiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKIAorICAgIExvZ2ljYWxFeHRl
bnRDb21wdXRlZFZhbHVlcyBjb21wdXRlTG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxvZ2ljYWxI
ZWlnaHQsIExheW91dFVuaXQgbG9naWNhbFRvcCkgY29uc3Qgb3ZlcnJpZGU7CisKICAgICB2b2lk
IHBhaW50T2JqZWN0KFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jikgb3ZlcnJpZGUgeyB9
CiAKICAgICBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsV2lkdGgoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX2NvbXB1dGVkQ29sdW1uV2lkdGg7IH0KICAgICBMYXlvdXRVbml0IHBhZ2VMb2dpY2Fs
SGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodDsg
fQogCiAgICAgTGF5b3V0VW5pdCBwYWdlTG9naWNhbFRvcEZvck9mZnNldChMYXlvdXRVbml0IG9m
ZnNldCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEhlaWdodEZv
ck9mZnNldChMYXlvdXRVbml0KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2NvbXB1dGVkQ29s
dW1uSGVpZ2h0OyB9CiAKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxIZWlnaHRPZkFsbEZyYWdtZW50
ZWRGbG93Q29udGVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGxvZ2ljYWxIZWlnaHRJbkZy
YWdtZW50ZWRGbG93KCk7IH0KIApAQCAtMTU3LDI0ICsxNTgsMjEgQEAgcHJvdGVjdGVkOgogICAg
IGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIExheW91dFVu
aXQgY2FsY3VsYXRlTWF4Q29sdW1uSGVpZ2h0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCBMYXlvdXRV
bml0IGNvbHVtbkdhcCgpIGNvbnN0OworICAgIExheW91dFVuaXQgY29sdW1uR2FwKCkgY29uc3Q7
CiAKICAgICBMYXlvdXRVbml0IGNvbHVtbkxvZ2ljYWxMZWZ0KHVuc2lnbmVkKSBjb25zdDsKICAg
ICBMYXlvdXRVbml0IGNvbHVtbkxvZ2ljYWxUb3AodW5zaWduZWQpIGNvbnN0OwogCi0gICAgdmly
dHVhbCBMYXlvdXRSZWN0IGZyYWdtZW50ZWRGbG93UG9ydGlvblJlY3RBdCh1bnNpZ25lZCBpbmRl
eCkgY29uc3Q7Ci0gICAgdmlydHVhbCBMYXlvdXRSZWN0IGZyYWdtZW50ZWRGbG93UG9ydGlvbk92
ZXJmbG93UmVjdChjb25zdCBMYXlvdXRSZWN0JiBmcmFnbWVudGVkRmxvd1BvcnRpb24sIHVuc2ln
bmVkIGluZGV4LCB1bnNpZ25lZCBjb2xDb3VudCwgTGF5b3V0VW5pdCBjb2xHYXApOworICAgIExh
eW91dFJlY3QgZnJhZ21lbnRlZEZsb3dQb3J0aW9uUmVjdEF0KHVuc2lnbmVkIGluZGV4KSBjb25z
dDsKKyAgICBMYXlvdXRSZWN0IGZyYWdtZW50ZWRGbG93UG9ydGlvbk92ZXJmbG93UmVjdChjb25z
dCBMYXlvdXRSZWN0JiBmcmFnbWVudGVkRmxvd1BvcnRpb24sIHVuc2lnbmVkIGluZGV4LCB1bnNp
Z25lZCBjb2xDb3VudCwgTGF5b3V0VW5pdCBjb2xHYXApOwogCiAgICAgTGF5b3V0VW5pdCBpbml0
aWFsQmxvY2tPZmZzZXRGb3JQYWludGluZygpIGNvbnN0OwogCi0gICAgdmlydHVhbCBib29sIHNr
aXBMYXllckZyYWdtZW50Q29sbGVjdGlvbkZvckNvbHVtbih1bnNpZ25lZCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIExheW91dFVuaXQgY3VzdG9tQmxvY2tQcm9ncmVzc2lv
bkFkanVzdG1lbnRGb3JDb2x1bW4odW5zaWduZWQpIGNvbnN0IHsgcmV0dXJuIDA7IH0KLSAgICAK
ICAgICBlbnVtIENvbHVtbkluZGV4Q2FsY3VsYXRpb25Nb2RlIHsKICAgICAgICAgQ2xhbXBUb0V4
aXN0aW5nQ29sdW1ucywgLy8gU3RheSB3aXRoaW4gdGhlIHJhbmdlIG9mIGFscmVhZHkgZXhpc3Rp
bmcgY29sdW1ucy4KICAgICAgICAgQXNzdW1lTmV3Q29sdW1ucyAvLyBBbGxvdyBjb2x1bW4gaW5k
aWNlcyBvdXRzaWRlIHRoZSByYW5nZSBvZiBhbHJlYWR5IGV4aXN0aW5nIGNvbHVtbnMuCiAgICAg
fTsKLSAgICB2aXJ0dWFsIHVuc2lnbmVkIGNvbHVtbkluZGV4QXRPZmZzZXQoTGF5b3V0VW5pdCwg
Q29sdW1uSW5kZXhDYWxjdWxhdGlvbk1vZGUgPSBDbGFtcFRvRXhpc3RpbmdDb2x1bW5zKSBjb25z
dDsKKyAgICB1bnNpZ25lZCBjb2x1bW5JbmRleEF0T2Zmc2V0KExheW91dFVuaXQsIENvbHVtbklu
ZGV4Q2FsY3VsYXRpb25Nb2RlID0gQ2xhbXBUb0V4aXN0aW5nQ29sdW1ucykgY29uc3Q7CiAKICAg
ICB2b2lkIHNldEFuZENvbnN0cmFpbkNvbHVtbkhlaWdodChMYXlvdXRVbml0KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGJiM2YzNWVhNmZmMTQ2YjJlOWI1
NmJjNDgwZjQzMzYwZTYzYzU1NWMuLjI1MTYyNTgzZDU2ZDExYzJlYjg2ZTZjZjFhNDY5ZDZlM2Iy
ZjZkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTI4NSw5
ICsyODUsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyTXVsdGlDb2x1bW5G
bG93KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJN
dWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
LSAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJMaW5lc0NsYW1wRmxvdygpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29sIGlzUmVuZGVyTGluZXNDbGFtcFNldCgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9Ci0KICAgICB2aXJ0dWFsIGJvb2wgaXNSZW5kZXJTY3JvbGxiYXJQ
YXJ0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIGJvb2wgaXNEb2N1bWVudEVsZW1l
bnRSZW5kZXJlcigpIGNvbnN0IHsgcmV0dXJuIGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkg
PT0gJm1fbm9kZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0xpbmVDbGFtcFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvTGluZUNs
YW1wVmFsdWUuaAppbmRleCBlNTQwZDgxMjk1ZjQ1M2Q0MTg2OTVkMGU1NGU1YTg4MWZjOTZiOWMx
Li4yNWRiNGUzMjVlYTMyYWUyMjQ1ZjlhYzdmNDYyNGJhMGU0NWJjOTY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvTGluZUNsYW1wVmFsdWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvTGluZUNsYW1wVmFsdWUuaApAQCAtMjUsNyArMjUs
NiBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgot
I2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCkBAIC02MywzOCArNjIsNSBAQCBwcml2YXRlOgogICAgIExpbmVDbGFtcCBtX3R5cGU7
CiAgICAgaW50IG1fdmFsdWU7CiB9OwotCi1jbGFzcyBMaW5lc0NsYW1wVmFsdWUgewotcHVibGlj
OgotICAgIExpbmVzQ2xhbXBWYWx1ZSgpCi0gICAgeyB9Ci0KLSAgICBMaW5lc0NsYW1wVmFsdWUo
Y29uc3QgTGluZUNsYW1wVmFsdWUmIHN0YXJ0LCBjb25zdCBMaW5lQ2xhbXBWYWx1ZSYgZW5kLCBj
b25zdCBBdG9taWNTdHJpbmcmIGNlbnRlcikKLSAgICAgICAgOiBtX3N0YXJ0KHN0YXJ0KQotICAg
ICAgICAsIG1fZW5kKGVuZCkKLSAgICAgICAgLCBtX2NlbnRlcihjZW50ZXIpCi0gICAgeyB9Ci0g
ICAgCi0gICAgYm9vbCBpc05vbmUoKSBjb25zdCB7IHJldHVybiBtX3N0YXJ0LmlzTm9uZSgpOyB9
Ci0KLSAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTGluZXNDbGFtcFZhbHVlJiBvKSBjb25zdAot
ICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc3RhcnQgPT0gby5zdGFydCgpICYmIG1fZW5kID09IG8u
ZW5kKCkgJiYgbV9jZW50ZXIgPT0gby5jZW50ZXIoKTsKLSAgICB9CiAgICAgCi0gICAgYm9vbCBv
cGVyYXRvciE9KGNvbnN0IExpbmVzQ2xhbXBWYWx1ZSYgbykgY29uc3QKLSAgICB7Ci0gICAgICAg
IHJldHVybiAhKCp0aGlzID09IG8pOwotICAgIH0KLSAgICAKLSAgICBMaW5lQ2xhbXBWYWx1ZSBz
dGFydCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhcnQ7IH0KLSAgICBMaW5lQ2xhbXBWYWx1ZSBlbmQo
KSBjb25zdCB7IHJldHVybiBtX2VuZDsgfQotICAgIEF0b21pY1N0cmluZyBjZW50ZXIoKSBjb25z
dCB7IHJldHVybiBtX2NlbnRlcjsgfQotCi1wcml2YXRlOgotICAgIExpbmVDbGFtcFZhbHVlIG1f
c3RhcnQ7Ci0gICAgTGluZUNsYW1wVmFsdWUgbV9lbmQ7Ci0gICAgQXRvbWljU3RyaW5nIG1fY2Vu
dGVyOwotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAwY2UzM2NkZDI4ZWJkNDZjZjA0MWMwZWNi
N2ZiNzBkOTY3YzcyNDkwLi4zMjdkZDJiM2RlMWVkZmY4MjdlMzgyODMyNGNiYjRkNDA5ZmZjMTVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAt
NjgzLDggKzY4Myw2IEBAIHB1YmxpYzoKICAgICAKICAgICBMaW5lQm94Q29udGFpbiBsaW5lQm94
Q29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZUluaGVyaXRlZERhdGEtPmxpbmVCb3hDb250
YWluOyB9CiAgICAgY29uc3QgTGluZUNsYW1wVmFsdWUmIGxpbmVDbGFtcCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmxpbmVDbGFtcDsgfQotICAgIGNvbnN0IExpbmVz
Q2xhbXBWYWx1ZSYgbGluZXNDbGFtcCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPmxpbmVzQ2xhbXA7IH0KLSAgICBib29sIGhhc0xpbmVzQ2xhbXAoKSBjb25zdCB7IHJl
dHVybiAhbGluZXNDbGFtcCgpLnN0YXJ0KCkuaXNOb25lKCk7IH0KICAgICBjb25zdCBJbnRTaXpl
JiBpbml0aWFsTGV0dGVyKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
aW5pdGlhbExldHRlcjsgfQogICAgIGludCBpbml0aWFsTGV0dGVyRHJvcCgpIGNvbnN0IHsgcmV0
dXJuIGluaXRpYWxMZXR0ZXIoKS53aWR0aCgpOyB9CiAgICAgaW50IGluaXRpYWxMZXR0ZXJIZWln
aHQoKSBjb25zdCB7IHJldHVybiBpbml0aWFsTGV0dGVyKCkuaGVpZ2h0KCk7IH0KQEAgLTEyMDEs
NyArMTE5OSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0TGluZUJveENvbnRhaW4oTGluZUJv
eENvbnRhaW4gYykgeyBTRVRfVkFSKG1fcmFyZUluaGVyaXRlZERhdGEsIGxpbmVCb3hDb250YWlu
LCBjKTsgfQogICAgIHZvaWQgc2V0TGluZUNsYW1wKExpbmVDbGFtcFZhbHVlIGMpIHsgU0VUX1ZB
UihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBsaW5lQ2xhbXAsIGMpOyB9Ci0gICAgdm9pZCBzZXRM
aW5lc0NsYW1wKGNvbnN0IExpbmVzQ2xhbXBWYWx1ZSYgYykgeyBTRVRfVkFSKG1fcmFyZU5vbklu
aGVyaXRlZERhdGEsIGxpbmVzQ2xhbXAsIGMpOyB9CiAgICAgCiAgICAgdm9pZCBzZXRJbml0aWFs
TGV0dGVyKGNvbnN0IEludFNpemUmIHNpemUpIHsgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLCBpbml0aWFsTGV0dGVyLCBzaXplKTsgfQogICAgIApAQCAtMTY0Nyw3ICsxNjQ0LDYgQEAg
cHVibGljOgogCiAgICAgc3RhdGljIEludFNpemUgaW5pdGlhbEluaXRpYWxMZXR0ZXIoKSB7IHJl
dHVybiBJbnRTaXplKCk7IH0KICAgICBzdGF0aWMgTGluZUNsYW1wVmFsdWUgaW5pdGlhbExpbmVD
bGFtcCgpIHsgcmV0dXJuIExpbmVDbGFtcFZhbHVlKCk7IH0KLSAgICBzdGF0aWMgTGluZXNDbGFt
cFZhbHVlIGluaXRpYWxMaW5lc0NsYW1wKCkgeyByZXR1cm4gTGluZXNDbGFtcFZhbHVlKCk7IH0K
ICAgICBzdGF0aWMgVGV4dFNlY3VyaXR5IGluaXRpYWxUZXh0U2VjdXJpdHkoKSB7IHJldHVybiBU
ZXh0U2VjdXJpdHk6Ok5vbmU7IH0KIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTIwNTAsNyArMjA0
Niw3IEBAIGlubGluZSBib29sIFJlbmRlclN0eWxlOjpicmVha1dvcmRzKCkgY29uc3QKIGlubGlu
ZSBib29sIFJlbmRlclN0eWxlOjpoYXNJbmxpbmVDb2x1bW5BeGlzKCkgY29uc3QKIHsKICAgICBh
dXRvIGF4aXMgPSBjb2x1bW5BeGlzKCk7Ci0gICAgcmV0dXJuIChheGlzID09IENvbHVtbkF4aXM6
OkF1dG8gfHwgaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA9PSAoYXhpcyA9PSBDb2x1bW5BeGlz
OjpIb3Jpem9udGFsKSkgJiYgIWhhc0xpbmVzQ2xhbXAoKTsKKyAgICByZXR1cm4gYXhpcyA9PSBD
b2x1bW5BeGlzOjpBdXRvIHx8IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPT0gKGF4aXMgPT0g
Q29sdW1uQXhpczo6SG9yaXpvbnRhbCk7CiB9CiAKIGlubGluZSBJbWFnZU9yaWVudGF0aW9uRW51
bSBSZW5kZXJTdHlsZTo6aW1hZ2VPcmllbnRhdGlvbigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5jcHAKaW5kZXggYWEzN2I2NmFiYmQ5ZTRmOTQwMDM0MWYzMmU1MjQ1OThkNGQyMmYxZS4uZDky
NWZjNjA4MGYzM2E5MjkxZjg2ZWM5YmNlN2Q4MzkzZDg0YzlhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhLmNwcApAQCAtNDQsNyArNDQsNiBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhKCkKICAgICAsIHBlcnNwZWN0aXZlT3JpZ2luWChSZW5kZXJT
dHlsZTo6aW5pdGlhbFBlcnNwZWN0aXZlT3JpZ2luWCgpKQogICAgICwgcGVyc3BlY3RpdmVPcmln
aW5ZKFJlbmRlclN0eWxlOjppbml0aWFsUGVyc3BlY3RpdmVPcmlnaW5ZKCkpCiAgICAgLCBsaW5l
Q2xhbXAoUmVuZGVyU3R5bGU6OmluaXRpYWxMaW5lQ2xhbXAoKSkKLSAgICAsIGxpbmVzQ2xhbXAo
UmVuZGVyU3R5bGU6OmluaXRpYWxMaW5lc0NsYW1wKCkpCiAgICAgLCBpbml0aWFsTGV0dGVyKFJl
bmRlclN0eWxlOjppbml0aWFsSW5pdGlhbExldHRlcigpKQogICAgICwgZGVwcmVjYXRlZEZsZXhp
YmxlQm94KFN0eWxlRGVwcmVjYXRlZEZsZXhpYmxlQm94RGF0YTo6Y3JlYXRlKCkpCiAgICAgLCBm
bGV4aWJsZUJveChTdHlsZUZsZXhpYmxlQm94RGF0YTo6Y3JlYXRlKCkpCkBAIC0xMjEsNyArMTIw
LDYgQEAgaW5saW5lIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEoY29uc3QgU3R5bGVSYXJlTm9uSW4KICAgICAsIHBlcnNwZWN0aXZlT3JpZ2luWChv
LnBlcnNwZWN0aXZlT3JpZ2luWCkKICAgICAsIHBlcnNwZWN0aXZlT3JpZ2luWShvLnBlcnNwZWN0
aXZlT3JpZ2luWSkKICAgICAsIGxpbmVDbGFtcChvLmxpbmVDbGFtcCkKLSAgICAsIGxpbmVzQ2xh
bXAoby5saW5lc0NsYW1wKQogICAgICwgaW5pdGlhbExldHRlcihvLmluaXRpYWxMZXR0ZXIpCiAg
ICAgLCBkZXByZWNhdGVkRmxleGlibGVCb3goby5kZXByZWNhdGVkRmxleGlibGVCb3gpCiAgICAg
LCBmbGV4aWJsZUJveChvLmZsZXhpYmxlQm94KQpAQCAtMjIwLDcgKzIxOCw2IEBAIGJvb2wgU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhJiBvKSBjCiAgICAgICAgICYmIHBlcnNwZWN0aXZlT3JpZ2luWCA9PSBvLnBlcnNw
ZWN0aXZlT3JpZ2luWAogICAgICAgICAmJiBwZXJzcGVjdGl2ZU9yaWdpblkgPT0gby5wZXJzcGVj
dGl2ZU9yaWdpblkKICAgICAgICAgJiYgbGluZUNsYW1wID09IG8ubGluZUNsYW1wCi0gICAgICAg
ICYmIGxpbmVzQ2xhbXAgPT0gby5saW5lc0NsYW1wCiAgICAgICAgICYmIGluaXRpYWxMZXR0ZXIg
PT0gby5pbml0aWFsTGV0dGVyCiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQogICAgICAg
ICAmJiBkYXNoYm9hcmRSZWdpb25zID09IG8uZGFzaGJvYXJkUmVnaW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhLmgKaW5kZXggMTIzNjNhZjM1NTY2NjhhMTYyYzVlZDA4OWJmMDYyNGIyOWEwYzhhYy4uMDg5
Y2NmYTQzOGNkZjVmNGU1ZTAzOTY3NTI3NDEwNDJiODBkYzEzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5oCkBAIC0xMDIsNyArMTAyLDYgQEAgcHVibGljOgogICAgIExlbmd0aCBwZXJzcGVjdGl2ZU9y
aWdpblk7CiAKICAgICBMaW5lQ2xhbXBWYWx1ZSBsaW5lQ2xhbXA7IC8vIEFuIEFwcGxlIGV4dGVu
c2lvbi4KLSAgICBMaW5lc0NsYW1wVmFsdWUgbGluZXNDbGFtcDsgLy8gQW4gQXBwbGUgZXh0ZW5z
aW9uLgogICAgIAogICAgIEludFNpemUgaW5pdGlhbExldHRlcjsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyTXVsdGlDb2x1
bW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWls
ZGVyTXVsdGlDb2x1bW4uY3BwCmluZGV4IDU3MjE2ZWIyYzliYTFkZWJlOTQxYTFmZGE0YWI5NjQ0
M2ZhYTA0MWMuLmM5ZDI4OWE5ZTgyYWY2YWJjM2Q4NWRlNzM3ZjZlZmUzMGU0MDU3YmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRl
ck11bHRpQ29sdW1uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcv
UmVuZGVyVHJlZUJ1aWxkZXJNdWx0aUNvbHVtbi5jcHAKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2lu
Y2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgogI2luY2x1ZGUgIlJlbmRlckNoaWxkSXRlcmF0b3Iu
aCIKLSNpbmNsdWRlICJSZW5kZXJMaW5lc0NsYW1wRmxvdy5oIgogI2luY2x1ZGUgIlJlbmRlck11
bHRpQ29sdW1uRmxvdy5oIgogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uU2V0LmgiCiAjaW5j
bHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5TcGFubmVyUGxhY2Vob2xkZXIuaCIKQEAgLTgxLDcgKzgw
LDcgQEAgc3RhdGljIGJvb2wgaXNWYWxpZENvbHVtblNwYW5uZXIoY29uc3QgUmVuZGVyTXVsdGlD
b2x1bW5GbG93JiBmcmFnbWVudGVkRmxvdywgY28KICAgICBpZiAoZGVzY2VuZGFudEJveC5pc0Zs
b2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIGlmICghZnJhZ21lbnRlZEZsb3cuaXNDb2x1bW5TcGFubmluZ0Rlc2NlbmRhbnQoZGVzY2Vu
ZGFudEJveCkpCisgICAgaWYgKGRlc2NlbmRhbnRCb3guc3R5bGUoKS5jb2x1bW5TcGFuKCkgIT0g
Q29sdW1uU3Bhbjo6QWxsKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBhdXRvKiBwYXJl
bnQgPSBkZXNjZW5kYW50Qm94LnBhcmVudCgpOwpAQCAtMTY2LDcgKzE2NSw3IEBAIHZvaWQgUmVu
ZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjpjcmVhdGVGcmFnbWVudGVkRmxvdyhSZW5kZXJC
bG9ja0Zsb3cmIGZsb3cpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBhdXRvIG5ld0ZyYWdtZW50
ZWRGbG93ID0gIWZsb3cuc3R5bGUoKS5oYXNMaW5lc0NsYW1wKCkgPyBXZWJDb3JlOjpjcmVhdGVS
ZW5kZXJlcjxSZW5kZXJNdWx0aUNvbHVtbkZsb3c+KGZsb3cuZG9jdW1lbnQoKSwgUmVuZGVyU3R5
bGU6OmNyZWF0ZUFub255bW91c1N0eWxlV2l0aERpc3BsYXkoZmxvdy5zdHlsZSgpLCBEaXNwbGF5
VHlwZTo6QmxvY2spKSA6ICBXZWJDb3JlOjpjcmVhdGVSZW5kZXJlcjxSZW5kZXJMaW5lc0NsYW1w
Rmxvdz4oZmxvdy5kb2N1bWVudCgpLCBSZW5kZXJTdHlsZTo6Y3JlYXRlQW5vbnltb3VzU3R5bGVX
aXRoRGlzcGxheShmbG93LnN0eWxlKCksIERpc3BsYXlUeXBlOjpCbG9jaykpOworICAgIGF1dG8g
bmV3RnJhZ21lbnRlZEZsb3cgPSBXZWJDb3JlOjpjcmVhdGVSZW5kZXJlcjxSZW5kZXJNdWx0aUNv
bHVtbkZsb3c+KGZsb3cuZG9jdW1lbnQoKSwgUmVuZGVyU3R5bGU6OmNyZWF0ZUFub255bW91c1N0
eWxlV2l0aERpc3BsYXkoZmxvdy5zdHlsZSgpLCBEaXNwbGF5VHlwZTo6QmxvY2spKTsKICAgICBu
ZXdGcmFnbWVudGVkRmxvdy0+aW5pdGlhbGl6ZVN0eWxlKCk7CiAgICAgYXV0byYgZnJhZ21lbnRl
ZEZsb3cgPSAqbmV3RnJhZ21lbnRlZEZsb3c7CiAgICAgbV9idWlsZGVyLmJsb2NrQnVpbGRlcigp
LmF0dGFjaChmbG93LCBXVEZNb3ZlKG5ld0ZyYWdtZW50ZWRGbG93KSwgbnVsbHB0cik7CkBAIC0x
ODEsMTQgKzE4MCw2IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Ok11bHRpQ29sdW1uOjpjcmVh
dGVGcmFnbWVudGVkRmxvdyhSZW5kZXJCbG9ja0Zsb3cmIGZsb3cpCiAgICAgICAgIH0KICAgICB9
CiAKLSAgICBpZiAoZmxvdy5zdHlsZSgpLmhhc0xpbmVzQ2xhbXAoKSkgewotICAgICAgICAvLyBL
ZWVwIHRoZSBtaWRkbGUgYmxvY2sgb3V0IG9mIHRoZSBmbG93IHRocmVhZC4KLSAgICAgICAgZm9y
IChhdXRvJiBlbGVtZW50IDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyRWxlbWVudD4oZnJhZ21lbnRl
ZEZsb3cpKSB7Ci0gICAgICAgICAgICBpZiAoIWRvd25jYXN0PFJlbmRlckxpbmVzQ2xhbXBGbG93
PihmcmFnbWVudGVkRmxvdykuaXNDaGlsZEFsbG93ZWRJbkZyYWdtZW50ZWRGbG93KGZsb3csIGVs
ZW1lbnQpKQotICAgICAgICAgICAgICAgIG1fYnVpbGRlci5tb3ZlKGZyYWdtZW50ZWRGbG93LCBm
bG93LCBlbGVtZW50LCBSZW5kZXJUcmVlQnVpbGRlcjo6Tm9ybWFsaXplQWZ0ZXJJbnNlcnRpb246
Olllcyk7Ci0gICAgICAgIH0KLSAgICB9Ci0KICAgICBmbG93LnNldE11bHRpQ29sdW1uRmxvdyhm
cmFnbWVudGVkRmxvdyk7CiB9CiAKQEAgLTM1Miw3ICszNDMsNyBAQCBSZW5kZXJPYmplY3QqIFJl
bmRlclRyZWVCdWlsZGVyOjpNdWx0aUNvbHVtbjo6cHJvY2Vzc1Bvc3NpYmxlU3Bhbm5lckRlc2Nl
bmRhbnQoUgogICAgIC8vIE5lZWQgdG8gY3JlYXRlIGEgbmV3IGNvbHVtbiBzZXQgd2hlbiB0aGVy
ZSdzIG5vIHNldCBhbHJlYWR5IGNyZWF0ZWQuIFdlIGFsc28gYWx3YXlzIGluc2VydAogICAgIC8v
IGFub3RoZXIgY29sdW1uIHNldCBhZnRlciBhIHNwYW5uZXIuIEV2ZW4gaWYgaXQgdHVybnMgb3V0
IHRoYXQgdGhlcmUgYXJlIG5vIHJlbmRlcmVycwogICAgIC8vIGZvbGxvd2luZyB0aGUgc3Bhbm5l
ciwgdGhlcmUgbWF5IGJlIGJvdHRvbSBtYXJnaW5zIHRoZXJlLCB3aGljaCB0YWtlIHVwIHNwYWNl
LgotICAgIGF1dG8gbmV3U2V0ID0gZmxvdy5jcmVhdGVNdWx0aUNvbHVtblNldChSZW5kZXJTdHls
ZTo6Y3JlYXRlQW5vbnltb3VzU3R5bGVXaXRoRGlzcGxheShtdWx0aWNvbENvbnRhaW5lci0+c3R5
bGUoKSwgRGlzcGxheVR5cGU6OkJsb2NrKSk7CisgICAgYXV0byBuZXdTZXQgPSBjcmVhdGVSZW5k
ZXJlcjxSZW5kZXJNdWx0aUNvbHVtblNldD4oZmxvdywgUmVuZGVyU3R5bGU6OmNyZWF0ZUFub255
bW91c1N0eWxlV2l0aERpc3BsYXkobXVsdGljb2xDb250YWluZXItPnN0eWxlKCksIERpc3BsYXlU
eXBlOjpCbG9jaykpOwogICAgIG5ld1NldC0+aW5pdGlhbGl6ZVN0eWxlKCk7CiAgICAgYXV0byYg
c2V0ID0gKm5ld1NldDsKICAgICBtX2J1aWxkZXIuYmxvY2tCdWlsZGVyKCkuYXR0YWNoKCptdWx0
aWNvbENvbnRhaW5lciwgV1RGTW92ZShuZXdTZXQpLCBpbnNlcnRCZWZvcmVNdWx0aWNvbENoaWxk
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
Nzg3NDkxOThkYTE1NWQxNjljOTlkZmI2ZjNlMTlkY2FmM2JjNzVjYi4uMTAzNmUxODljYTBmNmQ2
ZTE2NmU2MDU3YjA5NWQ3OWU1Y2VmNDM4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU4MCw3ICs1ODAsNiBAQCBXZWJQYWdlOjpXZWJQYWdl
KHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMp
CiAgICAgICAgIG1fcGFnZS0+c2V0dGluZ3MoKS5zZXRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
KG1hbmFnZXItPm1lZGlhS2V5U3RvcmFnZURpcmVjdG9yeSgpKTsKICNlbmRpZgogICAgIG1fcGFn
ZS0+c2V0dGluZ3MoKS5zZXRBcHBsZU1haWxQYWdpbmF0aW9uUXVpcmtFbmFibGVkKHBhcmFtZXRl
cnMuYXBwbGVNYWlsUGFnaW5hdGlvblF1aXJrRW5hYmxlZCk7Ci0gICAgbV9wYWdlLT5zZXR0aW5n
cygpLnNldEFwcGxlTWFpbExpbmVzQ2xhbXBFbmFibGVkKHBhcmFtZXRlcnMuYXBwbGVNYWlsTGlu
ZXNDbGFtcEVuYWJsZWQpOwogICAgIAogICAgIGlmIChwYXJhbWV0ZXJzLnZpZXdTY2FsZUZhY3Rv
ciAhPSAxKQogICAgICAgICBzY2FsZVZpZXcocGFyYW1ldGVycy52aWV3U2NhbGVGYWN0b3IpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDdjZmQ1ZGMxYWFkMTRhZGY4YmQ4ZmFmZDcwZjAzZjc0NzhmZjliZTIuLmU3MGEyZWY1
YmRiYTA1MTliN2YxNDk1NjM4MDliMTY5NTA2OGQ2NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAor
MjAxOC0wNy0yNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjIyNzU3NykgVGV4dCBvbiBUViAmIE1vdmllcyBwYWdlIGRvZXNuJ3Qgd3JhcCBw
cm9wZXJseSBpbiBpVHVuZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4ODAxOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDI1MTc1MjA+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Jsb2Nr
L2xpbmVzLWNsYW1wLWFkdmFuY2VkLWV4cGVjdGVkLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9ibG9jay9saW5lcy1jbGFtcC1hZHZhbmNlZC1ybC1leHBlY3RlZC5odG1sOiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvYmxvY2svbGluZXMtY2xhbXAtYWR2YW5jZWQtcmwuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Jsb2NrL2xpbmVzLWNsYW1wLWFkdmFuY2VkLmh0bWw6IFJl
bW92ZWQuCisgICAgICAgICogZmFzdC9ibG9jay9saW5lcy1jbGFtcC1iYXNpYy1leHBlY3RlZC5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvYmxvY2svbGluZXMtY2xhbXAtYmFzaWMtcmwt
ZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Jsb2NrL2xpbmVzLWNsYW1w
LWJhc2ljLXJsLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9ibG9jay9saW5lcy1jbGFt
cC1iYXNpYy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL2xpbmVzLWNsYW1wLXBh
cnNpbmctZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzL2xpbmVzLWNs
YW1wLXBhcnNpbmcuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L292ZXJmbG93L2xpbmUt
Y2xhbXAtd2l0aC10ZXh0LXNoYWRvdy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0aC10ZXh0LXNoYWRvdy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9mYXN0L292ZXJmbG93L2xpbmUtY2xh
bXAtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDE4LTA3LTI1ICBNczJnZXIgIDxNczJnZXJA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5p
bmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbGluZXMtY2xhbXAtYWR2YW5j
ZWQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbGluZXMtY2xhbXAtYWR2
YW5jZWQtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ViMDY0
YzZhM2UzZjFiNGY1MWZjNWYwYTZlYzRmOWQ4YWU3MWZiNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2xpbmVzLWNs
YW1wLWFkdmFuY2VkLWV4cGVjdGVkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBA
Ci08c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFwcGxlTWFpbExpbmVzQ2xhbXBFbmFibGVkKHRydWUpCi0gICAg
Ci08L3NjcmlwdD4KLTxzdHlsZT4KLSAgICBkaXYuY2xhbXAgeyBib3JkZXI6NXB4IHNvbGlkIGJs
YWNrOyAtd2Via2l0LWxpbmVzLWNsYW1wOiA0IDcgZm9vOyAtd2Via2l0LWNvbHVtbi1nYXA6NTBw
eDsgLXdlYmtpdC1jb2x1bW4tcnVsZTo1cHggc29saWQgYmx1ZTsgfQotICAgICNmb28geyBoZWln
aHQ6NTBweDsgYm9yZGVyOjJweCBzb2xpZCBibHVlOyAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7
IH0KLTwvc3R5bGU+Ci08Ym9keT4KLTxkaXYgY2xhc3M9Y2xhbXA+Ci08ZGl2PgotICAgIDxkaXYg
c3R5bGU9ImZsb2F0OnJpZ2h0O2JvcmRlcjoycHggc29saWQgZ3JlZW47Zm9udC1zaXplOjI0cHgi
PkZsb2F0IExpbmUgMTxicj5GbG9hdCBMaW5lIDI8YnI+RmxvYXQgTGluZSAzPGJyPkZsb2F0IExp
bmUgNDwvZGl2PgotICAgIExpbmUgT25lPGJyPgotICAgIExpbmUgVHdvPGJyPgotICAgIExpbmUg
VGhyZWU8YnI+Ci0gICAgTGluZSBGb3VyPGJyPgotICAgIExpbmUgU2l4PGJyPgotICAgIAotICAg
IAotPC9kaXY+Ci0KLTxkaXYgaWQ9ImZvbyI+VGhlIG1pZGRsZSBwaWVjZS48L2Rpdj4KLQotPGRp
dj4KLSAgICBMaW5lIFNldmVuPGJyPgotICAgIExpbmUgRWlnaHQ8YnI+Ci0gICAgTGluZSBOaW5l
PGJyPgotICAgIExpbmUgVGVuPGJyPgotICAgIExpbmUgRWxldmVuPGJyPgotICAgIExpbmUgVHdl
bHZlPGJyPgotIAotPC9kaXY+Ci08L2Rpdj4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ibG9jay9saW5lcy1jbGFtcC1hZHZhbmNlZC1ybC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9ibG9jay9saW5lcy1jbGFtcC1hZHZhbmNlZC1ybC1leHBlY3RlZC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTVjZmNlYmZhMTg5ZjNlZDYwZDY0ODNlNzA5N2Zm
ZjFjODdjZGQ4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbGluZXMtY2xhbXAtYWR2YW5jZWQtcmwtZXhwZWN0ZWQu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLTxzY3JpcHQ+Ci0gICAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXBw
bGVNYWlsTGluZXNDbGFtcEVuYWJsZWQodHJ1ZSkKLSAgICAKLTwvc2NyaXB0PgotPHN0eWxlPgot
ICAgIGh0bWwgeyB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyB9Ci0gICAgZGl2LmNsYW1wIHsg
Ym9yZGVyOjVweCBzb2xpZCBibGFjazsgLXdlYmtpdC1saW5lcy1jbGFtcDogNCA3IGZvbzsgLXdl
YmtpdC1jb2x1bW4tZ2FwOjUwcHg7IC13ZWJraXQtY29sdW1uLXJ1bGU6NXB4IHNvbGlkIGJsdWU7
IH0KLSAgICAjZm9vIHsgd2lkdGg6NTBweDsgYm9yZGVyOjJweCBzb2xpZCBibHVlOyAtd2Via2l0
LXVzZXItc2VsZWN0Om5vbmU7IH0KLTwvc3R5bGU+Ci08Ym9keT4KLTxkaXYgY2xhc3M9Y2xhbXA+
Ci08ZGl2PgotICAgIDxkaXYgc3R5bGU9ImZsb2F0OnJpZ2h0O2JvcmRlcjoycHggc29saWQgZ3Jl
ZW47Zm9udC1zaXplOjI0cHgiPkZsb2F0IExpbmUgMTxicj5GbG9hdCBMaW5lIDI8YnI+RmxvYXQg
TGluZSAzPGJyPkZsb2F0IExpbmUgNDwvZGl2PgotICAgIExpbmUgT25lPGJyPgotICAgIExpbmUg
VHdvPGJyPgotICAgIExpbmUgVGhyZWU8YnI+Ci0gICAgTGluZSBGb3VyPGJyPgotICAgIExpbmUg
U2l4PGJyPgotICAgIAotICAgIAotPC9kaXY+Ci0KLTxkaXYgaWQ9ImZvbyI+VGhlIG1pZGRsZSBw
aWVjZS48L2Rpdj4KLQotPGRpdj4KLSAgICBMaW5lIFNldmVuPGJyPgotICAgIExpbmUgRWlnaHQ8
YnI+Ci0gICAgTGluZSBOaW5lPGJyPgotICAgIExpbmUgVGVuPGJyPgotICAgIExpbmUgRWxldmVu
PGJyPgotICAgIExpbmUgVHdlbHZlPGJyPgotIAotPC9kaXY+Ci08L2Rpdj4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9saW5lcy1jbGFtcC1hZHZhbmNlZC1ybC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9ibG9jay9saW5lcy1jbGFtcC1hZHZhbmNlZC1ybC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYzNmY2E2ZjUyNDlkM2M2Nzk5NjE3MTIxMTIzYTgz
ZDlmYTdmMWFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbGluZXMtY2xhbXAtYWR2YW5jZWQtcmwuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXBwbGVNYWlsTGlu
ZXNDbGFtcEVuYWJsZWQodHJ1ZSkKLSAgICAKLTwvc2NyaXB0PgotPHN0eWxlPgotICAgIGh0bWwg
eyB3cml0aW5nLW1vZGU6dmVydGljYWwtcmw7IH0KLSAgICBkaXYuY2xhbXAgeyBib3JkZXI6NXB4
IHNvbGlkIGJsYWNrOyAtd2Via2l0LWxpbmVzLWNsYW1wOiA0IDcgZm9vOyAtd2Via2l0LWNvbHVt
bi1nYXA6NTBweDsgLXdlYmtpdC1jb2x1bW4tcnVsZTo1cHggc29saWQgYmx1ZTsgfQotICAgICNm
b28geyB3aWR0aDo1MHB4OyBib3JkZXI6MnB4IHNvbGlkIGJsdWU7IC13ZWJraXQtdXNlci1zZWxl
Y3Q6bm9uZTsgfQotPC9zdHlsZT4KLTxib2R5PgotPGRpdiBjbGFzcz1jbGFtcD4KLTxkaXY+Ci0g
ICAgPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ym9yZGVyOjJweCBzb2xpZCBncmVlbjtmb250LXNp
emU6MjRweCI+RmxvYXQgTGluZSAxPGJyPkZsb2F0IExpbmUgMjxicj5GbG9hdCBMaW5lIDM8YnI+
RmxvYXQgTGluZSA0PC9kaXY+Ci0gICAgTGluZSBPbmU8YnI+Ci0gICAgTGluZSBUd288YnI+Ci0g
ICAgTGluZSBUaHJlZTxicj4KLSAgICBMaW5lIEZvdXI8YnI+Ci0gICAgTGluZSBGaXZlPGJyPgot
ICAgIExpbmUgU2l4PGJyPgotICAgIAotICAgIAotPC9kaXY+Ci0KLTxkaXYgaWQ9ImZvbyI+VGhl
IG1pZGRsZSBwaWVjZS48L2Rpdj4KLQotPGRpdj4KLSAgICBMaW5lIFNldmVuPGJyPgotICAgIExp
bmUgRWlnaHQ8YnI+Ci0gICAgTGluZSBOaW5lPGJyPgotICAgIExpbmUgVGVuPGJyPgotICAgIExp
bmUgRWxldmVuPGJyPgotICAgIExpbmUgVHdlbHZlPGJyPgotIAotPC9kaXY+Ci08L2Rpdj4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9saW5lcy1jbGFtcC1hZHZhbmNlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9saW5lcy1jbGFtcC1hZHZhbmNlZC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2M2UzN2Q1ZDc5OTAxNWRiOGJlYzUyZjcwNjc2
M2YzOGQ2OTNiYzQ2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svbGluZXMtY2xhbXAtYWR2YW5jZWQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXBwbGVNYWlsTGlu
ZXNDbGFtcEVuYWJsZWQodHJ1ZSkKLSAgICAKLTwvc2NyaXB0PgotPHN0eWxlPgotICAgIGRpdi5j
bGFtcCB7IGJvcmRlcjo1cHggc29saWQgYmxhY2s7IC13ZWJraXQtbGluZXMtY2xhbXA6IDQgNyBm
b287IC13ZWJraXQtY29sdW1uLWdhcDo1MHB4OyAtd2Via2l0LWNvbHVtbi1ydWxlOjVweCBzb2xp
ZCBibHVlOyB9Ci0gICAgI2ZvbyB7IGhlaWdodDo1MHB4OyBib3JkZXI6MnB4IHNvbGlkIGJsdWU7
IC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTsgfQotPC9zdHlsZT4KLTxib2R5PgotPGRpdiBjbGFz
cz1jbGFtcD4KLTxkaXY+Ci0gICAgPGRpdiBzdHlsZT0iZmxvYXQ6cmlnaHQ7Ym9yZGVyOjJweCBz
b2xpZCBncmVlbjtmb250LXNpemU6MjRweCI+RmxvYXQgTGluZSAxPGJyPkZsb2F0IExpbmUgMjxi
cj5GbG9hdCBMaW5lIDM8YnI+RmxvYXQgTGluZSA0PC9kaXY+Ci0gICAgTGluZSBPbmU8YnI+Ci0g
ICAgTGluZSBUd288YnI+Ci0gICAgTGluZSBUaHJlZTxicj4KLSAgICBMaW5lIEZvdXI8YnI+Ci0g
ICAgTGluZSBGaXZlPGJyPgotICAgIExpbmUgU2l4PGJyPgotICAgIAotICAgIAotPC9kaXY+Ci0K
LTxkaXYgaWQ9ImZvbyI+VGhlIG1pZGRsZSBwaWVjZS48L2Rpdj4KLQotPGRpdj4KLSAgICBMaW5l
IFNldmVuPGJyPgotICAgIExpbmUgRWlnaHQ8YnI+Ci0gICAgTGluZSBOaW5lPGJyPgotICAgIExp
bmUgVGVuPGJyPgotICAgIExpbmUgRWxldmVuPGJyPgotICAgIExpbmUgVHdlbHZlPGJyPgotIAot
PC9kaXY+Ci08L2Rpdj4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9saW5l
cy1jbGFtcC1iYXNpYy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9saW5l
cy1jbGFtcC1iYXNpYy1leHBlY3RlZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwOTYyNGI4MTUwYmNmODU0YTAxNjllNTZmOTE2NDJjNTRiMzExY2VjLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2sv
bGluZXMtY2xhbXAtYmFzaWMtZXhwZWN0ZWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICsw
LDAgQEAKLTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRBcHBsZU1haWxMaW5lc0NsYW1wRW5hYmxlZCh0cnVlKQotICAg
IAotPC9zY3JpcHQ+Ci08c3R5bGU+Ci0gICAgZGl2LmNsYW1wIHsgYm9yZGVyOjVweCBzb2xpZCBi
bGFjazsgLXdlYmtpdC1saW5lcy1jbGFtcDogMyAzIGZvbzsgLXdlYmtpdC1jb2x1bW4tZ2FwOjUw
cHg7IC13ZWJraXQtY29sdW1uLXJ1bGU6NXB4IHNvbGlkIGJsdWU7IH0KLSAgICAjZm9vIHsgaGVp
Z2h0OjUwcHg7IGJvcmRlcjoycHggc29saWQgYmx1ZTsgLXdlYmtpdC11c2VyLXNlbGVjdDpub25l
OyB9Ci08L3N0eWxlPgotPGJvZHk+Ci08ZGl2IGNsYXNzPWNsYW1wPgotPGRpdj4KLSAgICBMaW5l
IE9uZTxicj4KLSAgICBMaW5lIFR3bzxicj4KLSAgICBMaW5lIFRocmVlPGJyPgotICAgIAotICAg
IAotPC9kaXY+Ci0KLTxkaXYgaWQ9ImZvbyI+VGhlIG1pZGRsZSBwaWVjZS48L2Rpdj4KLQotPGRp
dj4KLSAgICBMaW5lIFRlbjxicj4KLSAgICBMaW5lIEVsZXZlbjxicj4KLSAgICBMaW5lIFR3ZWx2
ZTxicj4KLSAKLTwvZGl2PgotPC9kaXY+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
YmxvY2svbGluZXMtY2xhbXAtYmFzaWMtcmwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvYmxvY2svbGluZXMtY2xhbXAtYmFzaWMtcmwtZXhwZWN0ZWQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYThjYTllZjk0MDJhY2Q1OGYxMjkwNjI5NGE3ODU2YTkwMGM5ZmIz
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Jsb2NrL2xpbmVzLWNsYW1wLWJhc2ljLXJsLWV4cGVjdGVkLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi08c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXBwbGVNYWlsTGluZXNDbGFt
cEVuYWJsZWQodHJ1ZSkKLSAgICAKLTwvc2NyaXB0PgotPHN0eWxlPgotICAgIGh0bWwgeyB3cml0
aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyB9Ci0gICAgZGl2LmNsYW1wIHsgYm9yZGVyOjVweCBzb2xp
ZCBibGFjazsgLXdlYmtpdC1saW5lcy1jbGFtcDogMyAzIGZvbzsgLXdlYmtpdC1jb2x1bW4tZ2Fw
OjUwcHg7IC13ZWJraXQtY29sdW1uLXJ1bGU6NXB4IHNvbGlkIGJsdWU7IH0KLSAgICAjZm9vIHsg
d2lkdGg6NTBweDsgYm9yZGVyOjJweCBzb2xpZCBibHVlOyAtd2Via2l0LXVzZXItc2VsZWN0Om5v
bmU7IH0KLTwvc3R5bGU+Ci08Ym9keT4KLTxkaXYgY2xhc3M9Y2xhbXA+Ci08ZGl2PgotICAgIExp
bmUgT25lPGJyPgotICAgIExpbmUgVHdvPGJyPgotICAgIExpbmUgVGhyZWU8YnI+Ci0gICAgCi0g
ICAgCi08L2Rpdj4KLQotPGRpdiBpZD0iZm9vIj5UaGUgbWlkZGxlIHBpZWNlLjwvZGl2PgotCi08
ZGl2PgotICAgIExpbmUgVGVuPGJyPgotICAgIExpbmUgRWxldmVuPGJyPgotICAgIExpbmUgVHdl
bHZlPGJyPgotIAotPC9kaXY+Ci08L2Rpdj4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ibG9jay9saW5lcy1jbGFtcC1iYXNpYy1ybC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9j
ay9saW5lcy1jbGFtcC1iYXNpYy1ybC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5NmEyYzIwZTcwMTA1YTYyMDgyY2Q4MzdkMGE1MWIzNTY3YTU1NDIwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2sv
bGluZXMtY2xhbXAtYmFzaWMtcmwuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAK
LTxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRBcHBsZU1haWxMaW5lc0NsYW1wRW5hYmxlZCh0cnVlKQotICAgIAotPC9z
Y3JpcHQ+Ci08c3R5bGU+Ci0gICAgaHRtbCB7IHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybDsgfQot
ICAgIGRpdi5jbGFtcCB7IGJvcmRlcjo1cHggc29saWQgYmxhY2s7IC13ZWJraXQtbGluZXMtY2xh
bXA6IDMgMyBmb287IC13ZWJraXQtY29sdW1uLWdhcDo1MHB4OyAtd2Via2l0LWNvbHVtbi1ydWxl
OjVweCBzb2xpZCBibHVlOyB9Ci0gICAgI2ZvbyB7IHdpZHRoOjUwcHg7IGJvcmRlcjoycHggc29s
aWQgYmx1ZTsgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lOyB9Ci08L3N0eWxlPgotPGJvZHk+Ci08
ZGl2IGNsYXNzPWNsYW1wPgotPGRpdj4KLSAgICBMaW5lIE9uZTxicj4KLSAgICBMaW5lIFR3bzxi
cj4KLSAgICBMaW5lIFRocmVlPGJyPgotICAgIExpbmUgRm91cjxicj4KLSAgICBMaW5lIEZpdmU8
YnI+Ci0gICAgTGluZSBTaXg8YnI+Ci0gICAgCi08L2Rpdj4KLQotPGRpdiBpZD0iZm9vIj5UaGUg
bWlkZGxlIHBpZWNlLjwvZGl2PgotCi08ZGl2PgotICAgIExpbmUgU2V2ZW48YnI+Ci0gICAgTGlu
ZSBFaWdodDxicj4KLSAgICBMaW5lIE5pbmU8YnI+Ci0gICAgTGluZSBUZW48YnI+Ci0gICAgTGlu
ZSBFbGV2ZW48YnI+Ci0gICAgTGluZSBUd2VsdmU8YnI+Ci0gCi08L2Rpdj4KLTwvZGl2PgotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2xpbmVzLWNsYW1wLWJhc2ljLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL2xpbmVzLWNsYW1wLWJhc2ljLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwMmJjZjI3OTNiZDJjZjZmMWM0NWE0YjJkZmVkODY2MDUz
Mzg0YjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9ibG9jay9saW5lcy1jbGFtcC1iYXNpYy5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzQgKzAsMCBAQAotPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFwcGxlTWFpbExpbmVzQ2xhbXBFbmFibGVk
KHRydWUpCi0gICAgCi08L3NjcmlwdD4KLTxzdHlsZT4KLSAgICBkaXYuY2xhbXAgeyBib3JkZXI6
NXB4IHNvbGlkIGJsYWNrOyAtd2Via2l0LWxpbmVzLWNsYW1wOiAzIDMgZm9vOyAtd2Via2l0LWNv
bHVtbi1nYXA6NTBweDsgLXdlYmtpdC1jb2x1bW4tcnVsZTo1cHggc29saWQgYmx1ZTsgfQotICAg
ICNmb28geyBoZWlnaHQ6NTBweDsgYm9yZGVyOjJweCBzb2xpZCBibHVlOyAtd2Via2l0LXVzZXIt
c2VsZWN0Om5vbmU7IH0KLTwvc3R5bGU+Ci08Ym9keT4KLTxkaXYgY2xhc3M9Y2xhbXA+Ci08ZGl2
PgotICAgIExpbmUgT25lPGJyPgotICAgIExpbmUgVHdvPGJyPgotICAgIExpbmUgVGhyZWU8YnI+
Ci0gICAgTGluZSBGb3VyPGJyPgotICAgIExpbmUgRml2ZTxicj4KLSAgICBMaW5lIFNpeDxicj4K
LSAgICAKLTwvZGl2PgotCi08ZGl2IGlkPSJmb28iPlRoZSBtaWRkbGUgcGllY2UuPC9kaXY+Ci0K
LTxkaXY+Ci0gICAgTGluZSBTZXZlbjxicj4KLSAgICBMaW5lIEVpZ2h0PGJyPgotICAgIExpbmUg
TmluZTxicj4KLSAgICBMaW5lIFRlbjxicj4KLSAgICBMaW5lIEVsZXZlbjxicj4KLSAgICBMaW5l
IFR3ZWx2ZTxicj4KLSAKLTwvZGl2PgotPC9kaXY+Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2xpbmVzLWNsYW1wLXBhcnNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvbGluZXMtY2xhbXAtcGFyc2luZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDYzMmQ1MjYxYTZlNTE0MjQ1ZDEwMmMwOTlkOGQwYTNhMzkwMmY4MTku
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvbGluZXMtY2xhbXAtcGFyc2luZy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwyNCArMCwwIEBACi1MaW5lcyBDbGFtcCBQYXJzaW5nIFRlc3QKLQotT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGVzdFBhcnNpbmcoImxpbmVzQ2xhbXBUZXN0Iiwg
IjIgMSIsICItd2Via2l0LWxpbmVzLWNsYW1wIikgaXMgIjIgMSIKLVBBU1MgdGVzdFBhcnNpbmco
ImxpbmVzQ2xhbXBUZXN0IiwgIjEgMSIsICItd2Via2l0LWxpbmVzLWNsYW1wIikgaXMgIjEgMSIK
LVBBU1MgdGVzdFBhcnNpbmcoImxpbmVzQ2xhbXBUZXN0IiwgIjIwJSA0IiwgIi13ZWJraXQtbGlu
ZXMtY2xhbXAiKSBpcyAiMjAlIDQiCi1QQVNTIHRlc3RQYXJzaW5nKCJsaW5lc0NsYW1wVGVzdCIs
ICIzIDMwJSIsICItd2Via2l0LWxpbmVzLWNsYW1wIikgaXMgIjMgMzAlIgotUEFTUyB0ZXN0UGFy
c2luZygibGluZXNDbGFtcFRlc3QiLCAiNTAlIDYwJSIsICItd2Via2l0LWxpbmVzLWNsYW1wIikg
aXMgIjUwJSA2MCUiCi1QQVNTIHRlc3RQYXJzaW5nKCJsaW5lc0NsYW1wVGVzdCIsICIxIDMgZm9v
IiwgIi13ZWJraXQtbGluZXMtY2xhbXAiKSBpcyAiMSAzIGZvbyIKLVBBU1MgdGVzdFBhcnNpbmco
ImxpbmVzQ2xhbXBUZXN0IiwgImluaGVyaXQiLCAiLXdlYmtpdC1saW5lcy1jbGFtcCIpIGlzICJp
bmhlcml0IgotUEFTUyB0ZXN0UGFyc2luZygibGluZXNDbGFtcFRlc3QiLCAiMSBhIiwgIi13ZWJr
aXQtbGluZXMtY2xhbXAiKSBpcyAiMSBhIgotUEFTUyB0ZXN0UGFyc2luZygibGluZXNDbGFtcFRl
c3QiLCAibm9uZSIsICItd2Via2l0LWxpbmVzLWNsYW1wIikgaXMgIm5vbmUiCi1QQVNTIHRlc3RQ
YXJzaW5nKCJsaW5lc0NsYW1wVGVzdCIsICJmb28iLCAiLXdlYmtpdC1saW5lcy1jbGFtcCIpIGlz
ICJub25lIgotUEFTUyB0ZXN0UGFyc2luZygibGluZXNDbGFtcFRlc3QiLCAiMSAyIDMiLCAiLXdl
YmtpdC1saW5lcy1jbGFtcCIpIGlzICJub25lIgotUEFTUyB0ZXN0UGFyc2luZygibGluZXNDbGFt
cFRlc3QiLCAiYSAxIiwgIi13ZWJraXQtbGluZXMtY2xhbXAiKSBpcyAibm9uZSIKLVBBU1MgdGVz
dFBhcnNpbmcoImxpbmVzQ2xhbXBUZXN0IiwgImFiYzEyMyIsICItd2Via2l0LWxpbmVzLWNsYW1w
IikgaXMgIm5vbmUiCi1QQVNTIHRlc3RQYXJzaW5nKCJsaW5lc0NsYW1wVGVzdCIsICItMSIsICIt
d2Via2l0LWxpbmVzLWNsYW1wIikgaXMgIm5vbmUiCi1QQVNTIHRlc3RQYXJzaW5nKCJsaW5lc0Ns
YW1wVGVzdCIsICI1MHB4IiwgIi13ZWJraXQtbGluZXMtY2xhbXAiKSBpcyAibm9uZSIKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9saW5lcy1jbGFtcC1wYXJzaW5nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9saW5lcy1jbGFtcC1wYXJzaW5nLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQyMTQ5ZjcwYjU3OGM0MGZlMTNhZGM2YjllMmZlYjRhY2JmZTQ2ZDAuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvbGluZXMtY2xhbXAtcGFyc2luZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDEg
KzAsMCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgot
PGh0bWw+Ci0gIDxoZWFkPgotICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgotICA8L2hlYWQ+Ci0gIDxib2R5PgotICAgIDxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgotICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotICAgIDxkaXYgaWQ9
ImxpbmVzQ2xhbXBUZXN0Ij48L2Rpdj4KLSAgICA8c2NyaXB0PgotICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCi0gICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFwcGxlTWFp
bExpbmVzQ2xhbXBFbmFibGVkKHRydWUpCi0gICAgICBkZXNjcmlwdGlvbignTGluZXMgQ2xhbXAg
UGFyc2luZyBUZXN0Jyk7Ci0gICAgICBmdW5jdGlvbiB0ZXN0UGFyc2luZyhlbGVtZW50SWQsIHZh
bHVlLCBzdHlsZUF0dHJpYnV0ZSkKLSAgICAgIHsKLSAgICAgICAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKLSAgICAgICAgICBkaXYuc3R5bGVbc3R5bGVB
dHRyaWJ1dGVdID0gdmFsdWU7Ci0gICAgICAgICAgcmV0dXJuIGRpdi5zdHlsZVtzdHlsZUF0dHJp
YnV0ZV07Ci0gICAgICB9Ci0KLSAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNp
bmcoImxpbmVzQ2xhbXBUZXN0IiwgIjIgMSIsICItd2Via2l0LWxpbmVzLWNsYW1wIiknLCAnMiAx
Jyk7Ci0gICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJsaW5lc0NsYW1w
VGVzdCIsICIxIDEiLCAiLXdlYmtpdC1saW5lcy1jbGFtcCIpJywgJzEgMScpOwotICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygibGluZXNDbGFtcFRlc3QiLCAiMjAlIDQi
LCAiLXdlYmtpdC1saW5lcy1jbGFtcCIpJywgJzIwJSA0Jyk7Ci0gICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJsaW5lc0NsYW1wVGVzdCIsICIzIDMwJSIsICItd2Via2l0
LWxpbmVzLWNsYW1wIiknLCAnMyAzMCUnKTsKLSAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdFBhcnNpbmcoImxpbmVzQ2xhbXBUZXN0IiwgIjUwJSA2MCUiLCAiLXdlYmtpdC1saW5lcy1j
bGFtcCIpJywgJzUwJSA2MCUnKTsKLSAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBh
cnNpbmcoImxpbmVzQ2xhbXBUZXN0IiwgIjEgMyBmb28iLCAiLXdlYmtpdC1saW5lcy1jbGFtcCIp
JywgJzEgMyBmb28nKTsKLSAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmco
ImxpbmVzQ2xhbXBUZXN0IiwgImluaGVyaXQiLCAiLXdlYmtpdC1saW5lcy1jbGFtcCIpJywgJ2lu
aGVyaXQnKTsKLSAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImxpbmVz
Q2xhbXBUZXN0IiwgIjEgYSIsICItd2Via2l0LWxpbmVzLWNsYW1wIiknLCAnMSBhJyk7Ci0gICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJsaW5lc0NsYW1wVGVzdCIsICJu
b25lIiwgIi13ZWJraXQtbGluZXMtY2xhbXAiKScsICdub25lJyk7Ci0gICAgICAKLSAgICAgIC8v
IFRoZSBmb2xsb3dpbmcgYXJlIGludmFsaWQgYW5kIHNob3VsZCBnZXQgaWdub3JlZC4KLSAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImxpbmVzQ2xhbXBUZXN0IiwgImZv
byIsICItd2Via2l0LWxpbmVzLWNsYW1wIiknLCAnbm9uZScpOwotICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0ZXN0UGFyc2luZygibGluZXNDbGFtcFRlc3QiLCAiMSAyIDMiLCAiLXdlYmtp
dC1saW5lcy1jbGFtcCIpJywgJ25vbmUnKTsKLSAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdFBhcnNpbmcoImxpbmVzQ2xhbXBUZXN0IiwgImEgMSIsICItd2Via2l0LWxpbmVzLWNsYW1w
IiknLCAnbm9uZScpOwotICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygi
bGluZXNDbGFtcFRlc3QiLCAiYWJjMTIzIiwgIi13ZWJraXQtbGluZXMtY2xhbXAiKScsICdub25l
Jyk7Ci0gICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJsaW5lc0NsYW1w
VGVzdCIsICItMSIsICItd2Via2l0LWxpbmVzLWNsYW1wIiknLCAnbm9uZScpOwotICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygibGluZXNDbGFtcFRlc3QiLCAiNTBweCIs
ICItd2Via2l0LWxpbmVzLWNsYW1wIiknLCAnbm9uZScpOwotICAgIDwvc2NyaXB0PgotICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLSAg
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9vdmVyZmxvdy9s
aW5lLWNsYW1wLXdpdGgtdGV4dC1zaGFkb3ctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRleHQtc2hhZG93LWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjAxYzcyOWMxM2EzMzU2MTlhOTRhMzk4MTIyZjJjYjk4OTE4OTNhNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRl
eHQtc2hhZG93LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorZGl2IHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWJv
eDsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwor
ICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IAorCisgICAgd2lkdGg6IDM2MHB4OworICAgIGZvbnQt
c2l6ZTogMzZweDsKKworICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CisgICAgdGV4
dC1zaGFkb3c6IDBweCAwcHggN3B4IHJlZDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+VGV4dCBiZWxvdyBzaG91bGQgbm90IFNIT1c8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC13aXRoLXRl
eHQtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L292ZXJmbG93L2xpbmUtY2xhbXAtd2l0
aC10ZXh0LXNoYWRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkNjg1MzM2M2U5YzJlNTExNDA1MTMxZGVl
YmY1NWFlYjQ4YjZkMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L292ZXJm
bG93L2xpbmUtY2xhbXAtd2l0aC10ZXh0LXNoYWRvdy5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK2RpdiB7CisgICAgZGlzcGxh
eTogLXdlYmtpdC1ib3g7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKworICAgIHdpZHRoOiAzNjBw
eDsKKyAgICBmb250LXNpemU6IDM2cHg7CisKKyAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDE7Cisg
ICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKKyAgICB0ZXh0LXNoYWRvdzogMHB4IDBw
eCA3cHggcmVkOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj5UZXh0IGJlbG93
IHNob3VsZCBub3QgU0hPVzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvZmFzdC9vdmVyZmxvdy9saW5lLWNs
YW1wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2sy
L2Zhc3Qvb3ZlcmZsb3cvbGluZS1jbGFtcC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDZiMzgxMzdjNjU1MDg5Mzg0MGM2YTM0MDE3YTcwMzg3NzdkZGE1N2IuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvZmFzdC9vdmVyZmxvdy9saW5lLWNsYW1wLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1NiArMCwwIEBACi1sYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLWxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCi0gICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNzB4MTkKLSAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMjcwOiAiVGhpcyB0ZXN0cyB0aGUgLXdlYmtpdC1saW5lLWNsYW1w
IHByb3BlcnR5IgotICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMjY5LDE1KSBzaXplIDF4MAotICAg
ICAgUmVuZGVyQlIge0JSfSBhdCAoMCwyMCkgc2l6ZSAweDE5Ci0gICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEwMiwxMjEpIHNpemUgNHgxOQotICAgICAgICB0ZXh0IHJ1biBhdCAoMTAyLDEy
MSkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwOCwxMjEpIHNp
emUgNHgxOQotICAgICAgICB0ZXh0IHJ1biBhdCAoMjA4LDEyMSkgd2lkdGggNDogIiAiCi0gICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMxNCwxMjEpIHNpemUgNHgxOQotICAgICAgICB0ZXh0
IHJ1biBhdCAoMzE0LDEyMSkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDQyMCwxMjEpIHNpemUgNHgxOQotICAgICAgICB0ZXh0IHJ1biBhdCAoNDIwLDEyMSkgd2lk
dGggNDogIiAiCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUyNiwxMjEpIHNpemUgNHgx
OQotICAgICAgICB0ZXh0IHJ1biBhdCAoNTI2LDEyMSkgd2lkdGggNDogIiAiCi0gICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDYzMiwxMjEpIHNpemUgNHgxOQotICAgICAgICB0ZXh0IHJ1biBh
dCAoNjMyLDEyMSkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAyLDI2Mykgc2l6ZSA0
eDE5Ci0gICAgICAgIHRleHQgcnVuIGF0ICgxMDIsMjYzKSB3aWR0aCA0OiAiICIKLSAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMjA4LDI2Mykgc2l6ZSA0eDE5Ci0gICAgICAgIHRleHQgcnVu
IGF0ICgyMDgsMjYzKSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDgsNjIpIHNpemUgMTAyeDgyIGNsaXAgYXQgKDksNjMp
IHNpemUgMTAweDgwIHNjcm9sbEhlaWdodCAxNTkKLSAgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxl
Qm94IHtESVZ9IGF0ICgwLDU0KSBzaXplIDEwMng4MiBbYm9yZGVyOiAoMXB4IHNvbGlkICM4MDgw
ODApXQotICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgxLDEpIHNpemUgMTAweDgwCi0g
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4M3gxNTkKLSAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICI1MCUiCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDIw
KSB3aWR0aCA2OTogInRydW5jYXRpb24uIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0MCkgd2lk
dGggNjM6ICJUaGlzIGlzIGFuIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2MCkgd2lkdGggNzI6
ICJleGFtcGxlIG9mIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCw4MCkgd2lkdGggNTE6ICJlbGxp
cHNpcy0iCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDEwMCkgd2lkdGggODM6ICJ0cnVuY2F0aW9u
IG9mIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMjApIHdpZHRoIDY0OiAibXVsdGktbGluZSIK
LSAgICAgICAgdGV4dCBydW4gYXQgKDAsMTQwKSB3aWR0aCAyODogInRleHQuIgotICAgICAgUmVu
ZGVySW5saW5lIHtBfSBhdCAoMCwwKSBzaXplIDM2eDE5IFtjb2xvcj0jMDAwMEVFXQotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI3LDE0MCkgc2l6ZSAzNngxOQotICAgICAgICAgIHRl
eHQgcnVuIGF0ICgyNywxNDApIHdpZHRoIDM2OiAiTW9yZSIKLSAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDExNCwxMjIpIHNpemUgMTAyeDIyIGNs
aXAgYXQgKDExNSwxMjMpIHNpemUgMTAweDIwIHNjcm9sbEhlaWdodCAxMTkKLSAgUmVuZGVyRGVw
cmVjYXRlZEZsZXhpYmxlQm94IHtESVZ9IGF0ICgxMDYsMTE0KSBzaXplIDEwMngyMiBbYm9yZGVy
OiAoMXB4IHNvbGlkICM4MDgwODApXQotICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgx
LDEpIHNpemUgMTAweDIwCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
MDB4MTE5Ci0gICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDk1OiAiMCUgdHJ1bmNhdGlv
bi4iCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCA4NjogIlRoaXMgZG9lcyB0aGUi
Ci0gICAgICAgIHRleHQgcnVuIGF0ICgwLDQwKSB3aWR0aCAxMDA6ICJtb3N0IHRydW5jYXRpb24i
Ci0gICAgICAgIHRleHQgcnVuIGF0ICgwLDYwKSB3aWR0aCA1NzogInBvc3NpYmxlLCIKLSAgICAg
ICAgdGV4dCBydW4gYXQgKDAsODApIHdpZHRoIDk0OiAidHJ1bmNhdGluZyB0byAxIgotICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwxMDApIHdpZHRoIDI4OiAibGluZS4iCi0gICAgICBSZW5kZXJJbmxp
bmUge0F9IGF0ICgwLDApIHNpemUgMzZ4MTkgW2NvbG9yPSMwMDAwRUVdCi0gICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMjcsMTAwKSBzaXplIDM2eDE5Ci0gICAgICAgICAgdGV4dCBydW4g
YXQgKDI3LDEwMCkgd2lkdGggMzY6ICJNb3JlIgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCi1sYXllciBhdCAoMjIwLDEwMikgc2l6ZSAxMDJ4NDIgY2xpcCBhdCAo
MjIxLDEwMykgc2l6ZSAxMDB4NDAgc2Nyb2xsSGVpZ2h0IDExOQotICBSZW5kZXJEZXByZWNhdGVk
RmxleGlibGVCb3gge0RJVn0gYXQgKDIxMiw5NCkgc2l6ZSAxMDJ4NDIgW2JvcmRlcjogKDFweCBz
b2xpZCAjODA4MDgwKV0KLSAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMSwxKSBzaXpl
IDEwMHg0MAotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOTR4MTE5Ci0g
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUxOiAiMiBsaW5lcy4gIgotICAgICAgICB0
ZXh0IHJ1biBhdCAoNTAsMCkgd2lkdGggNDQ6ICJUaGlzIGlzIgotICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwyMCkgd2lkdGggOTE6ICJhbiBleGFtcGxlIG9mIgotICAgICAgICB0ZXh0IHJ1biBhdCAo
MCw0MCkgd2lkdGggNTE6ICJlbGxpcHNpcy0iCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDYwKSB3
aWR0aCA4MzogInRydW5jYXRpb24gb2YiCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDgwKSB3aWR0
aCA2NDogIm11bHRpLWxpbmUiCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDEwMCkgd2lkdGggMjg6
ICJ0ZXh0LiIKLSAgICAgIFJlbmRlcklubGluZSB7QX0gYXQgKDAsMCkgc2l6ZSAzNngxOSBbY29s
b3I9IzAwMDBFRV0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNywxMDApIHNpemUg
MzZ4MTkKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMTAwKSB3aWR0aCAzNjogIk1vcmUiCi0g
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgzMjYs
ODIpIHNpemUgMTAyeDYyIGNsaXAgYXQgKDMyNyw4Mykgc2l6ZSAxMDB4NjAgc2Nyb2xsSGVpZ2h0
IDE3OQotICBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3gge0RJVn0gYXQgKDMxOCw3NCkgc2l6
ZSAxMDJ4NjIgW2JvcmRlcjogKDFweCBzb2xpZCAjODA4MDgwKV0KLSAgICBSZW5kZXJCbG9jayAo
YW5vbnltb3VzKSBhdCAoMSwxKSBzaXplIDEwMHg2MAotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgODV4MTc5Ci0gICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDcy
OiAiQmFja3dhcmRzIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGggNzI6ICJjb21w
YXRpYmxlIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0MCkgd2lkdGggNzM6ICJ0cnVuY2F0aW9u
LiAiCi0gICAgICAgIHRleHQgcnVuIGF0ICg3Miw0MCkgd2lkdGggOTogIjMiCi0gICAgICAgIHRl
eHQgcnVuIGF0ICgwLDYwKSB3aWR0aCA3NDogImxpbmVzIG9uIHRoZSIKLSAgICAgICAgdGV4dCBy
dW4gYXQgKDAsODApIHdpZHRoIDg1OiAibGF0ZXN0IHZlcnNpb24iCi0gICAgICAgIHRleHQgcnVu
IGF0ICgwLDEwMCkgd2lkdGggNzU6ICJvZiBXZWJLaXQuICIKLSAgICAgICAgdGV4dCBydW4gYXQg
KDc0LDEwMCkgd2lkdGggOTogIjEiCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDEyMCkgd2lkdGgg
ODE6ICJsaW5lIG9uIG9sZGVyIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNDApIHdpZHRoIDcx
OiAidmVyc2lvbnMgb2YiCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDE2MCkgd2lkdGggNTQ6ICJX
ZWJLaXQuIgotICAgICAgUmVuZGVySW5saW5lIHtBfSBhdCAoMCwwKSBzaXplIDM2eDE5IFtjb2xv
cj0jMDAwMEVFXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUzLDE2MCkgc2l6ZSAz
NngxOQotICAgICAgICAgIHRleHQgcnVuIGF0ICg1MywxNjApIHdpZHRoIDM2OiAiTW9yZSIKLSAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDQzMiwx
MDIpIHNpemUgMTAyeDQyIGNsaXAgYXQgKDQzMywxMDMpIHNpemUgMTAweDQwIHNjcm9sbEhlaWdo
dCAxNTkKLSAgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94IHtESVZ9IGF0ICg0MjQsOTQpIHNp
emUgMTAyeDQyIFtib3JkZXI6ICgxcHggc29saWQgIzgwODA4MCldCi0gICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDEsMSkgc2l6ZSAxMDB4NDAKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDk2eDE1OQotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAz
MDogIjMwJSIKLSAgICAgICAgdGV4dCBydW4gYXQgKDAsMjApIHdpZHRoIDczOiAidHJ1bmNhdGlv
bi4gIgotICAgICAgICB0ZXh0IHJ1biBhdCAoNzIsMjApIHdpZHRoIDIxOiAiTm8iCi0gICAgICAg
IHRleHQgcnVuIGF0ICgwLDQwKSB3aWR0aCA5NjogImxpbmsgYXQgdGhlIGVuZC4iCi0gICAgICAg
IHRleHQgcnVuIGF0ICgwLDYwKSB3aWR0aCA2MzogIlRoaXMgaXMgYW4iCi0gICAgICAgIHRleHQg
cnVuIGF0ICgwLDgwKSB3aWR0aCA3MjogImV4YW1wbGUgb2YiCi0gICAgICAgIHRleHQgcnVuIGF0
ICgwLDEwMCkgd2lkdGggNTE6ICJlbGxpcHNpcy0iCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDEy
MCkgd2lkdGggODM6ICJ0cnVuY2F0aW9uIG9mIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNDAp
IHdpZHRoIDk2OiAibXVsdGktbGluZSB0ZXh0LiIKLWxheWVyIGF0ICg1MzgsODIpIHNpemUgMTAy
eDYyIGNsaXAgYXQgKDUzOSw4Mykgc2l6ZSAxMDB4NjAgc2Nyb2xsSGVpZ2h0IDExOQotICBSZW5k
ZXJEZXByZWNhdGVkRmxleGlibGVCb3gge0RJVn0gYXQgKDUzMCw3NCkgc2l6ZSAxMDJ4NjIgW2Jv
cmRlcjogKDFweCBzb2xpZCAjODA4MDgwKV0KLSAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMSwxKSBzaXplIDEwMHg2MAotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgOTl4MTE5Ci0gICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUxOiAiMyBsaW5lcy4g
IgotICAgICAgICB0ZXh0IHJ1biBhdCAoNTAsMCkgd2lkdGggNDk6ICJObyBsaW5rIgotICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGggNzE6ICJhdCB0aGUgZW5kLiAiCi0gICAgICAgIHRl
eHQgcnVuIGF0ICg3MCwyMCkgd2lkdGggMjk6ICJUaGlzIgotICAgICAgICB0ZXh0IHJ1biBhdCAo
MCw0MCkgd2lkdGggODg6ICJpcyBhbiBleGFtcGxlIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCw2
MCkgd2lkdGggNjg6ICJvZiBlbGxpcHNpcy0iCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDgwKSB3
aWR0aCA4MzogInRydW5jYXRpb24gb2YiCi0gICAgICAgIHRleHQgcnVuIGF0ICgwLDEwMCkgd2lk
dGggOTY6ICJtdWx0aS1saW5lIHRleHQuIgotbGF5ZXIgYXQgKDY0NCw0OCkgc2l6ZSAxMDJ4MTAy
IGNsaXAgYXQgKDY0NSw0OSkgc2l6ZSAxMDB4MTAwCi0gIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJs
ZUJveCB7RElWfSBhdCAoNjM2LDQwKSBzaXplIDEwMngxMDIgW2JvcmRlcjogKDFweCBzb2xpZCAj
ODA4MDgwKV0KLSAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMSwxKSBzaXplIDEwMHgx
MDAKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDk0eDk5Ci0gICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUxOiAiMCBsaW5lcy4gIgotICAgICAgICB0ZXh0IHJ1
biBhdCAoNTAsMCkgd2lkdGggNDQ6ICJUaGlzIGlzIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwy
MCkgd2lkdGggNjQ6ICJhbiBpbnZhbGlkIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0MCkgd2lk
dGggNjc6ICJ2YWx1ZSBmb3IgLSIKLSAgICAgICAgdGV4dCBydW4gYXQgKDAsNjApIHdpZHRoIDc5
OiAid2Via2l0LWxpbmUtIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCw4MCkgd2lkdGggNDQ6ICJj
bGFtcC4iCi1sYXllciBhdCAoOCwxOTApIHNpemUgMTAyeDEwMiBjbGlwIGF0ICg5LDE5MSkgc2l6
ZSAxMDB4MTAwCi0gIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveCB7RElWfSBhdCAoMCwxODIp
IHNpemUgMTAyeDEwMiBbYm9yZGVyOiAoMXB4IHNvbGlkICM4MDgwODApXQotICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgxLDEpIHNpemUgMTAweDEwMAotICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgOTl4OTkKLSAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggNTY6ICItMSBsaW5lcy4gIgotICAgICAgICB0ZXh0IHJ1biBhdCAoNTUsMCkgd2lkdGggNDQ6
ICJUaGlzIGlzIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGggNjQ6ICJhbiBpbnZh
bGlkIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0MCkgd2lkdGggNjc6ICJ2YWx1ZSBmb3IgLSIK
LSAgICAgICAgdGV4dCBydW4gYXQgKDAsNjApIHdpZHRoIDc5OiAid2Via2l0LWxpbmUtIgotICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw4MCkgd2lkdGggNDQ6ICJjbGFtcC4iCi1sYXllciBhdCAoMTE0
LDIxMCkgc2l6ZSAxMDJ4ODIgY2xpcCBhdCAoMTE1LDIxMSkgc2l6ZSAxMDB4ODAKLSAgUmVuZGVy
RGVwcmVjYXRlZEZsZXhpYmxlQm94IHtESVZ9IGF0ICgxMDYsMjAyKSBzaXplIDEwMng4MiBbYm9y
ZGVyOiAoMXB4IHNvbGlkICM4MDgwODApXQotICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICgxLDEpIHNpemUgMTAweDgwCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA5N3g3OQotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNTogIi0xJS4gIgotICAg
ICAgICB0ZXh0IHJ1biBhdCAoMzQsMCkgd2lkdGggNjM6ICJUaGlzIGlzIGFuIgotICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwyMCkgd2lkdGggODQ6ICJpbnZhbGlkIHZhbHVlIgotICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw0MCkgd2lkdGggNzc6ICJmb3IgLXdlYmtpdC0iCi0gICAgICAgIHRleHQgcnVu
IGF0ICgwLDYwKSB3aWR0aCA3MzogImxpbmUtY2xhbXAuIgotbGF5ZXIgYXQgKDIyMCwxNTApIHNp
emUgMTAyeDE0MiBjbGlwIGF0ICgyMjEsMTUxKSBzaXplIDEwMHgxNDAKLSAgUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94IHtESVZ9IGF0ICgyMTIsMTQyKSBzaXplIDEwMngxNDIgW2JvcmRlcjog
KDFweCBzb2xpZCAjODA4MDgwKV0KLSAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMSwx
KSBzaXplIDEwMHgxNDAKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDk5
eDEzOQotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzODogIjE1MCUiCi0gICAgICAg
IHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCA2OTogInRydW5jYXRpb24uIgotICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw0MCkgd2lkdGggODY6ICJUaGlzIGRvZXMgdGhlIgotICAgICAgICB0ZXh0IHJ1
biBhdCAoMCw2MCkgd2lkdGggOTk6ICJsZWFzdCB0cnVuY2F0aW9uIgotICAgICAgICB0ZXh0IHJ1
biBhdCAoMCw4MCkgd2lkdGggNTc6ICJwb3NzaWJsZSwiCi0gICAgICAgIHRleHQgcnVuIGF0ICgw
LDEwMCkgd2lkdGggNjU6ICJ0cnVuY2F0aW5nIgotICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxMjAp
IHdpZHRoIDUzOiAibm90aGluZy4iCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>