<?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>114608</bug_id>
          
          <creation_ts>2013-04-15 01:09:13 -0700</creation_ts>
          <short_desc>[BlackBerry] Upstream the input popups</short_desc>
          <delta_ts>2013-05-09 08:50:42 -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>WebKit BlackBerry</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>111729</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Alberto Garcia">berto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>875502</commentid>
    <comment_count>0</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-04-15 01:09:13 -0700</bug_when>
    <thetext>Upstream input popups for the BlackBerry port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875503</commentid>
    <comment_count>1</comment_count>
      <attachid>198032</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-04-15 01:11:58 -0700</bug_when>
    <thetext>Created attachment 198032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886876</commentid>
    <comment_count>2</comment_count>
      <attachid>201240</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-05-09 08:33:25 -0700</bug_when>
    <thetext>Created attachment 201240
Patch

This patch was a bit old, I&apos;ve just rebased it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886879</commentid>
    <comment_count>3</comment_count>
      <attachid>201240</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-05-09 08:38:25 -0700</bug_when>
    <thetext>Comment on attachment 201240
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886892</commentid>
    <comment_count>4</comment_count>
      <attachid>201240</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-09 08:50:40 -0700</bug_when>
    <thetext>Comment on attachment 201240
Patch

Clearing flags on attachment: 201240

Committed r149814: &lt;http://trac.webkit.org/changeset/149814&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>886893</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-09 08:50:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>198032</attachid>
            <date>2013-04-15 01:11:58 -0700</date>
            <delta_ts>2013-05-09 08:33:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>114608.diff</filename>
            <type>text/plain</type>
            <size>107785</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzOTI5YmY5Li5iMWFlNTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODcg
QEAKKzIwMTMtMDQtMTUgIEFsYmVydG8gR2FyY2lhICA8YWdhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtCbGFja0JlcnJ5XSBVcHN0cmVhbSB0aGUgaW5wdXQgcG9wdXBzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQ2MDgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNvbnRhaW5z
IGNvbnRyaWJ1dGlvbnMgZnJvbSBtYW55IG1lbWJlcnMgb2YgdGhlCisgICAgICAgIEJsYWNrQmVy
cnkgV2ViS2l0IHRlYW0sIGluY2x1ZGluZzoKKworICAgICAgICBDaHJpcyBIdXR0ZW4tQ3phcHNr
aQorICAgICAgICBEYXZpZCBIb29uCisgICAgICAgIEplc3NpY2EgQ2FvCisgICAgICAgIFJvYiBC
dWlzCisgICAgICAgIFRpYW5jaGVuZyBKaWFuZworCisgICAgICAgICogUmVzb3VyY2VzL2JsYWNr
YmVycnkvY29sb3JDb250cm9sQmxhY2tCZXJyeS5jc3M6IEFkZGVkLgorICAgICAgICAoLmNvbG9y
LXBpY2tlci1wb3B1cC1hcmVhKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItY29udGVudCk6Cisg
ICAgICAgICguY29sb3ItcGlja2VyLWJsb2NrKToKKyAgICAgICAgKCNjb2xvci1waWNrZXItc3dh
dGNoLWJsb2NrKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItc3dpdGNoZXIpOgorICAgICAgICAo
LmNvbG9yLXBpY2tlci1jaGVjay1tYXJrKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItb3B0aW9u
KToKKyAgICAgICAgKC5jb2xvci1waWNrZXItYnV0dG9uKToKKyAgICAgICAgKC5jb2xvci1waWNr
ZXItaGlnaGxpZ2h0KToKKyAgICAgICAgKGlucHV0KToKKyAgICAgICAgKC5jb2xvci1waWNrZXIt
c2hhcnApOgorICAgICAgICAoLmNvbG9yLXBpY2tlci1vZmYpOgorICAgICAgICAoLmNvbG9yLXBp
Y2tlci1pbmFjdGl2ZS1mb250KToKKyAgICAgICAgKC5jb2xvci1waWNrZXItcm93KToKKyAgICAg
ICAgKC5jb2xvci1waWNrZXItaGV4LXN0eWxlKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItaW5w
dXQpOgorICAgICAgICAoLmNvbG9yLXBpY2tlci13ZWxsKToKKyAgICAgICAgKC5jb2xvci1waWNr
ZXItaW5wdXQgLmNvbG9yLXBpY2tlci13ZWxsKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItc2xp
ZGVyKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItc2xpZGVyLW91dHB1dCk6CisgICAgICAgICgu
Y29sb3ItcGlja2VyLXJhbmdlKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItcmFuZ2U6Oi13ZWJr
aXQtc2xpZGVyLXRodW1iKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItcmFuZ2U6Oi13ZWJraXQt
c2xpZGVyLXRodW1iOmFjdGl2ZSk6CisgICAgICAgICgucmVkLXJhbmdlci1iZyk6CisgICAgICAg
ICguZ3JlZW4tcmFuZ2VyLWJnKToKKyAgICAgICAgKC5ibHVlLXJhbmdlci1iZyk6CisgICAgICAg
IChAbWVkaWEgb25seSBzY3JlZW4gYW5kIChoZWlnaHQ6IDc2OHB4KSk6CisgICAgICAgIChAbWVk
aWEgb25seSBzY3JlZW4gYW5kIChoZWlnaHQ6IDcyMHB4KSk6CisgICAgICAgICogUmVzb3VyY2Vz
L2JsYWNrYmVycnkvY29sb3JDb250cm9sQmxhY2tCZXJyeS5qczogQWRkZWQuCisgICAgICAgICgu
KToKKyAgICAgICAgKiBSZXNvdXJjZXMvYmxhY2tiZXJyeS9wb3B1cENvbnRyb2xCbGFja0JlcnJ5
LmNzczoKKyAgICAgICAgKGJvZHkpOgorICAgICAgICAoLnBvcHVwLWFyZWEpOgorICAgICAgICAo
LnBvcHVwLWhlYWRlcik6CisgICAgICAgICgucG9wdXAtY29udGVudCk6CisgICAgICAgICgucG9w
dXAtYnV0dG9ucyk6CisgICAgICAgICgucG9wdXAtYnV0dG9uKToKKyAgICAgICAgKEBtZWRpYSBv
bmx5IHNjcmVlbiBhbmQgKHdpZHRoOiA3MjBweCkgYW5kIChoZWlnaHQ6IDcyMHB4KSk6CisgICAg
ICAgICogUmVzb3VyY2VzL2JsYWNrYmVycnkvc2VsZWN0Q29udHJvbEJsYWNrQmVycnkuY3NzOgor
ICAgICAgICAoLnBvcHVwLWNvbnRlbnQpOgorICAgICAgICAoQG1lZGlhIChtaW4taGVpZ2h0OiA5
MThweCkpOgorICAgICAgICAoLm9wdGlvbik6CisgICAgICAgIChAbWVkaWEgb25seSBzY3JlZW4g
YW5kICh3aWR0aDogNzIwcHgpIGFuZCAoaGVpZ2h0OiA3MjBweCkpOgorICAgICAgICAoLmNvbnRl
bnRzKToKKyAgICAgICAgKC5vcHRpb246YWN0aXZlKToKKyAgICAgICAgKC5zZWxlY3RlZCk6Cisg
ICAgICAgICguc2VsZWN0ZWQgLmNvbnRlbnRzOjphZnRlcik6CisgICAgICAgICgudGV4dCk6Cisg
ICAgICAgICguZGlzYWJsZWQpOgorICAgICAgICAoLm9wdGdyb3VwKToKKyAgICAgICAgKC5vcHRn
cm91cC1vcHRpb24pOgorICAgICAgICAqIFJlc291cmNlcy9ibGFja2JlcnJ5L3NlbGVjdENvbnRy
b2xCbGFja0JlcnJ5LmpzOgorICAgICAgICAoLik6CisgICAgICAgICogUmVzb3VyY2VzL2JsYWNr
YmVycnkvdGltZUNvbnRyb2xCbGFja0JlcnJ5LmNzczogQWRkZWQuCisgICAgICAgICgjcG9wdXAt
Y29udGVudC10aW1lKToKKyAgICAgICAgKC5jb2x1bW4pOgorICAgICAgICAoLmNvbHVtbjpub3Qo
Omxhc3QtY2hpbGQpKToKKyAgICAgICAgKC5jZWxsKToKKyAgICAgICAgKC55ZWFybW9udGhkYXRl
IC5jZWxsIGRpdjpsYXN0LWNoaWxkKToKKyAgICAgICAgKC5yb3ctaGlnaGxpZ2h0LWNvbnRhaW5l
cik6CisgICAgICAgICgucm93LWhpZ2hsaWdodC1maWxsZXIpOgorICAgICAgICAoLnJvdy1oaWdo
bGlnaHQpOgorICAgICAgICAoLnRhbGwtYml0KToKKyAgICAgICAgKEBtZWRpYSBvbmx5IHNjcmVl
biBhbmQgKHdpZHRoOiA3MjBweCkgYW5kIChoZWlnaHQ6IDcyMHB4KSk6CisgICAgICAgICogUmVz
b3VyY2VzL2JsYWNrYmVycnkvdGltZUNvbnRyb2xCbGFja0JlcnJ5LmpzOiBBZGRlZC4KKyAgICAg
ICAgKC4pOgorCiAyMDEzLTA0LTE0ICBKYWVodW4gTGltICA8bGphZWh1bi5saW1Ac2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW2NzczMtdGV4dF0gUGFyc2luZyAtd2Via2l0LWhhbmdpbmcgdmFsdWUg
Zm9yIHRleHQtaW5kZW50IGZyb20gY3NzMy10ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS9jb2xvckNvbnRyb2xCbGFja0JlcnJ5LmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL1Jlc291cmNlcy9ibGFja2JlcnJ5L2NvbG9yQ29udHJvbEJsYWNrQmVycnkuY3Nz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NDEyNzEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS9jb2xvckNvbnRyb2xC
bGFja0JlcnJ5LmNzcwpAQCAtMCwwICsxLDE5NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgUmVz
ZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqLwor
LmNvbG9yLXBpY2tlci1wb3B1cC1hcmVhIHsKKyAgICBtYXgtaGVpZ2h0OiBub25lOworfQorCisu
Y29sb3ItcGlja2VyLWNvbnRlbnQgeworICAgIGhlaWdodDogODM1cHg7CisgICAgb3ZlcmZsb3c6
IGhpZGRlbjsKK30KKworLmNvbG9yLXBpY2tlci1ibG9jayB7CisgICAgcGFkZGluZy1ib3R0b206
IDIwcHg7Cit9CisKKyNjb2xvci1waWNrZXItc3dhdGNoLWJsb2NrIHsKKyAgICAtd2Via2l0LXRy
YW5zZm9ybTogdHJhbnNsYXRlWigwKTsKK30KKworLmNvbG9yLXBpY2tlci1zd2l0Y2hlciB7Cisg
ICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIG1hcmdpbjogMjVweCAyNXB4IDQwcHggMjVweDsK
KyAgICBoZWlnaHQ6IDg0cHg7CisgICAgYm9yZGVyLXdpZHRoOiA4cHg7CisgICAgYm9yZGVyLWlt
YWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFC
MEFBQUJSQ0FZQUFBQXVDYTBZQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZK
bFlXUjVjY2xsUEFBQUEyWnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJo
WTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZ
emxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlI
ZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU1DMWpNRFl3SURZeExqRXpORGMzTnl3
Z01qQXhNQzh3TWk4eE1pMHhOem96TWpvd01DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFz
Ym5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXpl
VzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VH
MXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4
aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2
YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWha
RzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJE
MGllRzF3TG1ScFpEb3hNa1ZCTURWR056QTRNakEyT0RFeFFVSXdPRVkwTXpCRU1UYzBOa000UVNJ
Z2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRwRlJUWXhSVU14UXpFM09FRXhNVVV5
UVVZMFFqaEZSRGxCUlVRMlJqRkZSQ0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBa
RHBGUlRZeFJVTXhRakUzT0VFeE1VVXlRVVkwUWpoRlJEbEJSVVEyUmpGRlJDSWdlRzF3T2tOeVpX
RjBiM0pVYjI5c1BTSkJaRzlpWlNCUWFHOTBiM05vYjNBZ1ExTTFJRTFoWTJsdWRHOXphQ0krSUR4
NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xr
T2pCR01EWkRNRUpHUlVZeU1EWTRNVEU1TlVaRlJUTTJNVFU0TkRjeFJFUTVJaUJ6ZEZKbFpqcGti
Mk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakV5UlVFd05VWTNNRGd5TURZNE1URkJRakE0UmpRek1F
UXhOelEyUXpoQklpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3
dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtERkZWVWdBQUJBbEpSRUZV
ZU5yc1dzMVBFMEVVMzlsdXYraUhTTkdEZ3RWRUQxNzB5SmtZRGlRUURRbXhFazhjOVA4Zy9CTjY0
S1RHS0JJTkpKd01aODVjT1BoSlBTbWdkTnV5bngzZkc5NlVzYlphWU51U3NKUDhNdHZkbWZlYjl6
R3piN3JET09kYXMvTDE4OWNFVkhGQURCRFYyaTh1d0FIWStXdDVxMWtEMWtnS1pFaVNJY0tURmh0
Z0FyblRraFFJTTBTb3ZYMzNOdjdrNlpNTHhXSXhVeTZYVTlpMkRSS2VUcWNydzhQRDV1TkhqMy9j
dTN2UHB2dEliUDVGdXZWbHF4K3FQcnd1ekJRdXJxK3ZEOVZxTlVuRWo2Q2Q2S1ByT2g4WkdmbjI4
c1hMNzNTL2V1WHFsVjkxVWlCTXd2WDVVcW1ramQ0WnZiNjl2WDJPaUtxQWZmSVIvOGNBbUZLamU1
S2tBQnNjSE54YmU3LzJJWnZONHZOZElMWjBhb3ptMDZidlQxOEd3aXo1WW9kZ0VyR0UxUVRxYzFQ
cGE2TzhtWWN6UThTVEZsWWdMV1BQbmorTGIyNXVYcURvMndhZ0tTcUFzZ0x6SDFEYlZhZy9FcnNi
R3h1RHIxNi9Fak1CK0JJNkdDU09SbGw4czRpRUhtQ1BoRlFJMWY5bzJhaHRWZWxiSW5tZWtNK0VB
eElHMHhqNlFDdHVGVFBrdTUvVTBhVkIxQWovQ3lqcFY1M2dFeUtBeEtlUG45THNvRW5Nb0p1YVdU
WTVrVmFvZGhUQ28wYXZKT1ZTbm1WYlNYb2VNZVFJYmR2MmxOWEVVVHJ4SXk0SVhCbW9RL0pkMHpR
Tk9TaERtZktlQWw4eDZYR0tIQ3o3UXk1eEdleVFWZmlBTWVZZlE3dFdCUWZ1dzFwd0lKdTRES1dC
ci9pd0ZoQXBWK1Q1OHFacVhoNmdoczNOM2NTOC9CanJiTHVFb3BaY3V0YURZclQxd2dxcU5ERnZG
emhEODNiQnZFYUw1WXNIUGtkRDg5WWZzdUFHMGl5WlAwdm03WUdtdlZtUmxLRGhIWjZuWEhMMVNO
TXdrTG9VU0oxWGxEVXNnL0lHMXAwZVNEMlErTUVpaVdFZCtKU3B5dzREcVJ1QkZHcmF0YnkzNDIr
WjA1R1lxYjROT2pGcmxIYzJBNm1uS1dnbm92Y1U3RS9EUUFyLzZPaUllWU5PekZCV2ZZL2E0bSs2
ZWhJVlpGWlczOHVjd2NRczNFQ0Y1ZzFpR1d5Y1Q1M2NRSVhSMjd2bzdWUTJjZmhxWXdmcGZpcVZZ
bjhhSWJBaXJObmYzOC9vK3ltWG54eTFmRDR2UTgzUWdnM2RpQ29mK1pCVW5FRVlIeCtYR3FZQzFs
VElHeHNiazc4ZEhYUzJVZThIaFFjdWphelA4N3hvRUd3b0IrUUowc0w5Z3NlRVY1bXR4K0t4ZmJo
eWJ0MitWWjZibThPUDVheFdxdzI0cnBzOENTSDJSemw0UFQ4L24wRDV5Q1A0Y0xHd2JUc0p1R1Ja
MXMzWjJka2IwRzRZTUFSUm5OTjFQUkdMeGZSMmdlMnhIL1pIT1NnUDVhSjg1Qkc3T0ptL09JNkRK
enBTa1Vna3Q3S3k0a0hqMHU3dTdyR1h3NEdCQWJhd3NKQ2RtSmd3Zk4vSG93Y1ZHTlRoaVk2Nmh4
MUhuRjJCMFdaMmRuYjZscGVYcmRYVjFmMmxwU1czWGJLcHFha29CR1Z5Y25JeWtjdmxxbUJpY1E0
Q0NQOCt1Nkw0UXB6U0FST2xDUEo0VUx2RkFaazJvSUpBd21nMDJ2cVVUZ1A1aWM4amdYWldNL20v
QlJnQTdMSDQyZ003R0Q0QUFBQUFTVVZPUks1Q1lJST0pIDggOCA4IDggZmlsbCBzdHJldGNoOwor
fQorCisuY29sb3ItcGlja2VyLWNoZWNrLW1hcmsgeworICAgIHdpZHRoOiA4MXB4OworICAgIGhl
aWdodDogODFweDsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFz
ZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFGRUFBQUJSQ0FZQUFBQ3FqMG8yQUFBQUdYUkZX
SFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUEyWnBWRmgwV0UxTU9t
TnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQw
aVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFz
Ym5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRi
M0psSURVdU1DMWpNRFl3SURZeExqRXpORGMzTnl3Z01qQXhNQzh3TWk4eE1pMHhOem96TWpvd01D
QWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5j
ekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5q
Y21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVj
eTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09p
OHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlC
NGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0
Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzFSakpETURJNVFURkJO
RGhGTVRFeE9UaENPVGc1TXpGRU1VUTRPREZDUWlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVH
MXdMbVJwWkRveU9FRTFRamM0TWtFME56UXhNVVV4UVRrM01qbEVSakUyUmpJNE5ESXlNeUlnZUcx
d1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG95T0VFMVFqYzRNVUUwTnpReE1VVXhRVGsz
TWpsRVJqRTJSakk0TkRJeU15SWdlRzF3T2tOeVpXRjBiM0pVYjI5c1BTSkJaRzlpWlNCUWFHOTBi
M05vYjNBZ1ExTTFJRTFoWTJsdWRHOXphQ0krSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRG
SmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2tSRU1qQkJSa0pGTkRBeU1qWTRNVEU0UmpZ
eU9VSkVSamt6TkRkRlJUSXdJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalZH
TWtNd01qbEJNVUUwT0VVeE1URTVPRUk1T0Rrek1VUXhSRGc0TVVKQ0lpOCtJRHd2Y21SbU9rUmxj
Mk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpY
UWdaVzVrUFNKeUlqOCtDSTJNRUFBQUNuaEpSRUZVZU5yc25IdE1rMWtXd052U0ZtaXBnQWpFRVJC
WmFUQk1GaDBnczBZRW8xSElhbHhEaklxS1QyS0lUOUNvOFE4ZjBmaE1mS0tKR28ySlpLT0poaGo5
UTBGQkJSTXltWEVuYmtKaVdHUkVZRGFJV0FyMFRkczlwM052dmRZKzZPTnJ5K3gzazVQMmd6N3Uv
ZldjZTg2NTk5eFBhTFZhQlh6enI0bDRCRHhFSGlJUGtXODhSQjRpRDVHSHlEY2VJamROSEFaOUVE
S1B6b1J0VmhjaVlCNy9ieUN5a05BYUlwaEgrbHprQUpJQ3N4QXhFN0V3ajQ1Zy8zUVFoY3dVUW9H
SmlVZ1lFVHZBWkNHeThFWkJUSXlNRWpFem9JT2lvZUlnQXFUd0tDd3BTQ1NSS09hYWhla01JZ3ZQ
QUdJRTBaUG5WT2hyYkRCVFVsS3NQVDA5M0EyTzQxVWNhbzVVNjZRRUdJb01SRTRlbzkrOGVSUFgz
TndjMzliV0p2L3c0WU5ZcTlXSzRGRnFOQnB0RUtWU3FUVXRMYzBvazhrczhEaWFuWjJ0S1N3c1ZP
WGs1QXpDdjNVZ0doQXRFUjBEbUdvbloyYk9KVVFoWTVaU0Jsd01pQUtscGFVbHFhNnVMcW1wcVVr
K01ERGdrMVVrSkNTTXpwOC9YN05peFlxKzJiTm45OE9maG9tTUVLQjZBdFBSek1NYUlxdDlFbUtp
TWdKdUFramMvZnYzVTY1ZXZacjg5dTNieUVCK2NWWldscUd5c3JKditmTGxhTHVvb1VNRXFKWm9w
b2tMclF3MFJCWWdhbDgwMGJ4WWtJbXZYcjJhY3VqUW9kVDI5dlpJTHVjUXBWSnBPSHIwYUhkQlFV
RXZYS29JMEJGaTVzWkFnd3drUkFwUXpHZ2ZhbDc4OFBCd0VzREx2SGZ2WG13d1E0L1MwbEwxOGVQ
SC82TlFLRDRTbUVPTVZvNEdDbVNnSURvQ1JJY1JoMU1XT0l5VUhUdDIvS1d6czFNYWlvQTBJeVBE
V0ZOVDh3NGNFSnI0QU5GS1RTQkJCZ29pamZ1aUdJQ0pEUTBOMDNidTNEbDFaR1FrSXBRcFVVeE1q
UG5TcFV0ZGl4WXQrZzB1K3htUWVzYmhoRFIzWnVkQUdRVUlwanNkSnZscG9RYUlEZnVBZlFHSGxv
bDlJMzJVa1Q1SE9Fa3ZnNnFKckJkR0RZd0h3WkFsbzZLaUlvUEdlT0hTTU5hOGNlTkdKNFJFblhC
SjUwbXRnN01KT2tTYWdjaUlCMDZDT1hEYXlwVXJsZUdnZ2M0YUJ1dDM3dHhwejgzTnBTRFZCS1RK
VjdQMkJ5SjFKRkhFQzAvUzZYUXB4Y1hGT2FGeUl0NDRtL3I2K2pmUjBkSG9iRDRScjYxbkhFMVE1
a1NhQzFPSUdFaFAzTDkvdnpMY0FXTERQbUpmc2MrazcxRk9jdldnT0JZUjQwd21ZQ0Q5NE1HRENZ
SngwckN2MkdkaVJkVEppSUpwemhFa0hvd2gzbTRLbVBFUGJXMXRVZUVBS0QwOVhWRlNVcExhMzkr
dmYvanc0WHVUeWVSMHJzdk96dGFEV2Y4TG52YVMwR2VFeEk5bXJwZkNXRlBHdEU1eDkrN2RsREFC
S0txcXF2cGgrL2J0QzZPaW9telRDcGp0d09yVnEvL1owZEdoY253eDlobjd2bXJWcWlFQ1VNODRH
Q3VYNWl4a05ORzJzSERyMXEya2NBQzRaOCtlSDZ1cnEvOGVHUmtwUlF0RG1UeDVjc0xaczJmL1li
RllKTTdlUlBxdUlHT0o5Q1Z1OUJXaVBUOXVhV2xKREFNdHRBR0U3R2loU0NUNkJzRE1tVFBUekda
enRMTTNZdDl4REF4RU1kY1FXVk8yNWNoMWRYWEpvUWE0ZS9mdUh5RS9YeWlFUmpXUUZZaFpnYUha
NWNvUkdZT2NnZWlWbC9abFRxUVpDbXBmOUlzWEwrVGhCTkJadTMzN2RnLysyOVdIa0RGRWt6Rkp5
QmhIdWRaRTJ4NEpMdW1EQnhTSEdxQXpFNmF0b2FGaDhQRGh3NzlHUkVUb1hMMEd4NEJqSVdHT3hG
dE45QVdpZmNYNitmUG44U0gwd3Zub2hWMlpNQXFFTCtxeXNySldBUGc3Z05hNyswQXlsa2hHRXpr
ejU2ODJuZDY5ZXljTEJjQmR1M2JsZ3dZV3V6TmgwRUQxbWpWcldzVmk4WHVKUkRJSUVOM0dmbVFz
N0pZdHB4RHRlOGJ3eFpKd0JiaDI3Vm9FK0p0VUt2ME1BRDNPYjExZFhSSkdDemszWnp2RXZyNCtT
U2dBZXBnRHZRYUlyYmUzbDlWQ0VkZWFhQWVwVnF1RFZSQWxnaGdRNTBDM0d2ajA2Vk9mQUdMVGFE
UnNnWUdRNnhESFhrZWoxK3RGNFFTd3ZMemNKNERZeUZpRTNnTDBGYUpQQ3gxejVzeEpualZyVmpK
a0J6MFFUZ3lNRlNDWWIvNjJiZHM4QWx5M2JwM1BBUDF0dmtDMFYxNUJrbS94cEkwUVhraHFhMnRM
OC9MeXN2QWFOTXI2Nk5Ham55Qk5lK2JCWTQ0SjRMTm56d0lDRU1jaThMR3FUT1FqUUZ0MVZteHNy
TnZsZEJpNGFOKytmWE56YzNPemFPeUdRSll1WGZxMzY5ZXZMN05ZTEs2MkVFUUFPMy9yMXEzRjd1
TEFRR3FnWEM1bnkvYThBdWtMUkh0NVcxSlNrdHRPWTc2YWs1T1Q2UXpBdkhuenZyOTI3Wm96a0tM
S3lzcThzUUJjdjM1OXdFeVlqSVV0elFzS1JOUDA2ZE9ON2w0TWdLUXFsY3JpQ29RVGtEYUFZTVls
bmdCdTJMQWhvSE1nR1V2UUlOSUNTeU44c2M2dE54RUtMWkQ4ZDdsN0RRTlNRZ0c2aXdOeER0eTRj
V1BBblFnWmkyTXBIcWNRY2ZYWFdGQlFvUExnVkF3dzZJNHpaODY4ZDZWVktFVkZSZC9YMWRWdGdI
blFyUVp5QlJBYkdZdFI4SFhsR0tmbWJLdFNCWWVoU2t4TWREa1FHS1FKQnZ2cDRzV0xyMCtkT3RY
dER1U01HVE8rQ3hWQUhBT09SZkNsL0k3ejdRR3FpYmdxb2dOejFMaUREb01lZ2ZDaDUvTGx5eitm
UG4zYUxVaDNBRGR0MnNSWkhFakdvQk44Mlh2MmFxUEtWMDBjSmIrYXRyUzA5S09uZVZFaWtRd0J5
RzRFQ2FiZDdjMFhOalkycWpkdjNzeHBJRTNHb0EybUpsb1ppSnE1YytkK3hBcFZiMENPVlNPREFS
QUxRbkVNZ20vTDdRUmNRelNUU1JoL3ZlR0tpb28rajNrZkEvTEtsU3MyalF3MVFHeGJ0bXpCdmc4
THZxMmlIWHRPNitmbVBXNDFUZ0taVWxoWW1EZVdFaExNWWt3bTB3UklGMU1ocGN2ZnUzZHZxdU5y
bXBxYTFQRERjQTRRYTNLYW01dC9FZnl4ZWYrSndQUjY4ejdpeUpFamZpMHNFRzJXWkdabWlpRk1p
UWRJUWc4YWFRVW9SaEJEYTJ2cmlGYXJsZVhuNThkQ09HUjdYMzE5L1NCa0t6L0JOYWNBNFhPdE5U
VTE3OVBUMDMrSHk4OENINnNmL05GRUNnODFEMHRKRWtBbVE1dzNhNnoxT0ZRakRRYkRkekV4TVZN
ZzJJMkQ3RVlQMnR5TDNwenIxWmhseTVZTndmejhLeno5citDUE11UVJZczZXWUprekJjbVcxaVVP
RHcrbkxGNjgrSzlqclF4RGtMaXBQam82R2dNWkMwNFBaZ3lKUURSY0FnVHRNejUrL1BqZkNvVUNT
K3V3QnNldjBycEFGM2ttdjM3OWVscFpXWmtTVDBSNTh6a0EwUlpyb3dQaWN1MlBLZkxFK20zMHlv
TUNQNHM4L1YyWnBwN2FRTXpoTTNTdUc0dk1zYlRYaTgreDROb2kxd0N4VCtmT25ldkNQcEo1a0hV
a1ZuODB5VitJTkEzVUViTVlLQ2twNlR4eDRrUzNseUFGWEFQRVBpMVpzcVNUeklGRHBNOG1YK2JC
UUpveisyT3dSekJ3STN6U2t5ZFBNcXFxcXRMQzRRakdoUXNYUHVDUFMwSVpsVU53N1pjRmNINFlD
T2JJMU9ycTZveFFIZ1k2Zi81OEp6SGhzRDRNNUF3a1BaWTJFYngyNG9FREI1VEJMa2ZHTU9ia3la
UHQ0SVg3eVJ3WTFzZlNIRUd5QnlRVnhIUEh2M3o1TXVYZ3dZT3BYR3NsYXQreFk4ZTZpNHFLZW9q
cHFsMmtkbUYzUU5JWlNNZWp1Z2d6cnJhMk52WG16WnVKSFIwZEFUMXRDZ0c3QWZMdC92THk4bTVp
dGhUZXVEcXE2K2hzUkFMWGg4WW5nR2JhRG8wM05qYktCd2NIZlhJK2NYRng1Z1VMRm1od09RczA3
NlBneXhubmNYMW8zSlZXc3JjdmlDWkE3UUlPS0E2Z3hyZTN0OHV3dUVpajBZZ2N6UjdOVkM2WFc2
Wk9uV3BTS3BWYWdLWUNoMEdEWlZaMERMeHhmZnNDWjdrMmhlbnNSaHFSNUcrMDBKTGUra0RvRU5q
YjkzaUlHQVJmMzBpRDdwUFlkKzdHKzQwMEhFRTZtamw3T3hleHdMZGJ1ckIzSnduSkxWMkVJYnFu
N0ovcTVrTENNTGd4TDMrYnF3QzBrRU1JUkJqQ054NGlENUdIeURjZUlnK1JoOGhENUJzUGtZY1lu
dTEvQWd3QVNCaWJHRExsT1RJQUFBQUFTVVZPUks1Q1lJST0pOworfQorCisuY29sb3ItcGlja2Vy
LW9wdGlvbiB7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIHdpZHRoOiAyMDBweDsKKyAg
ICBjb2xvcjogIzI2MjYyNjsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0
LWJveC1mbGV4OiAxOworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CisgICAgLXdlYmtp
dC1ib3gtcGFjazogY2VudGVyOworfQorCisuY29sb3ItcGlja2VyLWJ1dHRvbiB7CisgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgIGhlaWdodDogNThweDsKKyAgICB3aWR0aDogLXdlYmtpdC1j
YWxjKDUwJSAtIDI4cHgpOyAvKiBtaW51cyB0d28gYm9yZGVyIHdpZHRocyAqLworICAgIGJvcmRl
ci13aWR0aDogMTRweDsKKyAgICBib3JkZXItaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNl
NjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUIwQUFBQlJDQVlBQUFBdUNhMFlBQUFBR1hSRldI
UlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTJacFZGaDBXRTFNT21O
dmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBp
VnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNi
bk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIz
SmxJRFV1TUMxak1EWXdJRFl4TGpFek5EYzNOeXdnTWpBeE1DOHdNaTh4TWkweE56b3pNam93TUNB
Z0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6
TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpj
bWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5
NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4
dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0
Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRj
RTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRveE1rVkJNRFZHTnpBNE1q
QTJPREV4UVVJd09FWTBNekJFTVRjME5rTTRRU0lnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcx
d0xtUnBaRHBGUlRZeFJVTXlNREUzT0VFeE1VVXlRVVkwUWpoRlJEbEJSVVEyUmpGRlJDSWdlRzF3
VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcEZSVFl4UlVNeFJqRTNPRUV4TVVVeVFVWTBR
amhGUkRsQlJVUTJSakZGUkNJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIz
Tm9iM0FnUTFNMUlFMWhZMmx1ZEc5emFDSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZK
bFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPakJHTURaRE1FSkdSVVl5TURZNE1URTVOVVpG
UlRNMk1UVTRORGN4UkVRNUlpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qRXlS
VUV3TlVZM01EZ3lNRFk0TVRGQlFqQTRSalF6TUVReE56UTJRemhCSWk4K0lEd3ZjbVJtT2tSbGMy
TnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhR
Z1pXNWtQU0p5SWo4K3F0T0g0Z0FBQWROSlJFRlVlTnJzV3N0S3cwQVV6V2hKTEMxZFNDcUMySWlD
VXNpaUdycHltMS9vUi9TTCtoK0Zma0pYNmFaYlFTRzQ4RldWQmlYUzJvNzNZQXNoSkUwamFsLzN3
Z25NekgzTWZjeTA0VVpJS1pYL3BpMWxBY1JHMTg5b0ptNUJDQkVjN2hGeWhIeU16Q2ZoamZCT2VK
eE94cDBNRWJ2d2JWUWxIQklLS1J6eENMZUVRWnp1cFBDV1lOQ3lMTlZ4SE1QenZETlNaSWFCZWF5
RGI3TEJvMWxLWjNtS2tCN1l0cjNUYkRhUHM5bnNFNDFmNEVFRU80enQrcjVmck5WcU42MVc2NFBH
ZDZUN1BxM1JFK3k2MCtuQUErVHJZWTdRRnJ2ZGJxRlNxYmdJTSttK1RodGVGSTFpbWlZSzZIbk9m
TDZXeStWOFVENVY5VTQzcEdrYUttbzRwOUdocXFxSkRpM1hPUTJSWE44YktlUmxHazhsZThyaDVm
Q3UvbzNFT2VXY3JtNU91WG8zODhMbkk4UGg1WFBLMWN2Vnl6bmxOM0UydW1tWEExY3YvM1BnOTFN
K012eDd5b1cwR0UvSGVQaStQMDVSY0JuaWwwSDV0RWJSWDFQYTdUYUU5WURIczZBVC95Z29IeDBM
S1NOQnRFODR0eXpyb3Qvdlg5SmNpYUFSUkFRd1h3SWYrQ0VIK1RqZFNVM2JVMExPTUF6UmFEVFVh
clVxZEYwWFlkNWVyeWNkeDVIMWVuM2d1aTRVb21OOHRWU2Q0aVNqVTBJRE56L0JkZ1Q3YUpKRDRP
Yzk4YjhrL3JpQ2pmNEtmUWt3QUE5TVZzaUV2b0FOQUFBQUFFbEZUa1N1UW1DQykgMTQgMTQgMTQg
MTQgZmlsbCBzdHJldGNoOworICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtp
dC10cmFuc2Zvcm07CisgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtczsKK30K
KworLmNvbG9yLXBpY2tlci1oaWdobGlnaHQgeworICAgIG1hcmdpbjogLTE0cHg7CisgICAgd2lk
dGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAlOworICAgIGJvcmRlci13aWR0aDogMTRweDsKKyAg
ICBib3JkZXItaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFB
TlNVaEVVZ0FBQUIwQUFBQlJDQVlBQUFBdUNhMFlBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlp
WlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTJacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFB
QUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNt
VlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5N
NmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TUMxak1EWXdJRFl4
TGpFek5EYzNOeXdnTWpBeE1DOHdNaTh4TWkweE56b3pNam93TUNBZ0lDQWdJQ0FnSWo0Z1BISmta
anBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6
SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdK
dmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3
THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRM
M2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRI
QTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5
amRXMWxiblJKUkQwaWVHMXdMbVJwWkRveE1rVkJNRFZHTnpBNE1qQTJPREV4UVVJd09FWTBNekJF
TVRjME5rTTRRU0lnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBGUlRZeFJVTXlO
REUzT0VFeE1VVXlRVVkwUWpoRlJEbEJSVVEyUmpGRlJDSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJE
MGllRzF3TG1scFpEcEZSVFl4UlVNeU16RTNPRUV4TVVVeVFVWTBRamhGUkRsQlJVUTJSakZGUkNJ
Z2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnUTFNMUlFMWhZMmx1
ZEc5emFDSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQ
U0o0YlhBdWFXbGtPakJHTURaRE1FSkdSVVl5TURZNE1URTVOVVpGUlRNMk1UVTRORGN4UkVRNUlp
QnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qRXlSVUV3TlVZM01EZ3lNRFk0TVRG
QlFqQTRSalF6TUVReE56UTJRemhCSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0pr
WmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K2JreDEw
Z0FBQUxoSlJFRlVlTnJzMmpFTGd6QVFobUZQcFpuYXFmLy9GenE1VldyU3I1Q2hnOVljQmtWNEE0
ZkxrU2U1TXk3UlVrck4wYU50VGhpZ29OZEYrNUlrTSt2MGVDaHVpbTRoWlZaTWlsSG5mdDZjYit2
aklQQzdzR2RoVmFKaTBKenZ2ZVc5TzlyUTVvcnM3bWx3dGl6VVFMMHZtM0ZrUUVGQlFVRkJRVUZC
UVVGQlFVRkJRVUZCUVVGQlFVRkJyNE5HNTV5cEJqbzUwVmNOZEhUc051Yjh2OE5LL25QNHVUOE5L
d3VOZVlkMTdrODVNcUNncDZNZkFRWUFSVllvbFZqYWNmd0FBQUFBU1VWT1JLNUNZSUk9KSAxNCAx
NCAxNCAxNCBmaWxsIHN0cmV0Y2g7Cit9CisKK2lucHV0IHsKKyAgICBmb250LXNpemU6IDQwcHg7
CisgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKK30KKworLmNvbG9yLXBpY2tlci1zaGFy
cCB7CisgICAgZm9udC1zaXplOiA0MHB4OworICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiAyMHB4
OworfQorCisuY29sb3ItcGlja2VyLW9mZiB7CisgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50
OworICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OworfQorCisuY29sb3ItcGlja2Vy
LWluYWN0aXZlLWZvbnQgeworICAgIGNvbG9yOiAjNTU1NTU1OworfQorCisuY29sb3ItcGlja2Vy
LXJvdyB7CisgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CisgICAgLXdlYmtpdC1ib3gtYWxpZ246
IGNlbnRlcjsKKyAgICBtYXJnaW4tdG9wOiAtNXB4OworfQorCisuY29sb3ItcGlja2VyLXN3aXRj
aGVyIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKK30KKworLmNvbG9yLXBpY2tlci1jb250
ZW50IHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0LWJveC1mbGV4OiAx
OworICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7Cit9CisKKy5jb2xvci1waWNrZXIt
aGV4LXN0eWxlIHsKKyAgICBoZWlnaHQ6IDg1cHg7CisgICAgY29sb3I6ICMyNjI2MjY7CisgICAg
Zm9udC1zaXplOiA0MHB4OworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIC13ZWJraXQtYm94LWZs
ZXg6IDE7CisgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAyMHB4OworICAgIC13ZWJraXQtbWFy
Z2luLXN0YXJ0OiAyMHB4OworICAgIC13ZWJraXQtbWFyZ2luLWVuZDogMDsgLyogb3ZlcnJpZGUg
ZGVmYXVsdCBzdHlsZXNoZWV0IG1hcmdpbiAqLworfQorCisuY29sb3ItcGlja2VyLWlucHV0IHsK
KyAgICBtYXJnaW46IDQwcHggMjVweCAyMHB4IDI1cHg7CisgICAgZGlzcGxheTogLXdlYmtpdC1i
b3g7CisgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKK30KKworLmNvbG9yLXBpY2tlci13
ZWxsIHsKKyAgICBtYXJnaW46IDIwcHg7CisgICAgd2lkdGg6IDEyNnB4OworICAgIGhlaWdodDog
MTI2cHg7CisgICAgYm9yZGVyOiAycHggI2FhYWFhYSBzb2xpZDsKKyAgICBib3JkZXItcmFkaXVz
OiA2cHg7CisgICAgYm94LXNoYWRvdzogaW5zZXQgI2ZlZmVmZSAwIDAgMCAzcHg7CisgICAgZGlz
cGxheTogLXdlYmtpdC1ib3g7CisgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKKyAgICAt
d2Via2l0LWJveC1wYWNrOiBjZW50ZXI7Cit9CisKKy5jb2xvci1waWNrZXItaW5wdXQgLmNvbG9y
LXBpY2tlci13ZWxsIHsKKyAgICBtYXJnaW46IDA7Cit9CisKKy5jb2xvci1waWNrZXItc2xpZGVy
IHsKKyAgICBtYXJnaW46IDIwcHggMjVweDsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAg
ICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOworfQorCisuY29sb3ItcGlja2VyLXNsaWRlci1v
dXRwdXQgeworICAgIHdpZHRoOiAxMDFweDsKKyAgICBoZWlnaHQ6IDg1cHg7CisgICAgdGV4dC1h
bGlnbjogY2VudGVyOworICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiAyMHB4OworfQorCisuY29s
b3ItcGlja2VyLXJhbmdlIHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICAtd2Via2l0LWJveC1m
bGV4OiAxOworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50OworICAgIGhl
aWdodDogMTRweDsKKyAgICBib3JkZXI6IDJweCBzb2xpZCAjYWFhYWFhOworICAgIGJvcmRlci1y
YWRpdXM6IDdweDsKK30KKworLmNvbG9yLXBpY2tlci1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1
bWIgeworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50OworICAgIGJhY2tn
cm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1Vo
RVVnQUFBRHdBQUFBOUNBWUFBQUR4b0FyWEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JK
YldGblpWSmxZV1I1Y2NsbFBBQUFBeUpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFB
RHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVr
NVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldW
MFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNQzFqTURZd0lEWXhMakV6
TkRjM055d2dNakF4TUM4d01pOHhNaTB4Tnpvek1qb3dNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNS
RVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxY
SmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhR
OUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2
SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdM
MjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6
RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdS
dlltVWdVR2h2ZEc5emFHOXdJRU5UTlNCTllXTnBiblJ2YzJnaUlIaHRjRTFOT2tsdWMzUmhibU5s
U1VROUluaHRjQzVwYVdRNk9USkdRMFk1TTBOQ056a3hNVEZGTVRnNU9URkZSVE0zTkVaRk1VTkJP
REVpSUhodGNFMU5Pa1J2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2T1RKR1EwWTVNMFJDTnpreE1U
RkZNVGc1T1RGRlJUTTNORVpGTVVOQk9ERWlQaUE4ZUcxd1RVMDZSR1Z5YVhabFpFWnliMjBnYzNS
U1pXWTZhVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG81TWtaRFJqa3pRVUkzT1RFeE1VVXhPRGs1
TVVWRk16YzBSa1V4UTBFNE1TSWdjM1JTWldZNlpHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzVN
a1pEUmprelFrSTNPVEV4TVVVeE9EazVNVVZGTXpjMFJrVXhRMEU0TVNJdlBpQThMM0prWmpwRVpY
TmpjbWx3ZEdsdmJqNGdQQzl5WkdZNlVrUkdQaUE4TDNnNmVHMXdiV1YwWVQ0Z1BEOTRjR0ZqYTJW
MElHVnVaRDBpY2lJL1BpVnJyQ2tBQUFqOVNVUkJWSGphNUp0N1ROUlhGc2QvTXd3UDV3RXpUTWNw
Vm1zUkZseWdXaHRZYTMzRVlBUldZMHpJR3BOOXVEYmFScU5CWXFMckg1cjRwN1YvbUxoYXRSQzF0
bXYvY0lORXJhczFHSVBQeGUxcTJjcWk2MEJnZFFGNVRubklNTXpNbnUvTXVmaGo4aHZGVVp6NTJa
dWNEQXd6OTk3UDc1eDc3am5uWGlUcFo5WTA0OXkvbnNST2tqekd6M2VSdEpFTVJDMnd4K01aOVh0
TVRNeGI5UEttckcrTmdzaWJUMEhFKzYzVS84T25qVS9qdlhwZ0dqU09mbnhYQnFTRkxGNjgyTHAy
N2RyM1UxTlQwNUtUazFNc0ZzczcrSTVXcTlYaDFldjFEdVBWNlhRMmQzUjBQR3hzYkhTVWw1Zi84
OEtGQzUzNE00dDRDUCtpc1lZaURReXdXVExJbUkwYk4wNWJ0V3BWUVdabVpyN1JhSndjVHFkOWZY
MFA3dDY5ZS9IWXNXUGY3ZHUzcndIUFZRWi9pOEM5a1FET0pwa2dRSThlUGJwZ3laSWx2N2RhclRs
S0gvYjVmTkNvOGxQVGFpV05SbmtxbloyZFA1NDllL2JyMWF0WFY4dkFIeFAwblhDQXcya3czMXlT
UEpJNSsvZnZMKzN1N202Z0Nmams0bmE3ZlM2WEt5ekJkNFA3d3hnWUMyUHkyTGs4bDNGdEpoNW85
b0lGQzVZNEhJNHErYVNHaDRmRGhnd2w2Rk0rQnNiRTJKZ0R6OFgwUEFEUFl3L3d2R2trdWkxYnRt
UWRPblJvdjgxbUd6RmZtbGhJazMyUmhqNGhNSHMwczltY3VtTEZpZ0lhNzRkcjE2NWhHN095bWZl
OVRPQkpKSEJBT2xxcmkwcEtTajZOajQ5UEVsNTZQRUNWd09FSEFCNGJHMnRZdUhCaFlYcDYrb1BL
eXNvbW1aWjdYNGJUZW91Qll5OWZ2dnpSbkRsejFvby8wRnFMU0xSRXdDTS9YNzkrdlh6Ky9QbEhN
QjJTLzVFOGZCSGdSSkpNakVFZGY1S1hsL2RINFhGaHdwRnNPcDF1eExQZnZIbnpTMUxFRnd4OWwr
U25jRXc2anJjZW1IRkJVVkZScVRDdFNNT0tlZmcxUnRDVEprMTZMeTB0N2I5azNvMGN4bmJ3RnZa
Y3dBZ29kSnMzYjg3ZXRHblRMbG83TWNJNVJVdURwWWw5T0RzNys4T0JnWUVhc2tUQTJ0aTh4MnpT
Z0kxYnRHalJteFVWRldWNnZSNGRTRU5EUTFHWkFjWEZCYlpqQW00dkxpNyt1S3FxcXBWK2RaSGNI
Z3N3dmoyVEpKNWkyODhtVDU3OFFUVERCa00zTnpkZkkvUCtFd1AvZ0trL3k2VGZoeWtmUEhnd24x
ei9LZ0VMODRubWhqVU44MDVLU3BwQ1NtbzRjK1lNdHF1SndhYXRVY2hmY3lqb056UTFOWDFsTXBt
d0pVa1U4YWdpdWFmWUlMQVo5L1krbkRwMTZoOG9DZW1uWDMrVTU5ZGFoWVJBUnpGcnZ0cGc1WFBG
M01FQUZtWUtxZUZmSVFOcWEyczdRcmxyS3N4WVRjQkN5OWlxS05sb3ROdnRIeUd6SXFsUldzTy9J
REh1MkxIanZZS0NndC9pamNIQlFkWFZyTEJ0SWloSlNFaXdFUGozMWRYVnJaekdkZ1didEJrbXNI
ejU4c0xYcFdESExEcG1DMFJvUWRVTDNiUnAwejVRaTJjTzFUQjNiRlBNb3BNclZ2eGd3YzlyMXF4
Sk5SZ01id2pUQUxBYVJVU0RZRm0zYmwwYWN5YkxnWkhyeGhRV0ZzNlVYck9XbjUvL0x2c3F1OXlr
alhpVGd2QXA4aWVsNW9aQWhCT0xLUXhzbEFQN3k2b3BLU252eU0xWnpRME15SnVaU1N1c1dTdmJq
N1ZrOHpaNTZxVjJEZk02dGpHblJxNWhQekR0WHdtaW5QbzZtRFFZd0tRRTdJY21WNjZYZi9oMTBE
QXphWlQyNFZHSnRkcUJRODFmRzdSaHUwVFpSTzFOTUFnbVJRMjczZTVCOFdUVXJtSEJBS1pRd0Q2
bjAvbUlFdWdVSk5LUktzRytyQ1pxWFdDU25oekJqcGkwLzBpeXE2dXJ4ZjhVZERyVmExY3dNTlBJ
dWJNQVJtWEEwOURRMEFRemdQMnJOWTRXSWhqQUpBVkt0djF5WU9TTTNrdVhMdFVGZTJxMWltak01
R1hHa2YwSjRITkpFdHZiMi8raTErdVRCZ1lHVkx1T0VWSVNBOHEyVHB2Tjlqc3BjQkp4RmVEeU5Z
eWN5dTF3T0c3NXEzbjBCYlZxRjNOSFl4WTNzL21DblJhZXd2RHAwNmN2cXQyY2hZQ0ZZWDhTd0px
Z0xRcW42K2FXbHBZeWs4bGtSOGJSMTllbktuTTJHbzErRDkzYjI5dEdtZExIOUZZUHlYVUdIeFZw
ZWZoTlYxVlYxYmZDdGF0TnEySTdZZ1lYTTNsQ2xXbFJxYyt5V0N4djFOZlhmMEZyd1lJZ25EWnZW
V2lYZ2liL2dUazVxKzdwMDZkLzB0M2RqWU0xZU9sSG9RcngrTUFRZmJEM3hJa1R4LzBmZU1vTm0y
aUxuY1cxQ013ZERGTGdYS25qYVlWNFVkQkRiU3ZwM3IxN3Uya2RaSERFRXRYQXljbUIyNDNrZis1
bFpHUnNSVlFwQlE3VHVrTm1TOXljYlBzRFc3ZHUzVWZaeG1ONWg5RnF5cHo4dUxadjMvNjVGRGhM
Y2pITDZCaGJLY25ncUNTRjFuRS9KZEF0YytmTy9aQk1Sb09BUE5xT1RYRzBJZzdSamg4L1hyNTc5
KzRiSEViK1hWSzRCUkRxQmdDZ3NRYXMxZFhWajNKeWNueVptWmt6QUl5dEt2aENhYVFhaXUzWWh0
QnFhbXErVzdseTVUZFM0UHJTcUJQRFo2MWh1Ym1qWHYxTGhKd0VYakpyMXF5Rm9ySlArMXhFWVNs
T0dEa0VyNnVydXpGNzl1elBPTURBZVhBOXg4L1NXRFVzdE56UDlkeTR5c3JLTzdnQ01YSGl4TGVo
NlFrVEpzRDlSd1RXYXJXTzVMdTF0YlZYbHk1ZHVuZHdjTkRKRHVwT0tOaG5BUXRvdUhVN2RUaDgr
UERoVzFsWldjTmszdGxZMDRoWlgrVUpJN1lld0hJMjV6MTE2dFEzeTVZdE84S3djSzcvZUJyc1dJ
QkZ3MlV2M0hhTE9Ybnk1SDNLUmg3azV1Yk9wS2dtRHBwR2RqTGU0UERFWXIyNlhLNytQWHYyL0xt
MHRQUTgreG9vNVh2cHlSWGpGd2FXT0ZvQmxZbldjd3Q1OE52ejVzM0xvRWxZWUY3UU5zSzZsMzJB
bnBpWTZGK3Z3b1JiVzFzZEd6WnMrTFNzck93Mk95aXNWOGRZWUovbHRFSTVNZ1FtTTZUQUliUGh3
SUVEdnk0dUx2NU5Ra0xDcUZ1dFBUMDlZZC9wd29Nem04MmozaU1MNnEyb3FQanIrdlhyLzhhK0JT
WmN5K3QyekVjbDRjU01XcllNbkwyaXFtK3cyKzFKdTNidFdseFlXTGpVWURDWWc3OEFjSmc4Q2dv
Sy95UGhYeEwwd0JScmFmMzkvVDNuejUvL2R0dTJiUmZhMnRwNmVMdUJwZDJRbmx3WWw4WVRXSHdQ
MERoTG5zN2cwSGpDenAwNzg0cUtpdWFscDZmUElKRDRjRHBIeEhULy92M2FjK2ZPWGFIK2JqTGdZ
MzZ0NXpYcm9hVEdKNktzOFFZTzFqYk9YbkZIQk5kYzQxbmlTa3BLc21pZFo1RUYyQ2dtZjV2TTFF
cFJrVUhlQVJ3UW1YOG54Y0ROcE1IMksxZXUxTzNkdTdlT0EzOFhDNm9XLzVFQy8rSURVRzl3V1Bt
cWdFVWZRdU42RGxRTVhGQ0laZEh4MzdYUzZIL2xFZVZUcnl3ZmQ4dktNbGlyLzJZejluRHQzS2NV
Ujc4eVlIbXVUSU5yWkZxSGlMdldBbGdUQXRnbkF4WjNuajFpalFaRFJoUjRESnJYQnIyR0NuQzhR
YS9xUCt1Smh2Wi9BUVlBZUduWmZMckQ2MmNBQUFBQVNVVk9SSzVDWUlJPSk7CisgICAgaGVpZ2h0
OjYxcHg7CisgICAgd2lkdGg6NjBweDsKK30KKworLmNvbG9yLXBpY2tlci1yYW5nZTo6LXdlYmtp
dC1zbGlkZXItdGh1bWI6YWN0aXZlIHsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmlt
YWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUR3QUFBQTlDQVlBQUFEeG9B
clhBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlK
cFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBp
Nzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRj
RzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2Iy
SmxJRmhOVUNCRGIzSmxJRFV1TUMxak1EWXdJRFl4TGpFek5EYzNOeXdnTWpBeE1DOHdNaTh4TWkw
eE56b3pNam93TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3
T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQ
SEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RI
UndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhS
MGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5
SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpa
VkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVOVE5T
Qk5ZV05wYm5SdmMyZ2lJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZPVEpHUTBZ
NU16aENOemt4TVRGRk1UZzVPVEZGUlRNM05FWkZNVU5CT0RFaUlIaHRjRTFOT2tSdlkzVnRaVzUw
U1VROUluaHRjQzVrYVdRNk9USkdRMFk1TXpsQ056a3hNVEZGTVRnNU9URkZSVE0zTkVaRk1VTkJP
REVpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVH
MXdMbWxwWkRvNU1rWkRSamt6TmtJM09URXhNVVV4T0RrNU1VVkZNemMwUmtVeFEwRTRNU0lnYzNS
U1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG81TWtaRFJqa3pOMEkzT1RFeE1VVXhPRGs1
TVVWRk16YzBSa1V4UTBFNE1TSXZQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZV
a1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9QcXhGdVU0QUFB
akpTVVJCVkhqYTVKc0xiRlBuRmNmUDliVmpKN0dkeEhIU0pJdVhaaEFlSVVBZWhHVnBpRVkwR0lv
aVVTaTBXc28yMFkxVmsxcHBtdFlDbXFaMTJ0aGdMMDBhVWgrRHRhaGRWa29wS29KT0ZKWVdDZ0VT
MHFSNUVFaDQ1bUViNTRYdEpJNTlmZS9kZDV4alpLeThTVWpzZmVnZk8zRzQzLzNkODUzem5mTjlY
d0QrenhvM3k5ZFhNeG1ZOUV6UlROcWdmbVY2SFdRYVlISXc5VEc1NXkzd24xcnNEMzMveXRLWUJQ
YVN3aFJQZ0Z4QVA5d29mY29CNFA3M0NOL0xaR2JYN3g2dmY5YmZsTzVYT1JOUGpYV3FZaThaQkJu
SHBFQ1pWdVRGNVcvYXRpd3hQU05ORzI5TTFCb1N2dWFqNW5sZnY3SW9lbjNtN2UrMU9IdHNWdHZ0
dHJzMXg5NXI3bWlvVmRLb1NHUFg3aWY0TmdZdnpMV0ZFV3daVXhJTldVVk8yVmJUNmkwL0xFN0pY
UEV0UGxxZjNPTVd3U0hJTUNSSzRCVGtoOGF4djNPZGtvTW9wUUwwS2c2TWFoN0VRWWZGZkxYaFl2
V0hoODdWblRqU3dYNUZvbUZ2WldyK1k0dGQ4dC9BcTFPMDhLTUFwNVBRRW56WnpqMzUyYVhQYkZJ
WW5salVPU1NDMlNYQ2dGZWExb1cxREQ0bGtvZlVLQjZrdm51dDlaOGNQWFppM3k5cjJFY2krZmx0
Qm4zN2NRSGo4TTBtUCtYWHZidzd1N0I4eDNhbkppYTF6U2xBbjBlYTBTQmppRkJBaGs0RnVtRjda
MVhGUDk0Ky9mYy8xQk80bVFuZkM3TUpITVdVeTJSTVhwSVZWLzduZ3o5V3BDNHNiR1N1NVJBa21N
Mm1WeWxnT1FzVlV1ZU5xb3BmL09pQTVWb1QrbllQMDVkTVE1TzlEaitWaDgxVXdCUzdhdk8yak9m
KzhzNXZia1lZRnpjeFdMY296L3I4aVgyME0xZVI5ZkdtOVZ1K1Z6VFVhMnN4dHpUZzlKWE1oUEN1
bVFRMk1qM0ZGRm0yOC9lRkJUL2R0ZXVTazlQTjlQQ2RUTU9SWlBFcW90YXMyMUFjRzJld3RsNzRy
NDM5T0pVaStkQk1ER21jVnd0eEN0dis1cEd0K3Z5UzUycjczT0NWWVU0YkMreVFaMUNEbzZieThO
c3ZiajNDZm9SVFhCVlQ5Nk5ZR0tlYWJ6SnBYamh3ckJ4V0ZtK3R1KzhCQ2VhKzRUMTBzcGtnSVcx
QlZtNUJvYkx1K09GbXlnT3M0d1V5Zm9Kb25JK0pSTm51dlVXYTRxZTNYM1VJTU45YXQxdUNlRlA2
VWxOQ3ZMbjEvQmtyVFpNV2VpWlRBbDZGQ1VYdXB2S01aVHQyN2Z6Szd1VmhuamFFenN6SnpSTjd6
RjlacmpXNmFHUjJUUVVZMDhRRnFWbTVDYVY3RC95NjJzbHBKWmpmemVxVytUWGZMc250dkh5Mnlt
R3o4T1RUZlpNSldqaVUxekxGdkhTeWRuZTlPamxuU0pRaEZGb1V6MEgyc0xsMmY5bXFmZXhickdv
K0MvYm4wU3k4RW9meStwKy9WbUJmV2JKNUxxYWU2VFpNMVVWdGJFcDZuTGI5NXNYUGJXUThhM0R5
SDF5L3BxblVtZ2hUMmJibnpUalJzNHVFa3JyWVBlTzlJd095RU5PWUZzYkt4N2poMVQxcnpPbjVK
VzVKaGxCc1RrNnR6VXd5V05yT24ya250NzAzbG9VeG8xSWExejY5MGNFcUhUbWdJZzhsNGIwakE5
WDd4ckVzak9uWnd0WGxPeklkdVJzMnVsaWdDbFZnbEV1cGlVbnlPcHE2R3I5MG90R3BySHpJd2xq
RTgybnJOeGYzQzh4M1Evd2ZNaUFMR1RWcHRDVWUzM0FlVEZxVUxVc1FGZzFaZ29lMTM4STZ6RTR5
MTI4MFdUbU5RYUs4TE5TRkxGbWx6NlJSNXFVUEJNYWtXNUZhdUc3SklDdURRbTBxR2t2SWtyeDY3
U0xpTkFRT2FiU3dRa3BJVFpZaHZKck1tQWhZRndpTUsyRzhhRWd5U1dGR2pFd1V1R0lDZ1RVNFFR
K3B0UVlad29zWW1TajUwQVFDcTN6QW9GU0htNFdSaVlCVmdjQ1lkeXE4eW9qSWNQTmhaQ0lmamdp
ZWh3RUxJNWtQTCtEZ1lzOFBMUHErQ0I2M3BGQnB3aXBvTWFaQVJqK3dyMGptUmNIdERiTWhqVXlC
ak1vSHZzMlNFM25nZnE4VUdaTVlWdk13WTZMRWF5Z3cweHIwaFdwSGp5MlVLNlRSaEV5QmpINEwy
MzBXdHR6cGtyNlJGMTZaRm1NaUM5c0RMWXlyZStKUS9SZHQ0V1poWktLQTFSY0lqUFR1enRNZnRV
dXVRV2U0RkEvSWdrd3djbWJFSGppazhXSGdub3hlMGRuYUxDN0lMZ2lMQ00xWWFIMjZteGdmV0Zp
bTdRbXY0dExKaStFeW5KR0ZnQzNCd05qUTlBN3IwYmVhcFFGN1Q2akRJZ095MEZwVysyaXJsdWpZ
R01JRjdzcnBTaXdpUWxuSVFNbUd6WjlsQlFQamc3bUI2YWZ6NEd0bm1jUGJROWE2N042UkFWbUlT
UjVySVI2am1WNFNQRnAxbk5FREMzTldobVMwT3YzZUI4T1hQNzNPM3QyWkNGaW04RzN5MUozdFZx
MTlOZ3VpOVhFaGxXaDBkOTBlK08wUEtzaDNNV2dOVDdTWkp0QitqRUZsdmRrQkJhVUZRQ2ZuNW4v
eEszamsxMTk1WGVpNmhYNkxGdTRJdE81WXdQZ0xlQnpJSUZqdWdNTHJzY0h5b2p3Wk9HN2UrKzZw
ZDk5M25maG5IWHZieVZRZEdLekdBL1pEWXlyMmhIaTkxcWxJU3BPNHRLVkw1ck54cGFhcUw5eC9l
L2s0YmF1Y2h6R09NWTIzdmlFUTlOZkY2bFB0M0lvaUl4ZWZram92L2ZaV1k1M25WMXZlb1JMd0Vr
MUY4bFNCWlhwS3FFVHU4bjl1d0xMQ0JJaFBTcGxYc0czMVY4VGZiVHNrQ3g2MExKN0t1d1V3OWtH
amlWYXcvRkU3a2wwd1dxcDh2eGtTVFY0MnZCY3hsK2JtbGxTV3BITWZIZmZ1ZmVGRGdzWHBwMkU4
Mk1rQSs1dUZ3cnRScnZuMExnZ2VLN2Q0VlNid1N0WGNyTXdOdTZURGZ6MGt2YnZuSEl3Y0pzZVR0
bzBFSzg4RU1EWTh6NGpuSmVMbDYxZjZ1VnNOVjduTWduU0kwc1U4VnRqdXJuWjUvOC9la000ZWJh
SFo1SE9LeWhQQ1RoWFk3OU40YkRkYXZuZFhsRTRlcklZWXd5Q2taandKU21YRXJJSzZYWU55NWI4
L0Z2ZDh2NEwxYmFPQzRBSVpZdElidk5QeFF3VTlxQndZT2M4Vnpla01PbmgrWnhGWFVGb0NrVnI5
aklLNkJoenlwVThxNFYvN3pzdk9QZ2RGNGxZWU9Tc3RUZ1YydXNEKy80ZlFtSFl1eDFRVVJ2WnUx
TERwcFJYYzZ1L21nMm54RWxDcXBtZDFsakZCeC9WcmN2V3BHamkydjRGeS9HSEtuQnJKcXVLTE5U
M3ltL2xHZUJ6QXdkYkdEU3M4QVlRbmIzVzByYUdDNzVSbmNGbFBMWVM0eEhqQWJVdHRyQUVpTkpI
QkFRZ0c3dmRCZDZjRittMjljdE9GRzNDbW9vM3lBQThsRXJoaTBleGZlMk9nRDZ6NnVJSDkxL0Ji
SEdHZWhKRkQyMGF5dXBJKzQra0JCZjRwejRPc2tJYW5TQ3NVd3hTUUxGVHh1T2d6K1NjMVBROEZw
cmVtQ1B6SVJRSGRnTyttV2VkZXNzUTFBa3dnNGQ4dnhjTElueENvZ29BRjhzdjdOTVYway93UFFB
cUdmRlRyekZielcxSVI5RHJXRENBRnZZYmJSdWJjdFA4Sk1BREdyZ1A5R0NGSTBBQUFBQUJKUlU1
RXJrSmdnZz09KTsKK30KKworLnJlZC1yYW5nZXItYmcgeworICAgIGJhY2tncm91bmQ6ICNmZjFl
MWU7Cit9CisKKy5ncmVlbi1yYW5nZXItYmcgeworICAgIGJhY2tncm91bmQ6ICMyNGZmMjQ7Cit9
CisKKy5ibHVlLXJhbmdlci1iZyB7CisgICAgYmFja2dyb3VuZDogIzIxMjFmZjsKK30KKworQG1l
ZGlhIG9ubHkgc2NyZWVuIGFuZCAoaGVpZ2h0OiA3NjhweCkgeworICAgIC5jb2xvci1waWNrZXIt
Y29udGVudCB7CisgICAgICAgIG1heC1oZWlnaHQ6IDQ3NXB4OworICAgICAgICBvdmVyZmxvdy15
OiBzY3JvbGw7CisgICAgfQorfQorCitAbWVkaWEgb25seSBzY3JlZW4gYW5kIChoZWlnaHQ6IDcy
MHB4KSB7CisgICAgLmNvbG9yLXBpY2tlci1jb250ZW50IHsKKyAgICAgICAgbWF4LWhlaWdodDog
NDcwcHg7CisgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKKyAgICB9CisKKyAgICAuY29sb3It
cGlja2VyLXdlbGwgeworICAgICAgICBtYXJnaW46IDEwcHg7CisgICAgICAgIHdpZHRoOiAxMDZw
eDsKKyAgICAgICAgaGVpZ2h0OiAxMDZweDsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS9jb2xvckNvbnRyb2xCbGFja0JlcnJ5LmpzIGIv
U291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvY29sb3JDb250cm9sQmxhY2tCZXJy
eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWU0OWE3Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvY29sb3JDb250
cm9sQmxhY2tCZXJyeS5qcwpAQCAtMCwwICsxLDM2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
UmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQsIDIwMTIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
Ki8KKworKGZ1bmN0aW9uICgpewordmFyIF9kcmFnU3RhcnRQb2ludCwKKyAgICBfZHJhZ0RlbHRh
ID0gMCwKKyAgICBDT0xPUl9XRUxMX1dJRFRIID0gKHNjcmVlbi53aWR0aCA9PT0gNzIwICYmIHNj
cmVlbi5oZWlnaHQgPT09IDcyMCkgPyAxMzAgOiAxNzAsIC8vIGtlZXAgaW4gc3luYyB3aXRoIGNv
bG9yQ29udHJvbEJsYWNrQmVycnkuY3NzCisgICAgTUFSR0lOX09GRlNFVCA9IDE0OworCit2YXIg
c2V0Q29sb3JXZWxsQ29sb3IgPSBmdW5jdGlvbiAodmFsdWUpIHsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnY29sb3ItcGlja2VyLWN1cnJlbnQnKS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3Ig
PSAnIycgKyB2YWx1ZTsKK307CisKK3ZhciBoZXhUb1IgPSBmdW5jdGlvbiAoaCkge3JldHVybiBw
YXJzZUludChoLnN1YnN0cmluZygwLCAyKSwgMTYpO307CisKK3ZhciBoZXhUb0cgPSBmdW5jdGlv
biAoaCkge3JldHVybiBwYXJzZUludChoLnN1YnN0cmluZygyLCA0KSwgMTYpO307CisKK3ZhciBo
ZXhUb0IgPSBmdW5jdGlvbiAoaCkge3JldHVybiBwYXJzZUludChoLnN1YnN0cmluZyg0LCA2KSwg
MTYpO307CisKK3ZhciBjdXRIZXggPSBmdW5jdGlvbiAoaCkge3JldHVybiAoaC5jaGFyQXQoMCkg
PT09ICcjJykgPyBoLnN1YnN0cmluZygxLCA3KSA6IGg7fTsKKwordmFyIHRvSGV4ID0gZnVuY3Rp
b24gKG4pIHsKKyAgICBuID0gcGFyc2VJbnQobiwgMTApOworICAgIGlmIChpc05hTihuKSkgewor
ICAgICAgICByZXR1cm4gJzAwJzsKKyAgICB9CisgICAgbiA9IE1hdGgubWF4KDAsIE1hdGgubWlu
KG4sIDI1NSkpOworICAgIHJldHVybiAnMDEyMzQ1Njc4OUFCQ0RFRicuY2hhckF0KChuIC0gbiAl
IDE2ICkgLyAxNikgKyAnMDEyMzQ1Njc4OUFCQ0RFRicuY2hhckF0KG4gJSAxNik7Cit9OworCit2
YXIgcmdiVG9IZXggPSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIGNvbG9yLAorICAgICAgICByZWQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVkLXJhbmdlJyksCisgICAgICAgIGdyZWVuID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyZWVuLXJhbmdlJyksCisgICAgICAgIGJsdWUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmx1ZS1yYW5nZScpOworCisgICAgcmV0dXJuIGNvbG9y
ID0gdG9IZXgocmVkLnZhbHVlKSArIHRvSGV4KGdyZWVuLnZhbHVlKSArIHRvSGV4KGJsdWUudmFs
dWUpOworfTsKKwordmFyIHN3YXRjaFVwZGF0ZUNvbG9yID0gZnVuY3Rpb24gKGl0ZW0sIGNoZWNr
TWFyaykgeworICAgIHVwZGF0ZUhleChpdGVtLm15Y29sb3IpOworICAgIHNldENvbG9yV2VsbENv
bG9yKGl0ZW0ubXljb2xvcik7CisgICAgaXRlbS5hcHBlbmRDaGlsZChjaGVja01hcmspOworICAg
IHZhciBjaGFuZ2UgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnSFRNTEV2ZW50cycpOworICAgIGNo
YW5nZS5pbml0RXZlbnQoJ2NoYW5nZScsIHRydWUsIHRydWUpOworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjb2xvci1waWNrZXItaGV4LWlucHV0JykuZGlzcGF0Y2hFdmVudChjaGFuZ2Up
OworICAgIG9rKCk7Cit9OworCit2YXIgaGV4VXBkYXRlQ29sb3IgPSBmdW5jdGlvbiAoKSB7Cisg
ICAgdmFyIGNvbG9yU3RyaW5nID0gY3V0SGV4KHRoaXMudmFsdWUpOworICAgIC8vIE9ubHkgdmFs
aWQgMyBkaWdpdHMgaW5wdXQgYW5kIDYgZGlnaXRzIGlucHV0LgorICAgIGlmICgoY29sb3JTdHJp
bmcubGVuZ3RoID09PSAzIHx8IGNvbG9yU3RyaW5nLmxlbmd0aCA9PT0gNikgJiYgKC9eKFswLTlB
LUZdezMsNn0kKS9pLnRlc3QoY29sb3JTdHJpbmcpKSkgeworICAgICAgICAvLyBBdXRvIGZpbGwg
MyBkaWdpdHMgaW5wdXQuICNBQkMgdG8gI0FBQkJDQworICAgICAgICBpZiAoY29sb3JTdHJpbmcu
bGVuZ3RoID09PSAzKSB7CisgICAgICAgICAgICBjb2xvclN0cmluZyA9IGNvbG9yU3RyaW5nWzBd
ICsgY29sb3JTdHJpbmdbMF0gKyBjb2xvclN0cmluZ1sxXSArIGNvbG9yU3RyaW5nWzFdICsgY29s
b3JTdHJpbmdbMl0gKyBjb2xvclN0cmluZ1syXTsKKyAgICAgICAgfQorICAgICAgICBzZXRDb2xv
cldlbGxDb2xvcihjb2xvclN0cmluZyk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyZWQtc2xpZGVyLW91dHB1dCcpLnZhbHVlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
ZC1yYW5nZScpLnZhbHVlID0gaGV4VG9SKGNvbG9yU3RyaW5nKTsKKyAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2dyZWVuLXNsaWRlci1vdXRwdXQnKS52YWx1ZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdncmVlbi1yYW5nZScpLnZhbHVlID0gaGV4VG9HKGNvbG9yU3RyaW5nKTsK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JsdWUtc2xpZGVyLW91dHB1dCcpLnZh
bHVlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JsdWUtcmFuZ2UnKS52YWx1ZSA9IGhleFRv
Qihjb2xvclN0cmluZyk7CisgICAgfQorICAgIHZhciBjb2xvciA9IHJnYlRvSGV4KCk7CisgICAg
dXBkYXRlSGV4KGNvbG9yKTsKK307CisKK3ZhciB1cGRhdGVIZXggPSBmdW5jdGlvbiAoY29sb3Ip
IHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29sb3ItcGlja2VyLWhleC1pbnB1dCcp
LnZhbHVlID0gJyMnICsgY29sb3I7Cit9OworCit2YXIgcmFuZ2VVcGRhdGVDb2xvciA9IGZ1bmN0
aW9uIChvdXRwdXQsIGlucHV0KSB7CisgICAgaWYgKGlucHV0LnZhbHVlIDwgMCkgeworICAgICAg
ICBpbnB1dC52YWx1ZSA9IDA7CisgICAgfSBlbHNlIGlmIChpbnB1dC52YWx1ZSA+IDI1NSkgewor
ICAgICAgICBpbnB1dC52YWx1ZSA9IDI1NTsKKyAgICB9CisKKyAgICAvL3VwZGF0ZSBvdXRwdXQK
KyAgICBvdXRwdXQudmFsdWUgPSBpbnB1dC52YWx1ZTsKKyAgICAvL3VwZGF0ZSBoZXggY29sb3Jz
CisgICAgdmFyIGNvbG9yID0gcmdiVG9IZXgoKTsKKyAgICB1cGRhdGVIZXgoY29sb3IpOworICAg
IC8vdXBkYXRlIGNvbG9yIHdlbGwKKyAgICBzZXRDb2xvcldlbGxDb2xvcihjb2xvcik7Cit9Owor
Cit2YXIgY2FsY3VsYXRlU3dhdGNoQmxvY2tQYWRkaW5nID0gZnVuY3Rpb24gKCkgeworICAgIHZh
ciBzd2F0Y2hCbG9jayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2xvci1waWNrZXItc3dh
dGNoLWJsb2NrJykKKyAgICAgICAgcGFkZGluZyA9IChzd2F0Y2hCbG9jay5jbGllbnRXaWR0aCAt
IDQgKiBDT0xPUl9XRUxMX1dJRFRIKSAvIDIgKyAncHgnOworICAgIHN3YXRjaEJsb2NrLnN0eWxl
LnBhZGRpbmdMZWZ0ID0gcGFkZGluZzsKKyAgICBzd2F0Y2hCbG9jay5zdHlsZS5wYWRkaW5nUmln
aHQgPSBwYWRkaW5nOworfQorCit2YXIgb3BlblN3YXRjaGVzID0gZnVuY3Rpb24gKCkgeworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzd2F0Y2hlcycpLmNsYXNzTGlzdC5yZW1vdmUoJ2Nv
bG9yLXBpY2tlci1pbmFjdGl2ZS1mb250Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3NsaWRlcnMnKS5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItaW5hY3RpdmUtZm9udCcpOwor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2xvci1waWNrZXItc3dhdGNoLWJsb2NrJyku
Y2xhc3NMaXN0LnJlbW92ZSgnY29sb3ItcGlja2VyLW9mZicpOworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjb2xvci1waWNrZXItc2xpZGVyLWJsb2NrJykuY2xhc3NMaXN0LmFkZCgnY29s
b3ItcGlja2VyLW9mZicpOworICAgIHZhciBtaWRwb2ludCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdzbGlkZS1idXR0b24nKS5vZmZzZXRXaWR0aDsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnc2xpZGUtYnV0dG9uJykuc3R5bGVbJy13ZWJraXQtdHJhbnNmb3JtJ10gPSAndHJhbnNs
YXRlM2QoJyArIG1pZHBvaW50ICsgJ3B4LCAwLCAwKSc7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3NsaWRlLWJ1dHRvbicpLnRyYW5zbGF0aW9uID0gbWlkcG9pbnQ7CisgICAgY2FsY3Vs
YXRlU3dhdGNoQmxvY2tQYWRkaW5nKCk7Cit9OworCit2YXIgb3BlblNsaWRlcnMgPSBmdW5jdGlv
biAoKSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRlcnMnKS5jbGFzc0xpc3Qu
cmVtb3ZlKCdjb2xvci1waWNrZXItaW5hY3RpdmUtZm9udCcpOworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdzd2F0Y2hlcycpLmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1pbmFjdGl2
ZS1mb250Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9yLXBpY2tlci1zd2F0
Y2gtYmxvY2snKS5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItb2ZmJyk7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9yLXBpY2tlci1zbGlkZXItYmxvY2snKS5jbGFzc0xpc3Qu
cmVtb3ZlKCdjb2xvci1waWNrZXItb2ZmJyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3NsaWRlLWJ1dHRvbicpLnN0eWxlLndlYmtpdFRyYW5zZm9ybSA9ICd0cmFuc2xhdGUzZCgwLCAw
LCAwKSc7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRlLWJ1dHRvbicpLnRyYW5z
bGF0aW9uID0gMDsKK307CisKK3ZhciByb3RhdGlvbkhhbmRsZXIgPSBmdW5jdGlvbiAoKSB7Cisg
ICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZS1idXR0b24nKS50cmFuc2xhdGlv
bikgeworICAgICAgICB2YXIgbWlkcG9pbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2xp
ZGUtYnV0dG9uJykub2Zmc2V0V2lkdGg7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdzbGlkZS1idXR0b24nKS5zdHlsZVsnLXdlYmtpdC10cmFuc2Zvcm0nXSA9ICd0cmFuc2xhdGUz
ZCgnICsgbWlkcG9pbnQgKyAncHgsIDAsIDApJzsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3NsaWRlLWJ1dHRvbicpLnRyYW5zbGF0aW9uID0gbWlkcG9pbnQ7CisgICAgfQorICAg
IGNhbGN1bGF0ZVN3YXRjaEJsb2NrUGFkZGluZygpOworfTsKKwordmFyIHRvdWNoU3RhcnRIYW5k
bGVyID0gZnVuY3Rpb24gKGV2dCkgeworICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTsKKyAgICBf
ZHJhZ0RlbHRhID0gMDsKKyAgICBfZHJhZ1N0YXJ0UG9pbnQgPSBldnQudG91Y2hlc1swXS5wYWdl
WDsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2xpZGUtaGlnaGxpZ2h0JykuY2xhc3NM
aXN0LmFkZCgnY29sb3ItcGlja2VyLWhpZ2hsaWdodCcpOworfTsKKwordmFyIHRvdWNoTW92ZUhh
bmRsZXIgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpOworICAg
IGlmICghX2RyYWdTdGFydFBvaW50KSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgX2Ry
YWdEZWx0YSA9IGV2dC50b3VjaGVzWzBdLnBhZ2VYIC0gX2RyYWdTdGFydFBvaW50OworICAgIHZh
ciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2xpZGUtYnV0dG9uJyk7CisgICAg
aWYgKGJ1dHRvbi50cmFuc2xhdGlvbiArIF9kcmFnRGVsdGEgPiAwICYmIGJ1dHRvbi50cmFuc2xh
dGlvbiArIGJ1dHRvbi5vZmZzZXRXaWR0aCArIF9kcmFnRGVsdGEgPCBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnc3dpdGNoZXInKS5vZmZzZXRXaWR0aCAtIE1BUkdJTl9PRkZTRVQpIHsKKyAgICAg
ICAgYnV0dG9uLnN0eWxlWyctd2Via2l0LXRyYW5zZm9ybSddID0gJ3RyYW5zbGF0ZTNkKCcgKyAo
YnV0dG9uLnRyYW5zbGF0aW9uICsgX2RyYWdEZWx0YSkgKyAncHgsIDAsIDApJzsKKyAgICB9Cit9
CisKK3ZhciB0b3VjaEVuZEhhbmRsZXIgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgZXZ0LnByZXZl
bnREZWZhdWx0KCk7CisgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpOworICAgIHZhciBtaWRwb2lu
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZS1idXR0b24nKS5vZmZzZXRXaWR0aDsK
KyAgICBpZiAoX2RyYWdEZWx0YSA9PT0gMCkgeworICAgICAgICBpZiAoX2RyYWdTdGFydFBvaW50
ID4gbWlkcG9pbnQpIHsKKyAgICAgICAgICAgIG9wZW5Td2F0Y2hlcygpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgb3BlblNsaWRlcnMoKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBp
ZiAoTWF0aC5hYnMoX2RyYWdEZWx0YSkgPiA4KSB7IC8vIG5vdCBhIHZhbGlkIHRvdWNoIG1vdmUg
aWYgX2RyYWdEZWx0YSA8PSA4CisgICAgICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnc2xpZGUtYnV0dG9uJyk7CisgICAgICAgIGlmIChidXR0b24udHJhbnNsYXRpb24g
KyBidXR0b24ub2Zmc2V0V2lkdGggLyAyICsgX2RyYWdEZWx0YSA+IG1pZHBvaW50KSB7CisgICAg
ICAgICAgICBvcGVuU3dhdGNoZXMoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG9w
ZW5TbGlkZXJzKCk7CisgICAgICAgIH0KKyAgICB9CisgICAgX2RyYWdTdGFydFBvaW50ID0gdW5k
ZWZpbmVkOworICAgIF9kcmFnRGVsdGEgPSAwOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdzbGlkZS1oaWdobGlnaHQnKS5jbGFzc0xpc3QucmVtb3ZlKCdjb2xvci1waWNrZXItaGlnaGxp
Z2h0Jyk7Cit9CisKK3ZhciBvayA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgcmVzdWx0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9yLXBpY2tlci1oZXgtaW5wdXQnKS52YWx1ZTsKKyAg
ICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICcnOworICAgIHdpbmRvdy5zZXRWYWx1ZUFuZENs
b3NlUG9wdXAocmVzdWx0LCB3aW5kb3cucG9wVXApOworfTsKKwordmFyIGNhbmNlbCA9IGZ1bmN0
aW9uICgpIHsKKyAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICcnOworICAgIHdpbmRvdy5z
ZXRWYWx1ZUFuZENsb3NlUG9wdXAoJy0xJywgd2luZG93LnBvcFVwKTsKK307CisKK3ZhciBjcmVh
dGVSYW5nZSA9IGZ1bmN0aW9uIChjb2xvcikgeworICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CisgICAgcmFuZ2Uuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3Jh
bmdlJyk7CisgICAgcmFuZ2Uuc2V0QXR0cmlidXRlKCdpZCcsIGNvbG9yICsgJy1yYW5nZScpOwor
ICAgIHJhbmdlLnNldEF0dHJpYnV0ZSgnbWluJywgJzAnKTsKKyAgICByYW5nZS5zZXRBdHRyaWJ1
dGUoJ21heCcsICcyNTUnKTsKKyAgICByYW5nZS5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXIt
cmFuZ2UnKTsKKyAgICByYW5nZS5jbGFzc0xpc3QuYWRkKGNvbG9yICsgJy1yYW5nZXItYmcnKTsK
KyAgICByZXR1cm4gcmFuZ2U7Cit9OworCit2YXIgY3JlYXRlT3V0cHV0ID0gZnVuY3Rpb24gKGNv
bG9yKSB7CisgICAgdmFyIG91dHB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7
CisgICAgb3V0cHV0LnNldEF0dHJpYnV0ZSgndHlwZScsICdudW1iZXInKTsKKyAgICBvdXRwdXQu
c2V0QXR0cmlidXRlKCdtaW4nLCAnMCcpOworICAgIG91dHB1dC5zZXRBdHRyaWJ1dGUoJ21heCcs
ICcyNTUnKTsKKyAgICBvdXRwdXQuc2V0QXR0cmlidXRlKCdpZCcsIGNvbG9yICsgJy1zbGlkZXIt
b3V0cHV0Jyk7CisgICAgb3V0cHV0LmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1zbGlkZXIt
b3V0cHV0Jyk7CisgICAgcmV0dXJuIG91dHB1dDsKK307CisKK3ZhciBsYXlvdXQgPSBmdW5jdGlv
biAocGlja2VyUGFyYW1zKSB7CisgICAgdmFyIHBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2JyksCisgICAgICAgIGhlYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
LAorICAgICAgICBib2R5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgcG9w
dXAuY2xhc3NOYW1lID0gJ3BvcHVwLWFyZWEnOworICAgIHBvcHVwLmNsYXNzTGlzdC5hZGQoJ2Nv
bG9yLXBpY2tlci1wb3B1cC1hcmVhJyk7CisgICAgcG9wdXAuaWQgPSAncG9wdXAtYXJlYSc7Cisg
ICAgcG9wdXAuZGlyID0gcGlja2VyUGFyYW1zLmRpcmVjdGlvbjsKKyAgICBoZWFkZXIuY2xhc3NO
YW1lID0gJ3BvcHVwLWhlYWRlcic7CisgICAgaGVhZGVyLmlubmVyVGV4dCA9IHBpY2tlclBhcmFt
cy51aVRleHQudGl0bGU7CisgICAgcG9wdXAuYXBwZW5kQ2hpbGQoaGVhZGVyKTsKKyAgICBib2R5
LmNsYXNzTmFtZSA9ICdwb3B1cC1jb250ZW50JzsKKyAgICBib2R5LmlkID0gJ3BvcHVwLWNvbnRl
bnQnOworICAgIGJvZHkuZGlyID0gJ2x0cic7IC8vIEZJWE1FOiBSVEwgVUkgc3BlY2lmaWNhdGlv
bnMgbm90IGRvbmUgeWV0CisgICAgcG9wdXAuYXBwZW5kQ2hpbGQoYm9keSk7CisKKyAgICB2YXIg
ZnJhZ21lbnQgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7CisKKyAgICB2YXIg
Y29udGVudCA9IGZyYWdtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpKTsKKyAgICBjb250ZW50LmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1jb250ZW50Jyk7
CisKKyAgICAvLyBUd28gYnV0dG9ucyBhdCB0b3AuCisgICAgdmFyIHN3aXRjaGVyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgc3dpdGNoZXIuY2xhc3NMaXN0LmFkZCgnY29s
b3ItcGlja2VyLXN3aXRjaGVyJyk7CisgICAgc3dpdGNoZXIuaWQgPSAnc3dpdGNoZXInOworICAg
IGNvbnRlbnQuYXBwZW5kQ2hpbGQoc3dpdGNoZXIpOworCisgICAgdmFyIHNsaWRlckJ1dHRvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIHNsaWRlckJ1dHRvbi5jbGFzc0xp
c3QuYWRkKCdjb2xvci1waWNrZXItYnV0dG9uJyk7CisgICAgc2xpZGVyQnV0dG9uLmlkID0gJ3Ns
aWRlLWJ1dHRvbic7CisgICAgdmFyIHNsaWRlckhpZ2hsaWdodCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOworICAgIHNsaWRlckhpZ2hsaWdodC5pZCA9ICdzbGlkZS1oaWdobGlnaHQn
OworICAgIHNsaWRlckJ1dHRvbi5hcHBlbmRDaGlsZChzbGlkZXJIaWdobGlnaHQpOworICAgIHN3
aXRjaGVyLmFwcGVuZENoaWxkKHNsaWRlckJ1dHRvbik7CisKKyAgICBzd2l0Y2hlci5hZGRFdmVu
dExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdG91Y2hTdGFydEhhbmRsZXIpOworICAgIHN3aXRjaGVy
LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRvdWNoTW92ZUhhbmRsZXIpOworICAgIHN3
aXRjaGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdG91Y2hFbmRIYW5kbGVyKTsKKwor
ICAgIHZhciBzbGlkZXJzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgc2xp
ZGVycy5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItb3B0aW9uJyk7CisgICAgc2xpZGVycy5p
ZCA9ICdzbGlkZXJzJzsKKyAgICBzd2l0Y2hlci5hcHBlbmRDaGlsZChzbGlkZXJzKTsKKyAgICBz
bGlkZXJzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHBpY2tlclBhcmFtcy51
aVRleHQuc2xpZGVyc0xhYmVsKSk7CisKKyAgICB2YXIgc3dhdGNoZXMgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKyAgICBzd2F0Y2hlcy5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNr
ZXItb3B0aW9uJyk7CisgICAgc3dhdGNoZXMuaWQgPSAnc3dhdGNoZXMnOworICAgIHN3aXRjaGVy
LmFwcGVuZENoaWxkKHN3YXRjaGVzKTsKKyAgICBzd2F0Y2hlcy5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShwaWNrZXJQYXJhbXMudWlUZXh0LnN3YXRjaGVzTGFiZWwpKTsKKwor
ICAgIC8vIFN3YXRjaGVzIGJsb2NrCisgICAgdmFyIHN3YXRjaEJsb2NrID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CisgICAgc3dhdGNoQmxvY2suY2xhc3NMaXN0LmFkZCgnY29sb3It
cGlja2VyLWJsb2NrJyk7CisgICAgc3dhdGNoQmxvY2suaWQgPSAnY29sb3ItcGlja2VyLXN3YXRj
aC1ibG9jayc7CisgICAgY29udGVudC5hcHBlbmRDaGlsZChzd2F0Y2hCbG9jayk7CisKKyAgICB2
YXIgU1dBVENIX0NPTE9SUyA9IFtbJyNmZmZmZmYnLCAnI2ZmZmYwMCcsICcjMDBmZjAwJywgJyMw
MGZmZmYnXSwgWycjZmYwMGZmJywgJyMwMDAwZmYnLCAnI2ZmMDAwMCcsICcjMDAwMDgwJ10sIFsn
IzAwODA4MCcsICcjMDA4MDAwJywgJyM4MDAwODAnLCAnIzgwMDAwMCddLCBbJyM4MDgwMDAnLCAn
IzgwODA4MCcsICcjYzBjMGMwJywgJyMwMDAwMDAnXV07CisKKyAgICB2YXIgY2hlY2tNYXJrRGl2
VGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgY2hlY2tNYXJrRGl2VGFn
LmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1jaGVjay1tYXJrJyk7CisKKyAgICBmb3IgKHZh
ciByb3cgPSAxOyByb3cgPD0gNDsgcm93KyspIHsKKyAgICAgICAgdmFyIHJvd0VsdCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICByb3dFbHQuY2xhc3NMaXN0LmFkZCgn
Y29sb3ItcGlja2VyLXJvdycpOworICAgICAgICBzd2F0Y2hCbG9jay5hcHBlbmRDaGlsZChyb3dF
bHQpOworICAgICAgICBmb3IgKHZhciBjb2wgPSAxOyBjb2wgPD0gNDsgY29sKyspIHsKKyAgICAg
ICAgICAgIHZhciBjZWxsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAg
ICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci13ZWxsJyk7CisgICAgICAgICAg
ICBjZWxsLmlkID0gcm93ICsgJycgKyBjb2w7CisgICAgICAgICAgICBjZWxsLnN0eWxlLmJhY2tn
cm91bmRDb2xvciA9IFNXQVRDSF9DT0xPUlNbcm93IC0gMV1bY29sIC0gMV07CisgICAgICAgICAg
ICBjZWxsLm15Y29sb3IgPSBjdXRIZXgoU1dBVENIX0NPTE9SU1tyb3cgLSAxXVtjb2wgLSAxXSk7
CisgICAgICAgICAgICBjZWxsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkg
eyBzd2F0Y2hVcGRhdGVDb2xvcih0aGlzLCBjaGVja01hcmtEaXZUYWcpOyB9LCBmYWxzZSk7Cisg
ICAgICAgICAgICByb3dFbHQuYXBwZW5kQ2hpbGQoY2VsbCk7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICAvLyBTbGlkZXJzCisgICAgdmFyIHNsaWRlckJsb2NrID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CisgICAgc2xpZGVyQmxvY2suY2xhc3NMaXN0LmFkZCgnY29sb3ItcGlja2Vy
LWJsb2NrJyk7CisgICAgc2xpZGVyQmxvY2suaWQgPSAnY29sb3ItcGlja2VyLXNsaWRlci1ibG9j
ayc7CisgICAgY29udGVudC5hcHBlbmRDaGlsZChzbGlkZXJCbG9jayk7CisKKyAgICB2YXIgaGV4
SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBoZXhJbnB1dC5jbGFz
c0xpc3QuYWRkKCdjb2xvci1waWNrZXItaW5wdXQnKTsKKyAgICBzbGlkZXJCbG9jay5hcHBlbmRD
aGlsZChoZXhJbnB1dCk7CisKKyAgICB2YXIgY3VycmVudENvbG9yV2VsbCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGN1cnJlbnRDb2xvcldlbGwuY2xhc3NMaXN0LmFkZCgn
Y29sb3ItcGlja2VyLXdlbGwnKTsKKyAgICBjdXJyZW50Q29sb3JXZWxsLmlkID0gJ2NvbG9yLXBp
Y2tlci1jdXJyZW50JzsKKyAgICBoZXhJbnB1dC5hcHBlbmRDaGlsZChjdXJyZW50Q29sb3JXZWxs
KTsKKworICAgIHZhciB1c2VySW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcp
OworICAgIHVzZXJJbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dCcpOworICAgIHVzZXJJ
bnB1dC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2NvbG9yLXBpY2tlci1oZXgtaW5wdXQnKTsKKyAgICB1
c2VySW5wdXQuc2V0QXR0cmlidXRlKCdtYXhsZW5ndGgnLCAnNycpOworICAgIHVzZXJJbnB1dC5j
bGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItaGV4LXN0eWxlJyk7CisgICAgdXNlcklucHV0LmFk
ZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGhleFVwZGF0ZUNvbG9yLCBmYWxzZSk7CisgICAgaGV4
SW5wdXQuYXBwZW5kQ2hpbGQodXNlcklucHV0KTsKKworICAgIHZhciByZWRTbGlkZXJSb3cgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICByZWRTbGlkZXJSb3cuY2xhc3NMaXN0
LmFkZCgnY29sb3ItcGlja2VyLXNsaWRlcicpOworICAgIHNsaWRlckJsb2NrLmFwcGVuZENoaWxk
KHJlZFNsaWRlclJvdyk7CisKKyAgICB2YXIgcmVkUmFuZ2UgPSBjcmVhdGVSYW5nZSgncmVkJyk7
CisgICAgcmVkU2xpZGVyUm93LmFwcGVuZENoaWxkKHJlZFJhbmdlKTsKKworICAgIHZhciByZWRP
dXRwdXQgPSBjcmVhdGVPdXRwdXQoJ3JlZCcpOworICAgIHJlZFNsaWRlclJvdy5hcHBlbmRDaGls
ZChyZWRPdXRwdXQpOworCisgICAgdmFyIGdyZWVuU2xpZGVyUm93ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnZGl2Jyk7CisgICAgZ3JlZW5TbGlkZXJSb3cuY2xhc3NMaXN0LmFkZCgnY29sb3It
cGlja2VyLXNsaWRlcicpOworICAgIHNsaWRlckJsb2NrLmFwcGVuZENoaWxkKGdyZWVuU2xpZGVy
Um93KTsKKworICAgIHZhciBncmVlblJhbmdlID0gY3JlYXRlUmFuZ2UoJ2dyZWVuJyk7CisgICAg
Z3JlZW5TbGlkZXJSb3cuYXBwZW5kQ2hpbGQoZ3JlZW5SYW5nZSk7CisKKyAgICB2YXIgZ3JlZW5P
dXRwdXQgPSBjcmVhdGVPdXRwdXQoJ2dyZWVuJyk7CisgICAgZ3JlZW5TbGlkZXJSb3cuYXBwZW5k
Q2hpbGQoZ3JlZW5PdXRwdXQpOworCisgICAgdmFyIGJsdWVTbGlkZXJSb3cgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBibHVlU2xpZGVyUm93LmNsYXNzTGlzdC5hZGQoJ2Nv
bG9yLXBpY2tlci1zbGlkZXInKTsKKyAgICBzbGlkZXJCbG9jay5hcHBlbmRDaGlsZChibHVlU2xp
ZGVyUm93KTsKKworICAgIHZhciBibHVlUmFuZ2UgPSBjcmVhdGVSYW5nZSgnYmx1ZScpOworICAg
IGJsdWVTbGlkZXJSb3cuYXBwZW5kQ2hpbGQoYmx1ZVJhbmdlKTsKKworICAgIHZhciBibHVlT3V0
cHV0ID0gY3JlYXRlT3V0cHV0KCdibHVlJyk7CisgICAgYmx1ZVNsaWRlclJvdy5hcHBlbmRDaGls
ZChibHVlT3V0cHV0KTsKKworICAgIHJlZFJhbmdlLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScs
IGZ1bmN0aW9uICgpIHsgcmFuZ2VVcGRhdGVDb2xvcihyZWRPdXRwdXQsIHJlZFJhbmdlKTsgfSwg
ZmFsc2UpOworICAgIGdyZWVuUmFuZ2UuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rp
b24gKCkgeyByYW5nZVVwZGF0ZUNvbG9yKGdyZWVuT3V0cHV0LCBncmVlblJhbmdlKTsgfSwgZmFs
c2UpOworICAgIGJsdWVSYW5nZS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAo
KSB7IHJhbmdlVXBkYXRlQ29sb3IoYmx1ZU91dHB1dCwgYmx1ZVJhbmdlKTsgfSwgZmFsc2UpOwor
ICAgIHJlZE91dHB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7IHJh
bmdlVXBkYXRlQ29sb3IocmVkUmFuZ2UsIHJlZE91dHB1dCk7IH0sIGZhbHNlKTsKKyAgICBncmVl
bk91dHB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7IHJhbmdlVXBk
YXRlQ29sb3IoZ3JlZW5SYW5nZSwgZ3JlZW5PdXRwdXQpOyB9LCBmYWxzZSk7CisgICAgYmx1ZU91
dHB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7IHJhbmdlVXBkYXRl
Q29sb3IoYmx1ZVJhbmdlLCBibHVlT3V0cHV0KTsgfSwgZmFsc2UpOworCisgICAgYm9keS5hcHBl
bmRDaGlsZChmcmFnbWVudCk7CisKKyAgICB2YXIgYnV0dG9ucyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpLAorICAgICAgICBjYW5jZWxCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdidXR0b24nKSwKKyAgICAgICAgb2tCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdidXR0b24nKTsKKyAgICBidXR0b25zLmNsYXNzTmFtZSA9ICdwb3B1cC1idXR0b25zJzsKKyAg
ICBjYW5jZWxCdXR0b24uY2xhc3NOYW1lID0gJ3BvcHVwLWJ1dHRvbic7CisgICAgY2FuY2VsQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgY2FuY2VsKTsKKyAgICBjYW5jZWxCdXR0b24u
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUocGlja2VyUGFyYW1zLnVpVGV4dC5j
YW5jZWxCdXR0b25MYWJlbCkpOworICAgIGJ1dHRvbnMuYXBwZW5kQ2hpbGQoY2FuY2VsQnV0dG9u
KTsKKyAgICBva0J1dHRvbi5jbGFzc05hbWUgPSAncG9wdXAtYnV0dG9uJzsKKyAgICBva0J1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG9rKTsKKyAgICBva0J1dHRvbi5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShwaWNrZXJQYXJhbXMudWlUZXh0LmRvbmVCdXR0b25M
YWJlbCkpOworICAgIGJ1dHRvbnMuYXBwZW5kQ2hpbGQob2tCdXR0b24pOworICAgIHBvcHVwLmFw
cGVuZENoaWxkKGJ1dHRvbnMpOworCisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwb3B1
cCk7Cit9OworCit2YXIgc2hvdyA9IGZ1bmN0aW9uIChwaWNrZXJQYXJhbXMpIHsKKyAgICBsYXlv
dXQocGlja2VyUGFyYW1zKTsKKyAgICBvcGVuU2xpZGVycygpOworICAgIGlmIChwaWNrZXJQYXJh
bXMuaW5pdGlhbFZhbHVlKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2xv
ci1waWNrZXItaGV4LWlucHV0JykudmFsdWUgPSBwaWNrZXJQYXJhbXMuaW5pdGlhbFZhbHVlOwor
ICAgIH0KKworICAgIHZhciBjaGFuZ2UgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnSFRNTEV2ZW50
cycpOworICAgIGNoYW5nZS5pbml0RXZlbnQoJ2NoYW5nZScsIHRydWUsIHRydWUpOworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2xvci1waWNrZXItaGV4LWlucHV0JykuZGlzcGF0Y2hF
dmVudChjaGFuZ2UpOworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvcmllbnRhdGlvbmNo
YW5nZScsIHJvdGF0aW9uSGFuZGxlciwgZmFsc2UpOworfTsKKword2luZG93LnBvcHVwY29udHJv
bCA9IHdpbmRvdy5wb3B1cGNvbnRyb2wgfHwge307Cit3aW5kb3cucG9wdXBjb250cm9sLnNob3cg
PSBzaG93OworfSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9ibGFj
a2JlcnJ5L3BvcHVwQ29udHJvbEJsYWNrQmVycnkuY3NzIGIvU291cmNlL1dlYkNvcmUvUmVzb3Vy
Y2VzL2JsYWNrYmVycnkvcG9wdXBDb250cm9sQmxhY2tCZXJyeS5jc3MKaW5kZXggMzQwYmM2MS4u
MjRlOWY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkv
cG9wdXBDb250cm9sQmxhY2tCZXJyeS5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2Vz
L2JsYWNrYmVycnkvcG9wdXBDb250cm9sQmxhY2tCZXJyeS5jc3MKQEAgLTcsMTA2ICs3LDcxIEBA
IGh0bWwgewogfQogCiBib2R5IHsKLSAgICBwYWRkaW5nOiAwOworICAgIHBhZGRpbmc6IDMwcHg7
CiAgICAgbWFyZ2luOiAwOwotICAgIGZvbnQtZmFtaWx5OiAiTXlyaWFkIFBybyIsICJBcmlhbCIs
ICJIZWx2ZXRpY2EiLCBzYW5zLXNlcmlmOworICAgIGZvbnQtZmFtaWx5OiAiU2xhdGUgUHJvIiwg
Ik15cmlhZCBQcm8iLCAiQXJpYWwiLCAiSGVsdmV0aWNhIiwgc2Fucy1zZXJpZjsKICAgICBmb250
LXNpemU6IDQwcHg7Ci0KKyAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAg
LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKLSAgICB1c2VyLXNlbGVjdDogbm9uZTsKLQogICAg
IGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7
CiAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAtd2Via2l0LWJveC1wYWNrOiBj
ZW50ZXI7Ci0KLSAgICBkaXNwbGF5OiBib3g7Ci0gICAgYm94LW9yaWVudDogdmVydGljYWw7Ci0g
ICAgYm94LWFsaWduOiBjZW50ZXI7Ci0gICAgYm94LXBhY2s6IGNlbnRlcjsKIH0KIAogLnBvcHVw
LWFyZWEgeworICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgd2lkdGg6IDEwMCU7Ci0g
ICAgaGVpZ2h0OiAxMDAlOwotCiAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7Ci0gICAgZGlzcGxh
eTogYm94OwogICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7Ci0gICAgYm94LW9yaWVu
dDogdmVydGljYWw7CiB9CiAKLSAgICAucG9wdXAtYXJlYT46Zmlyc3QtY2hpbGQgeworICAgIC5w
b3B1cC1oZWFkZXIgeworICAgICAgICBsaW5lLWhlaWdodDogOTNweDsKKyAgICAgICAgYmFja2dy
b3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAp
LCByZ2JhKDAsIDAsIDAsIDAuMikpLCAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDA3
M2JjLCAjMDBhOGRmKTsKKyAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTJweDsKKyAg
ICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEycHg7CisgICAgICAgIHBhZGRpbmc6IDAg
MzJweDsKKyAgICAgICAgZm9udC1zaXplOiAxLjJlbTsKKyAgICAgICAgY29sb3I6ICNmYWZhZmE7
CisgICAgICAgIHRleHQtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNSkgMCAycHg7CisgICAgfQor
CisgICAgLnBvcHVwLWNvbnRlbnQgewogICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxOwotICAg
ICAgICBib3gtZmxleDogMTsKKyAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICAgICAg
LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOworICAgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFB
c29BQUFBT0NBTUFBQUFCcnNyNUFBQUFoRkJNVkVYLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUM5S0RMaEFBQUFMSFJTVGxNQUFnQUlC
QW9HRWhBakZ4dEJNVEFVUHlFT0dVVWRKUXdmUXhZK0tDNUdOMGc4T2tvcUxFMDROVE5MSm9LeHFV
TUFBQU1xU1VSQlZIaGVuTmFMYnFKUUVJQmg2K0dpV0tGcUVhV3cyZ3AxcGUvL2ZqdVhBOE1adzZY
N0pXaFFBdkg0TTJHaHZEQXZDSXlmN2NFcURNTWt5U053MktDVW5FNm5IVmtmeFE4b1VJVnFVcUo0
NjNxMC9pSit2U0I0STNmclMva1VIOC9lSEs5anpzcjdUSCtHdE45ZmY0SFBPTzU5bG5QUDY1ZzMx
OGVBVCt1cjd5N2duMEw4bDRsSGEydkZwTFJxVkxIaWh4eXROZHFSdEhNQVVaUW5lWjRuU2JqYTc3
TXNNMzVnZ3NCN0lZc3hITExuR2QvbmxFTUE1NktTQ1ZUTUhSOVJ3YWhnVlhGSjRsaWxlK25qZGFG
bHNrc25uZW80NTBZNW5kNzEyYTNUa0Z0UDA3bTVtdTlPMC9xZXJ4SHkyUTFNWFZ0L2NBWGE5RTF4
VmlicmQxS1h5V0l6eCszaTZJY3RTZGVFY3hiU05RVU5oYVViQmpGSDBISzRXbEhMMEtVSlBFeDV1
Vnd1eGl3QkhoZ1lRRFh6WkU0UzdKa2NrSXhudEJOcnhET2FTZUtzWnFYQTN1T2hxUzE0QWx5MHV6
STB4dWNQZEcxd3BrMlBlMjI2blRuWDFnYm1xZ2JsNlNIclRGcE5qOTFIMzFad3BiQ1J1bE5aRWl2
U1U1aFJSeW5aQUJ6SElFZVFYZ2dqR1dTK1FRR0hQSmt5b2ljTVlBeHV4cytnNlF5THhsc2pKRWty
UnhHVDBFVnFuY1R1eVZycGZyTGNERVIyUktYVWpuSkFQTk1XOVBaYzZyai9OUE1Tc2pPaEhGSmpa
NElXcXhLRnBwZmVlWkQ4UjIyZDdFZ0lBZ0VZSHB0bUVRNUdpRUo0L3dlZEtXZ29Gd1NYdnN5WGFE
eVJXUDZwT1BkbzNITUxVNktRQVRMQ2FBTU9SQkwrS3JTRnZVckptNEVMS1VQTGI4QUNFb3VtMU1a
akU3SEdoeUsvZ3JYTHhhTlJHK3VYeDRtVXVKcXhvdittK1puK2U4WUtkMnc2NUFMOEt2c3M4eFlM
ZDZ6VWJ3eGxlVUdLUUFPYlVOakVjRUhDVVM2NW5UTG8vcVNhQVVsb1pwRXVFUVg4dktIT3l3OWZK
ZzJTbHhoMWczbEdYU2V2TVZsNVloSU5MZndrc2FjUFdFUVIrV0M1NHc2Y1QzbVRjN2psdzdCcWJE
eGlHNFErWXV0MGF6amlOdjQvaUp1YTQ3SXR2K3pTTVE3QU1BaEQwUm9JOXo5eXQxWktHZUlVcEF5
OEUxanlIei80MXhSUEVOUGJzRHpXVW40aFlJdDhnNVlZYldnSlo5a2loRVRvbEdQZzJBWXZvVTI5
aExGQWtVbDJ5a0tqdHlPWE5VTXk4aWdoWmFSOEJKeXV5UW51ZHVDWUFBQUFBR0dRL1ZPYlloOHNC
UUJ3dWk5Kys5YlZXdHdBQUFBQVNVVk9SSzVDWUlJPSIpLCB1cmwoImRhdGE6aW1hZ2UvcG5nO2Jh
c2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBc29BQUFBT0NBTUFBQUFCcnNyNUFBQUFoRkJN
VkVYLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUM5S0RMaEFBQUFMSFJTVGxNQUFnQUlCQW9HRWhBakZ4dEJNVEFVUHc0aEdVVWRKUXdm
UXhZK0tFWXVOMGc4T2tvcUxFMDROVE5MSmg0RGtiVUFBQUxqU1VSQlZIaGU3TUF4QVFBQUFNSWcr
NmMyeFQ1WURRRGc3Tk03RG9CQURBTlJ2TC83SHhrSjBsRFFiSFlrRjVrYldIcHVGc205cWptMFRW
bHZwRXlHOHFnR1F4bVRyeWVPTWc5b0lmV3FMeVRzVWVjcFo0ajZvSnZWTkRsSWp2dzI1WEFyaGNz
QStwM3hQeXNwNkthMlhuWVlCSUVBaXZZMUxjTENJTEVRLy85RG02RW9pQU1VY05PVDZKWUU3MHpV
ZVpJNU1vRTFlLzBIMXFoNFhib0VPanlQb25pSW1IemJEU212Ni9ld0xzbldKS1d6a2pGdjRjNUM0
OHJqVlpSb29QcUllcnlPMnRBM3hyMnhwR1BZWkFJOUtPR1czRy9ybjFOMmZ4RmJ4ZmdDMFBiRVZL
cUo5b2dMQy9KUzZCalB2QkxJZk0wMGt6TmxER2Q2OXhuT00yV1l0RG5KV1BoVlFzSlQyN1Q0bVNH
M3pFakQ1SVAwOTJuYm52SEJtcDJLbEhFamZ5TzJJWU1Hd0lTWlBTemFtZkZJeDB1R0tLNWMxYWNU
TTFGT0dBVENjTnRVN1dGdnRZZlJhT3FkOTMrL3dpNndWeXkwMzhUTUFJN000TGUvR3pzSENOQjU2
Z1FOaUkxaUsxaWU0YkdRQndjYlNmajcvay9oRmpUSXNEekgxbDBNT0t3TlVXdjAwYzhpbllOWFg2
Wm8rdlJIM3dtbXVneDBqTTkzYUFlcUVLN2djcEhLWG51dk1BYnhDemdNMGtwWm1hTGFTdFFRMGNi
MU9hWmRPRVlPaktacDRLN1lLMXJCdW8rNTVma1h4Z216WVBrc1o5eEhmbS9MdkllMXBYVVhBdzVy
VHpRQ091MUQ1TWhSNWViRElSUk1RdFpJRjVnQnVnU201SHd3blF2dTFJYW94bzZqVU9YNEgwVTFD
QjZQSEdoeHlOb2tML2hhSTFTK3BHdTBWS2xwUFd6Z1hQRzBXeW1iRVNmdnprU3c2R05sK1U2Y0FC
elFETTN5aFYzaUZObVZjeUpvRGpiSTdLMG5WajBzREJORnBySnNEWWxDb2FBSWRlRmZqWUJyVDc4
WFRQT2FJTXRCY085MXpHOVVlaFFTMm9mekVIcU1FcFd4djZoUVpkOVE0RU1XdWt4aEhGSjRSblFP
NWpNSnpUUFhwaTdlUXhESXFHMFZ1V2kxNnBjV1FDR0xjOFQxMVIrd24yaVpGSkZSa3Nqa3VjNzBs
aUVUUEgxbkI0YkpiTm55OEt5dUthTlZTazhUMklSOFBVRTBqN0RYcUFiRHlyY1lnRkQzQnpaZ2Z2
c2pHeGNMQUFBQUFFbEZUa1N1UW1DQyIpOworICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0
b3AsIGJvdHRvbTsKKyAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICAg
ICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6
IHJnYmEoMjUwLCAyNTAsIDI1MCwgMC45KTsKICAgICB9CiAKICAgICAucG9wdXAtYnV0dG9ucyB7
CisgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEycHg7CisgICAgICAgIGJvcmRl
ci1ib3R0b20tbGVmdC1yYWRpdXM6MTJweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgyNTAsIDI1MCwgMjUwLCAwLjkpOwogICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAg
ICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOwotICAgICAgICAtd2Via2l0LWJv
eC1wYWNrOiBjZW50ZXI7Ci0gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoOwotCi0g
ICAgICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlW
Qk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCOEFBQUI2Q0FNQUFBQndTWGppQUFBQXZWQk1WRVhjM056
ZDNkM2UzdDdkM2QzYzNOemQzZDNmMzkvZTN0N2UzdDdjM056YzNOemQzZDNjM056YzNOemMzTnpl
M3Q3ZDNkM2UzdDdlM3Q3ZDNkM2MzTnpkM2QzYzNOemMzTnpkM2QzYzNOemQzZDNjM056ZDNkM2Mz
TnpkM2QzZTN0N2MzTnpmMzkvZTN0N2QzZDNsNWVYZzRPRHE2dXJqNCtQbjUrZnA2ZW5rNU9UbTV1
Ym82T2ppNHVMaDRlSDA5UFQyOXZiNit2cng4Zkh3OFBEdjcrL3U3dTd0N2UzcjYrdjE5Zlg1K2Zu
NCtQano4L1B5OHZMMzkvZnM3T3hCenVSWUFBQUFJSFJTVGxNQUFPcUg2cWo1eGtzSlAxSEp6SWNH
NUpZREV1RitWRmQ0Y3VkMUNlU0VrN1BCOThZQUFBRGVTVVJCVkhoZXpNbEhFWUJBQUFSQkhGMU9K
UCt5Y0RDZnJhMmp2MzBrWnYvRmZ2OG4yLzRQMi82UjJYOHkrd2RtLzR2SmZ6UDdaeVovWWZhdlRQ
N0c1TzlNL3BmSlA1ajZYM2Z6a1lOQUVBTlIxTzdKa1p4enp0ei9lRFFhSVJoQjE4Ynlocjk5S2hY
dGNlcCt3b245aWhQN0VTZjJDMDdzVzV5Nm4zRmlQK0RVL1lZVCt4MzM5NzdEcWZzS3ArNGg1SkRN
R21Vb2doN1JBbnFMWXVneHRRMjZieEQzTnU2R1ROd1pPN2s1dGM2WjB6TitPczhkN0hIbEhQemtn
Ri9Pbm1OdHZhcmZYZGFiRGFoV012SS8xSjhrOUZWYTVvVzFJaS9UTnp3QUpraWw2MjFncEs0QUFB
QUFTVVZPUks1Q1lJST0iKTsKLSAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAxNCAxNCAxNCAx
NCBmaWxsOwotICAgICAgICBib3JkZXItd2lkdGg6IDE0cHg7Ci0KLSAgICAgICAgdGV4dC1hbGln
bjogY2VudGVyOworICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CisgICAgICAgIHBhZGRpbmct
cmlnaHQ6IDIwcHg7CiAgICAgfQogCi0gICAgICAgIC5wb3B1cC1idXR0b24tZGl2aWRlciB7Ci0g
ICAgICAgICAgICB3aWR0aDogMnB4OwotICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
YSgwLCAwLCAwLCAwLjIpOwotICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxNHB4IDA7Ci0gICAg
ICAgICAgICAvKiBib3JkZXIgaW1hZ2UgdGFrZXMgYW4gaW1hZ2UsIHNvIHVzZSBhIHNvbGlkLWNv
bG91ciBncmFkaWVudCAqLwotICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogLXdlYmtp
dC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMikgMCUsIHJnYmEoMCwgMCwg
MCwgMC4yKSAwJSk7Ci0gICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDEgMCAxIDA7Ci0g
ICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAxIDAgMSAwOwotICAgICAgICB9Ci0KICAg
ICAgICAgLnBvcHVwLWJ1dHRvbiB7CiAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAg
ICAgICAgIGZvbnQ6IGluaGVyaXQ7CiAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogcmdiYSgyNTUs
IDI1NSwgMjU1LCAwLjUpIDAgLTJweDsKLSAgICAgICAgICAgIHBhZGRpbmc6IDA7Ci0gICAgICAg
ICAgICBtYXJnaW46IDA7Ci0gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwotICAgICAgICAg
ICAgbGluZS1oZWlnaHQ6IDIwMCU7CisgICAgICAgICAgICBtYXJnaW46IDIwcHggMTBweCAyMHB4
IDEwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDkycHg7CisgICAgICAgICAgICB3aWR0aDogNTAl
OwogICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7Ci0KLSAgICAgICAgICAgIHdpZHRoOiAwOwog
ICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTsKLQotICAgICAgICAgICAgYm9yZGVyOiAx
NHB4IHNvbGlkIHRyYW5zcGFyZW50OwotICAgICAgICB9Ci0KLSAgICAgICAgLnBvcHVwLWJ1dHRv
bjphY3RpdmUgeyAvKiBhbGwgY3VycmVudCBwb3B1cHMgaGF2ZSBhdCBtb3N0IHR3byBidXR0b25z
LCBzbyB0aGlzIGlzIHVudXNlZCBhdG0gKi8KLSAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zb3Vy
Y2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFB
RUFBQUI0QVFNQUFBQUo5Z3JEQUFBQUExQk1WRVVBQUFDbmVqM2FBQUFBQVhSU1RsTXovemE1Y0FB
QUFCVkpSRUZVZUY3bHdJRUFBQUFBZ0tEOXFRZXBNQU1BOEFBQmQ5dldsUUFBQUFCSlJVNUVya0pn
Z2c9PSIpOwotICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAxIDAgMSAwIGZpbGw7Ci0g
ICAgICAgICAgICBwYWRkaW5nOiAxNHB4OwotICAgICAgICAgICAgbWFyZ2luOiAtMTRweDsKLSAg
ICAgICAgfQotCi0gICAgICAgIC5wb3B1cC1idXR0b246Zmlyc3QtY2hpbGQ6YWN0aXZlIHsgLyog
VE9ETzogUlRMICovCi0gICAgICAgICAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoImRhdGE6
aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFCNENBTUFBQURN
aW9Ka0FBQUFQRkJNVkVVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURRTHlZd0FBQUFGSFJTVGxNekFD
OEJHeWdlRHpJdUVCb2lHQkV0QWhjTktTSDNpS1lBQUFCRlNVUkJWSGhlN2N5NUFZQXdFTVRBMjdQ
Ti85Ti9yMFFRcUFWVzRRU0tYK1djYzg0TmhDUTBRa2ZvQ1lVVHJZUXlBalFSTkJPMEVGUUoybmFB
ampOZitMcHF1eU1lVCtzQTlic3U2dDhBQUFBQVNVVk9SSzVDWUlJPSIpOwotICAgICAgICAgICAg
Ym9yZGVyLWltYWdlLXNsaWNlOiAxNCAwIDE0IDE0IGZpbGw7Ci0gICAgICAgICAgICBib3JkZXIt
aW1hZ2Utd2lkdGg6IDEgMCAxIDE7Ci0gICAgICAgICAgICBwYWRkaW5nOiAxNHB4OwotICAgICAg
ICAgICAgbWFyZ2luOiAtMTRweDsKICAgICAgICAgfQogCi0gICAgICAgIC5wb3B1cC1idXR0b246
bGFzdC1jaGlsZDphY3RpdmUgeyAvKiBUT0RPOiBSVEwgKi8KLSAgICAgICAgICAgIGJvcmRlci1p
bWFnZS1zb3VyY2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUFCQUFBQUIzQ0FNQUFBQTkzREN4QUFBQU0xQk1WRVVBQUFBQUFBRC8vLzhBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2luOTFYQUFB
QUVYUlNUbE16QUFBdkxoc0NLQmd5QVJBZUR5SVJGeHRRdFRzQUFBQS9TVVJCVkhoZTdjaTNBWUFB
RUFKQThZTTU3RCt0aFkyd2dseDV3NStabVprdEdxRXhhZXdhaDBTc0V2UElrUzJ4Z2FQQWNZS2pR
SkVYdmhGMzQ0MEhTQVFBd1A5VDJtd0FBQUFBU1VWT1JLNUNZSUk9Iik7Ci0gICAgICAgICAgICBi
b3JkZXItaW1hZ2Utc2xpY2U6IDE0IDE0IDE0IDAgZmlsbDsKLSAgICAgICAgICAgIGJvcmRlci1p
bWFnZS13aWR0aDogMSAxIDEgMDsKLSAgICAgICAgICAgIHBhZGRpbmc6IDE0cHg7Ci0gICAgICAg
ICAgICBtYXJnaW46IC0xNHB4OwotICAgICAgICB9Ci0KLSAgICAgICAgLnBvcHVwLWJ1dHRvbjpv
bmx5LWNoaWxkOmFjdGl2ZSB7Ci0gICAgICAgICAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwo
ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFCNENB
TUFBQUNrZVFCY0FBQUFQRkJNVkVVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURRTHlZd0FBQUFGSFJT
VGxNekFDOGJLQUV1QWpJZUR4QVhHQ0lSRFNrdEd0SW15YW9BQUFCelNVUkJWSGhlN2M1TERzSXdF
QVRSNnJHZGtIK0ErOStWUlVRVUNXeDJyUHB0cDBacS9zek16TXpNek14dXY4NUJVNUJweWd3MERZ
dzBqWlNnSVFwYWFGaUVTa2RWMXd0cG9tcVNrUFNrSXVrSXRQTFZxbmVnVlBrL0EyMlBqMzJicm9I
Nk9iaUl1ZGNCbmZhVTd3RDNuSGFkWGkxWkFjL3ZMUUVtQUFBQUFFbEZUa1N1UW1DQyIpOwotICAg
ICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAxNCAxNCAxNCAxNCBmaWxsOwotICAgICAgICAg
ICAgYm9yZGVyLWltYWdlLXdpZHRoOiAxIDEgMSAxOwotICAgICAgICAgICAgcGFkZGluZzogMTRw
eDsKLSAgICAgICAgICAgIG1hcmdpbjogLTE0cHg7Ci0gICAgICAgIH0KK0BtZWRpYSBvbmx5IHNj
cmVlbiBhbmQgKHdpZHRoOiA3MjBweCkgYW5kIChoZWlnaHQ6IDcyMHB4KSB7CisgICAgLnBvcHVw
LWJ1dHRvbiB7CisgICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMTBweDsKKyAgICAgICAg
aGVpZ2h0OiA3N3B4OworICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Jlc291
cmNlcy9ibGFja2JlcnJ5L3NlbGVjdENvbnRyb2xCbGFja0JlcnJ5LmNzcyBiL1NvdXJjZS9XZWJD
b3JlL1Jlc291cmNlcy9ibGFja2JlcnJ5L3NlbGVjdENvbnRyb2xCbGFja0JlcnJ5LmNzcwppbmRl
eCBiMjBiYzMzLi5jMjQzZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMv
YmxhY2tiZXJyeS9zZWxlY3RDb250cm9sQmxhY2tCZXJyeS5jc3MKKysrIGIvU291cmNlL1dlYkNv
cmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvc2VsZWN0Q29udHJvbEJsYWNrQmVycnkuY3NzCkBAIC0x
LDY0ICsxLDg3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGlt
aXRlZCAyMDEyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICovCi0KLS5zZWxlY3QtYXJlYSB7Cisu
cG9wdXAtY29udGVudCB7CiAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgIG92ZXJmbG93LXk6
IGF1dG87Ci0gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKLSAgICAtd2Via2l0LW92ZXJmbG93LXNj
cm9sbGluZzogdG91Y2g7Cit9CiAKLSAgICBiYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2UvcG5n
O2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBdFVBQUFBTkNBWUFBQUJtUVpJQUFBQUFH
WFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBMlpwVkZoMFdF
MU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlC
cFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0Vn
ZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5V
Q0JEYjNKbElEVXVNQzFqTURZd0lEWXhMakV6TkRjM055d2dNakF4TUM4d01pOHhNaTB4Tnpvek1q
b3dNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNk
M0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBF
WlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZM
eTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RI
UndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZ
aklpQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhp
SUhodGNFMU5Pazl5YVdkcGJtRnNSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG93T0Rnd01URTNO
REEzTWpBMk9ERXhPRVJDUWtVM1FqWkVSVEZDTnpWR055SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJE
MGllRzF3TG1ScFpEb3hRekl3UTBaRlFUTTBPRFl4TVVVeFFrSTBSa0UwT0RCRU56RkdNRVZEUlNJ
Z2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRveFF6SXdRMFpGT1RNME9EWXhNVVV4
UWtJMFJrRTBPREJFTnpGR01FVkRSU0lnZUcxd09rTnlaV0YwYjNKVWIyOXNQU0pCWkc5aVpTQlFh
RzkwYjNOb2IzQWdRMU0xSUUxaFkybHVkRzl6YUNJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJT
QnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qQTRPREF4TVRjME1EY3lNRFk0TVRF
NFJFSkNSVGRDTmtSRk1VSTNOVVkzSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xr
T2pBNE9EQXhNVGMwTURjeU1EWTRNVEU0UkVKQ1JUZENOa1JGTVVJM05VWTNJaTgrSUR3dmNtUm1P
a1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lX
TnJaWFFnWlc1a1BTSnlJajgrWVp0T1dRQUFBMjVKUkVGVWVOcnNuZXR1d3lBTWhZUEgzditGVXpO
VjJxU3BTc0FYVENBNTUwZWx0aW5nQy9CQmFacEtLUnNFUVJBRVFSQUVRWGJsOTBOS0NaNkF0Q0s0
QUlJZ0NMcXhHQzZBcEhwdlV1ZUp3ZXlPeWJ3YWlHSkFRVjVBRUlUeEdscDN6T1lIK0gwYUd6T1NG
a0MwYUg1Z2dJWWdDQUpVdzlmKytRVzVNeGswMFVXSkFDQ0NiZkF6QkVFUUJEMTNNVU9CWlErRGFx
bzg1NFBYU0dnRUNaM0VIU0NsaHhNSlVEUU5HRXBqd1EveEJ4WUhFRFI0VW9XdHFuR0FKL0k3Qjlt
NFNqNXdjQjcwOEM5M2lHMEx6RjEreUE0amE4OUo2Q1J5SkdzTzdPaFhsN3RpaDUwRnFpVy91bzIr
NVUweVRDeDNBT283UXpXK0hyMzN3bWwvV0d3NGNCelUzUG1nTEFyVmQyc25UOVp1N1k2MEJkZzV3
bzZzNktRYUFLWkdBK2hnSW1ibDROQmpjSTg4TSt4cFgrcVFUTFZ2QnZKQSsxanA5enZ2SWordFhz
QWtGaGZROWI3akc5ZEh3b1VTRGJCRnN0dDdCblNhK2Iwc0VxTmRNTyt6c24wUzN1R0RhM1BENWha
L2l2MlZsY2xLalFUNWhIRGE2a2RCdEZCTmpvNldPblJXNnRUWm84b2JXZGFYc0tNblovMGM0QU82
c0l4UmNMWUtCQ2JqaE9HOUQyaHh0dk9wS29OOFpxMW45ajllNE1IMVdIZmxXQWlESTJ5MXpnR3N6
SXVqZkgxZEhGOE8rZ3gzS0xOVmhvUVJla0gxMW9CcStyZm9PZHBjM0g5ZkoyR2ZZaTFVSHdFeFZh
QTZWeUNVR2tDZWpGQkxnVUNzS1NNNXdLWUhlRnZnaVRwTWZ0VDV1clBySTZDNkJ5RE5CdFc5eTcw
S0lrZjlIZ0xIdHVKQmp3ZjVjdlJPYkZrZ0JqTkFkUW53amZXY0xnK0lTeEcwbTUzMWVJQ1pIVEhq
RGo3ZEZmRnIxY2RLWU9jS2NIOUN0OHZPM0JqQXFBTFZSNUNkSzFDZEt1OXR3dmRJY00xWEk5azhN
R2c5QXBNY0lHMmRxTk5KaC9rODc4c1ZYN0xDeGw1d05nSk1ydHlwVGhQYlpDMHZkWnhVcGY3eFR0
Z1I1OTZmQU5XYVJVOXh4aWNLM3J6NU92dVoxbG1PQjh4MFRyY1l5MlJoSDJqQjJDZFVGNGU5V3JD
TzJpSFd4dmRiRVpkZEVKZldjWTR6N3VLVHoxTUZ1bXNjeVRVSXJpVUVOd0RzREZyWkNHeldGZG5l
YU9OcklPaHNGYkQxREJUV0hlNi9XTHdPZkdLSlVUSzJJeEx3Sk5kcXZ0SkxnOW85RzJTdmVud2t1
dS8yZ3ZUWm9McGM3TnRJUUp4bFFUSUtOQ1BxTHBPMGNmU09zd1NxSldXL092R05OQzRXUDBvK3c0
NzgwTlNwT1orK1Y4cDhiZWQzcHVQS0F1cVBsZjd2cnBNZ0h6aTkvMVlSZ2lBSWdpQUlnaUM3ZmdR
WUFMazZCVm0rVktVRkFBQUFBRWxGVGtTdVFtQ0MiKSBib3R0b20gbm8tcmVwZWF0IHJnYmEoMjU1
LCAyNTUsIDI1NSwgMC41KTsKLSAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsKLSAgICBi
b3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4OwotICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVz
OiAxMHB4OwotICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFz
ZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCMEFBQUFjQ0FZQUFBQ2R6N1NxQUFBQUFYTlNS
MElBcnM0YzZRQUFBQVppUzBkRUFQOEEvd0Qvb0wybmt3QUFBQWx3U0ZsekFBQUxFd0FBQ3hNQkFK
cWNHQUFBQUFkMFNVMUZCOXdHQnc4b0tqWUZtNndBQUFNa1NVUkJWRWpIeFpiQlRodFhGSWEvTXph
ZWpBczJhWktxYm5Ic1N1bkc2a093aUpGNEE0UmhBMUVsVkdYTGd0ZUlLaFFhc1VvUkQ1Q21FczZD
Ui9DaXU3WXVCa3NqRlpUYTRIbzh0bWRPRjdrek9JaTJDWmprU0Vkalg4MDkzLzMvZTJibWlxb1NS
ZU9nNFFEM2dFOFlYL3dOSEJlS0JTOGFrQWg2ZUhCNDF3Q3BWcXYyaysrZjNHMGNOS1piN2RZa0lP
OEIwZW5zZEtkUUxMUWVmL2Y0cEZ3dSsyYjgrSDd4L2trTVBXb2M1WUJwZ0VmZlB2cXNXcTBXVkRV
QzZSWFVDWUNJYUxsY2JqemJldmFuR1cvbEMzbFhEaHVIR2VETHM3TXplVmgrK01CMTNkdEFDUGlB
Qnd4R3dQcC9JSE9kQUJ6QUJxeGNMdmZYcStxcjM2YW1waFJvV29MY0ZvVEtVdVVMMTNXekJ0SUNY
Z01kQSs2WjlQOGpvM3M4TSsrMXFUTndYVGRiV2Fya0JFR1FUeTBSU2IvNDZZVmRxOVUrQndMZ0dH
aWJCb2l5QTV5OVEzWXV6R3NESjBCUXE5VnlMMzkrbVJLUnRDVWliUDJ3ZGNjQVQ4M05YYlBpZDFW
NW1WclAxT21ZdXNIVHJhZDNSSVNraUZDdjF6TkEzOWpSTTc4RHM3ZmhGUnJKTWprMDg5dUFYYS9Y
c3lMaUprV0VicmViTUN2dG1tdmZORTE0amU2Tm9Hcis5ejNQbTRpVkRnYURvV21nQ0JqQjlJb3Zo
R2pCWXVvQkRIemZUOFJRWStYd21wWmVCbzVVeHZYZlFDMWhCRGk4aHFYL0ZzSElkU2lXWUJtbG8z
YU9FOGlGdW1Gc3I0am9pS1hqaGtZUkFpcHlybFJ2R0JqWEgyMGt2VUY3MzZvL3F2U0R4VWVFV2g4
WUdqMHlxVlRxNGpkeDNHRUJURTVPU214dlBwOUgzNXhickV1YWFod3BxcXJGWXZHOGtlYm41eU9G
emcwcGRRREs1Zks1MHRYVlZRQlZWUWRJamhtWVZOVTBvTXZMeTdIU2JxbFU2cTJ2cjZjTU9hdXF0
bzRuYkZYTkFycXhzV0dYU3FXZWlIVEY4N3lNaUh3Vmh1SE15c3JLNmU3dXJtZjJvV2UrcjRNcnFK
c0Ewc0F0UUJZV0ZwenQ3ZTJNWlZsTlZmMURWQlcvNStjU2ljUURFY2s4Ly9GNWQyMXQ3ZFR6dk90
dnBPT3d1Ym1aV2Fvc3BWVzFIUVRCNy9ZdDI0MFAyNzd2MzBza0V0K0lTTHJaYkE1M2RuYTh2YjA5
ZjM5L2YvaStzTm5aMmVUYzNKeTl1TGpvek16TUpGVzFHd1RCTDdadEg3OTF3Z2ZvOS91T1pWbGZp
MGgrYkM5ZDFhTXdESDlOcFZLeGRmOEFWVnZpYk9hQ1l5OEFBQUFBU1VWT1JLNUNZSUk9Iik7Ci0g
ICAgYm9yZGVyLXdpZHRoOiAxMnB4IDEycHggMCAxMnB4OwotICAgIGJvcmRlci1pbWFnZS1zbGlj
ZTogMTIgMTIgMTIgMTIgZmlsbDsKKy5wb3B1cC1jb250ZW50IHsKKyAgICBtYXgtaGVpZ2h0OiA0
OTVweDsgLyogNSByb3dzIG9mIDk5cHggZWFjaCAqLwogfQogCi0uc2VsZWN0LWFyZWE6bGFzdC1j
aGlsZCB7Ci0gICAgLyogTm90aGluZyBjb21lcyBhZnRlciB1cz8gUHV0IHRoZSBib3R0b20gYm9y
ZGVyIGJhY2sgYW5kIGFkanVzdCB0aGUgYm90dG9tIHNoYWRvdyAqLwotICAgIGJvcmRlci1ib3R0
b20td2lkdGg6IDEycHg7Ci0gICAgYmFja2dyb3VuZC1vcmlnaW46IGJvcmRlci1ib3g7CitAbWVk
aWEgKG1pbi1oZWlnaHQ6IDkxOHB4KSB7IC8qIDY5MyArIDkzIChwb3B1cCBoZWFkZXIpICsgMTMy
IChwb3B1cCBidXR0b25zKSA9IDkxOCAqLworICAgIC5wb3B1cC1jb250ZW50IHsKKyAgICAgICAg
bWF4LWhlaWdodDogNjkzcHg7IC8qIGluIHBvcnRyYWl0OiA3IHJvd3Mgb2YgOTlweCBlYWNoICov
CisgICAgfQogfQogCi0gICAgLm9wdGlvbiB7Ci0gICAgICAgIG92ZXJmbG93OiBoaWRkZW47Ci0g
ICAgICAgIHRleHQtb3ZlcmZsb3c6IC1ibGFja2JlcnJ5LWZhZGU7Ci0gICAgICAgIGNvbG9yOiAj
MjYyNjI2OwotICAgICAgICB0ZXh0LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpIDAgLTFweDsK
Ky5vcHRpb24geworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgdGV4dC1vdmVyZmxvdzogLWJs
YWNrYmVycnktZmFkZTsKKyAgICBjb2xvcjogIzU1NTU1NTsKKyAgICB0ZXh0LXNoYWRvdzogcmdi
YSgwLCAwLCAwLCAwLjIpIDAgLTFweDsKIAotICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94
OwotICAgICAgICBoZWlnaHQ6IDk5cHg7CisgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAg
ICBoZWlnaHQ6IDk5cHg7CiAKLSAgICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAw
LCAwLjIpOwotICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOworICAgIGJvcmRlci1ib3R0
b206IDJweCBzb2xpZCAjYjdiOGI5OworfQogCi0gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsK
LSAgICAgICAgcGFkZGluZy10b3A6IDI4cHg7CitAbWVkaWEgb25seSBzY3JlZW4gYW5kICh3aWR0
aDogNzIwcHgpIGFuZCAoaGVpZ2h0OiA3MjBweCkgeworICAgIC5wb3B1cC1jb250ZW50IHsKKyAg
ICAgICAgbWF4LWhlaWdodDogNDU1cHg7IC8qIDUgcm93cyBvZiA5MXB4IGVhY2ggKi8KICAgICB9
CiAKLSAgICAub3B0aW9uOmxhc3QtY2hpbGQsCi0gICAgLm9wdGdyb3VwOmxhc3QtY2hpbGQgewot
ICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7CisgICAgLm9wdGlvbiB7CisgICAgICAg
IGhlaWdodDogOTFweDsKICAgICB9Cit9CiAKLSAgICAgICAgLnNlbGVjdGVkIHsKLSAgICAgICAg
ICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBL
R2dvQUFBQU5TVWhFVWdBQUFDUUFBQUFmQ0FZQUFBQ1B2Vy8yQUFBQUdYUkZXSFJUYjJaMGQyRnla
UUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUEyWnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpT
NTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJW
b2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2
WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU1DMWpN
RFl3SURZeExqRXpORGMzTnl3Z01qQXhNQzh3TWk4eE1pMHhOem96TWpvd01DQWdJQ0FnSUNBZ0lq
NGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1Rr
NUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5
WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpi
MjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdllt
VXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhB
OUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rOXlhV2Rw
Ym1Gc1JHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEb3dPVGd3TVRFM05EQTNNakEyT0RFeE9FUkNR
a1UzUWpaRVJURkNOelZHTnlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvNFFq
bERPRVpFUmpSRk9FVXhNVVV4UVRWQ05FRTVOelV5TTBGRlJqQTVPU0lnZUcxd1RVMDZTVzV6ZEdG
dVkyVkpSRDBpZUcxd0xtbHBaRG80UWpsRE9FWkVSVFJGT0VVeE1VVXhRVFZDTkVFNU56VXlNMEZG
UmpBNU9TSWdlRzF3T2tOeVpXRjBiM0pVYjI5c1BTSkJaRzlpWlNCUWFHOTBiM05vYjNBZ1ExTTFJ
RTFoWTJsdWRHOXphQ0krSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlX
NWpaVWxFUFNKNGJYQXVhV2xrT2tVelFVWkZSa1F3TkRNeU1EWTRNVEU1TkRVM1JEWXlRVE5DUlRG
RlJEVTJJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakE1T0RBeE1UYzBNRGN5
TURZNE1URTRSRUpDUlRkQ05rUkZNVUkzTlVZM0lpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQ
aUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlq
OCtFaTFydEFBQUF4bEpSRUZVZU5yRWw4OXJHa0VVeDFkWFRXSVNQYWp4UnpRaEdrRUNJZWRDRHZi
UWc5QmJhUTZCUUs4cDlBOUlEaTJsMkQ4aEo5RW8va2hNY21qVkhKSkxvWWNXb2ZhU1hwSkR5YWxK
aElJVWtZSS8rbjFEVnlMdXJESFJkZUhoekRneisrSDczcng1cS9INy9jSW9uL1B6ODQ2K1pvUkFO
dGdqMkcvWUY0QTFhRkRiYXJXRUVkaTZScU81TUJnTUgvUjYvV2YwdjBNWUJ3SHBScURNaS9IeDhZ
alpiQllCeFFicTlmcHlwVktKb1BsVVI4UnF3a3hNVERBWTZranZGa1ZSbUpxYUNxbXRFRlBHWkRL
SmNpSVlqY1lhQTFKSklhWU1ENGFlbFpXVkV4YlVhc0x3Sml3c0xKVEM0ZkI3TlJUYUlEY2hQc1Jt
czhtRmlVUWlXNEQrTm13Z2dvbE5UMDl6M1VRdzBXaVVZRTRweG9jWjFCdGpZMk05WVdLeFdBZk1z
QlJpTUVwdThucTlwZDNkM1M2WVlXVHFEV1JmQnNPYlE4ckU0M0VHTXo4LzM2V0dkaGh1NGswZ1pS
S0pCQmRHem1WTHNHVllFZmF6WDVqSnlVbEZOMGt3YzNOejNEaVJYRVlTcDdSYTdROUl2b2ZmQy9U
Zjl1TW1nbEZ5VXpLWlpEQWVqNmQxK3o5WmhRRHdDcWw3SFJ0TDQyS3RWbnNOb3hMaFpTOWxzSmFy
ak0vbks2VlNLUWJqZHJ0N25pQUdaTEZZbnVIRzdTQkdEaEZ3RzI5V3ExV0JBN1V1d2ZCT0tzR2sw
MmtHTXpzN2U2Zmp6SUxhWnJQVjVmN0VDd1c0WWhQTkhSbVlCTG1KdHpIQlpES1p2bURhTVJRTUJq
K1M1SEtHQWtyQXBwdVl0eU1WVnhoTFlFemtyYUdZa1dCY0xsZExLUVpsRmRyZTN0NExoVUpaM2lL
S0xZTEMxQk9Da2R3a1ozU2E5dmYzMnpEOTVnNFdRMDZuOHhlZWQ5UStQajVlazV0SVVBaitKenFk
VGxDS21XdzJ5MkN3NTcydWdIWWVjamdjWjFkWFZ3eXFVQ2pJUWdGSTRKMm14Y1hGTmd6MnV2ZDkx
SkVZN1hiNzJmWDF0U0lVRCtiZzRHQUxyanpGSGcrNkhMdHVld21LMm5lQklwakR3OE9Cd0hETGo5
dFErWHgrVFMwWXhmSmpabWJtN09ibWhybFBEb3Bnam82T0dBem1EcXlHVVN6UUpDaWNySG91bDN2
ZWFEVDBOQjRJQklvb0lkNE1Hb1o5U2x1dDFwNlR5dVh5MHVYbDVlTmlzZWpDY2E2dXJxNSt4ZkFu
WlBqbVF3R3dkLzlBL3hmU3pXdUMvUVhJbjBFcDBnV2s4cGRyeitlZkFBTUFtWWE5Rm1BRDlsVUFB
QUFBU1VWT1JLNUNZSUk9IiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJr
aXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZhZmFmYSAwJSwgI2RkZGRkZCAxMDAlKTsKLSAgICAg
ICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDIwcHgsIDAlIDAlOyAvKiBUT0RPOiBS
VEwgKi8KLSAgICAgICAgICAgIC8qIEZJWE1FOiB0aGUgYWJvdmUgc2hvdWxkIHB1dCB0aGUgY2hl
Y2ttYXJrIDIwcHggZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGJveCwgYnV0IHdlYmtpdCBpc24ndCBz
dXBwb3J0aW5nIHRoYXQgcGFydCBvZiBDU1MzIHlldC4gU28gZmFrZSBpdCAqLwotICAgICAgICAg
ICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTclIDUwJSwgMCUgMCU7Ci0gICAgICAgICAgICBiYWNr
Z3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwotICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTZw
eDsgLyogdGhpcyBnZXRzIHRoZSBvdmVyZmxvdyBhbmQgZmFkZSB0byB3b3JrLiAzNnB4IGZvciB0
aGUgaW1hZ2UsIGFib3V0IDIwcHggZm9yIHRoZSByaWdodCBwYWRkaW5nICovCi0gICAgICAgIH0K
Ky5jb250ZW50cyB7CisgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CisgICAgLXdlYmtpdC1ib3gt
b3JpZW50OiBob3Jpem9udGFsOworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CisgICAg
Ym94LXNpemluZzogYm9yZGVyLWJveDsKK30KIAotICAgIC5vcHRncm91cCB7Ci0gICAgICAgIC8q
IG5lZWQgdG8gZG8gc29tZXRoaW5nIHdpdGggdGhpcyAqLwotICAgICAgICBwYWRkaW5nLWxlZnQ6
IDIycHg7Ci0gICAgfQorLm9wdGlvbjphY3RpdmUgeworICAgIC13ZWJraXQtdHJhbnNpdGlvbjog
YmFja2dyb3VuZCAwLjFzOworICAgIGJhY2tncm91bmQtY29sb3I6ICM2NmNjZmY7Cit9CiAKLSAg
ICAgICAgLm9wdGdyb3VwIC5vcHRpb24gewotICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6
IDA7IC8qIFRPRE86IFJUTCAqLwotICAgICAgICB9Cisuc2VsZWN0ZWQgeworICAgIGNvbG9yOiAj
MjYyNjI2OworfQorCisuc2VsZWN0ZWQgLmNvbnRlbnRzOjphZnRlciB7CisgICAgY29udGVudDog
Jyc7CisgICAgZGlzcGxheTogYmxvY2s7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRh
OmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNRQUFBQWZDQVlBQUFD
UHZXLzJBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFB
QTJacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBi
ajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9u
aHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtG
a2IySmxJRmhOVUNCRGIzSmxJRFV1TUMxak1EWXdJRFl4TGpFek5EYzNOeXdnTWpBeE1DOHdNaTh4
TWkweE56b3pNam93TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9k
SFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5Naklq
NGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUw
OUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4w
VW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpi
M1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVH
RndMekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRv
d09UZ3dNVEUzTkRBM01qQTJPREV4T0VSQ1FrVTNRalpFUlRGQ056VkdOeUlnZUcxd1RVMDZSRzlq
ZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG80UWpsRE9FWkVSalJGT0VVeE1VVXhRVFZDTkVFNU56VXlN
MEZGUmpBNU9TSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzRRamxET0VaRVJU
UkZPRVV4TVVVeFFUVkNORUU1TnpVeU0wRkZSakE1T1NJZ2VHMXdPa055WldGMGIzSlViMjlzUFNK
QlpHOWlaU0JRYUc5MGIzTm9iM0FnUTFNMUlFMWhZMmx1ZEc5emFDSStJRHg0YlhCTlRUcEVaWEpw
ZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa1V6UVVaRlJrUXdO
RE15TURZNE1URTVORFUzUkRZeVFUTkNSVEZGUkRVMklpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBT
SjRiWEF1Wkdsa09qQTVPREF4TVRjME1EY3lNRFk0TVRFNFJFSkNSVGRDTmtSRk1VSTNOVVkzSWk4
K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJo
UGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K0VpMXJ0QUFBQXhsSlJFRlVlTnJFbDg5ckdrRVV4
MWRYVFdJU1BhanhSelFoR2tFQ0llZENEdmJRZzlCYmFRNkJRSzhwOUE5SURpMmwyRDhoSjlFby9r
aE1jbWpWSEpKTG9ZY1dvZmFTWHBKRHlhbEpoSUlVa1lJLytuMURWeUx1ckRIUmRlSGh6RGd6KytI
NzNyeDVxL0g3L2NJb24vUHo4NDYrWm9SQU50Z2oyRy9ZRjRBMWFGRGJhcldFRWRpNlJxTzVNQmdN
SC9SNi9XZjB2ME1ZQndIcFJxRE1pL0h4OFlqWmJCWUJ4UWJxOWZweXBWS0pvUGxVUjhScXdreE1U
REFZNmtqdkZrVlJtSnFhQ3FtdEVGUEdaREtKY2lJWWpjWWFBMUpKSWFZTUQ0YWVsWldWRXhiVWFz
THdKaXdzTEpUQzRmQjdOUlRhSURjaFBzUm1zOG1GaVVRaVc0RCtObXdnZ29sTlQwOXozVVF3MFdp
VVlFNHB4b2NaMUJ0alkyTTlZV0t4V0FmTXNCUmlNRXB1OG5xOXBkM2QzUzZZWVdUcURXUmZCc09i
UThyRTQzRUdNejgvMzZXR2RoaHU0azBnWlJLSkJCZEd6bVZMc0dWWUVmYXpYNWpKeVVsRk4wa3dj
M056M0RpUlhFWVNwN1JhN1E5SXZvZmZDL1RmOXVNbWdsRnlVektaWkRBZWo2ZDErejlaaFFEd0Nx
bDdIUnRMNDJLdFZuc05veExoWlM5bHNKYXJqTS9uSzZWU0tRYmpkcnQ3bmlBR1pMRlludUhHN1NC
R0RoRndHMjlXcTFXQkE3VXV3ZkJPS3NHazAya0dNenM3ZTZmanpJTGFaclBWNWY3RUN3VzRZaFBO
SFJtWUJMbUp0ekhCWkRLWnZtRGFNUlFNQmorUzVIS0dBa3JBcHB1WXR5TVZWeGhMWUV6a3JhR1lr
V0JjTGxkTEtRWmxGZHJlM3Q0TGhVSlozaUtLTFlMQzFCT0NrZHdrWjNTYTl2ZjMyekQ5NWc0V1Ew
Nm44eGVlZDlRK1BqNWVrNXRJVUFqK0p6cWRUbENLbVd3MnkyQ3c1NzJ1Z0hZZWNqZ2NaMWRYVnd5
cVVDaklRZ0ZJNEoybXhjWEZOZ3oydXZkOTFKRVk3WGI3MmZYMXRTSVVEK2JnNEdBTHJqekZIZys2
SEx0dWV3bUsybmVCSXBqRHc4T0J3SERMajl0UStYeCtUUzBZeGZKalptYm03T2JtaHJsUERvcGdq
bzZPR0F6bURxeUdVU3pRSkNpY3JIb3VsM3ZlYURUME5CNElCSW9vSWQ0TUdvWjlTbHV0MXA2VHl1
WHkwdVhsNWVOaXNlakNjYTZ1cnE1K3hmQW5aUGptUXdHd2QvOUEveGZTeld1Qy9RWEluMEVwMGdX
azhwZHJ6K2VmQUFNQW1ZYTlGbUFEOWxVQUFBQUFTVVZPUks1Q1lJST0nKTsKKyAgICBiYWNrZ3Jv
dW5kLXJlcGVhdDogbm8tcmVwZWF0OworICAgIHdpZHRoOiAzNnB4OworICAgIGhlaWdodDogMzFw
eDsKKyAgICBtYXJnaW46IDAgMjBweDsKK30KKworLnRleHQgeworICAgIGhlaWdodDogOTlweDsK
KyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIHBhZGRpbmc6IDAgMjBweDsKKyAgICBkaXNwbGF5
OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOworICAgIC13
ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKKyAgICAtd2Via2l0LWJveC1mbGV4OiAxOworfQorCisu
ZGlzYWJsZWQgeworICAgIGNvbG9yOiAjYjBiMGIwOworfQorCisub3B0Z3JvdXAgeworICAgIGZv
bnQtd2VpZ2h0OiBib2xkOworfQorCisub3B0Z3JvdXAtb3B0aW9uIHsKKyAgICAtd2Via2l0LXBh
ZGRpbmctc3RhcnQ6IDYwcHg7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJj
ZXMvYmxhY2tiZXJyeS9zZWxlY3RDb250cm9sQmxhY2tCZXJyeS5qcyBiL1NvdXJjZS9XZWJDb3Jl
L1Jlc291cmNlcy9ibGFja2JlcnJ5L3NlbGVjdENvbnRyb2xCbGFja0JlcnJ5LmpzCmluZGV4IDlk
ODY4YTkuLmI2NGZmMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9ibGFj
a2JlcnJ5L3NlbGVjdENvbnRyb2xCbGFja0JlcnJ5LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Jl
c291cmNlcy9ibGFja2JlcnJ5L3NlbGVjdENvbnRyb2xCbGFja0JlcnJ5LmpzCkBAIC03LDggKzcs
OCBAQAogKGZ1bmN0aW9uICgpewogCiAgICAgdmFyIHNlbGVjdE9wdGlvbiA9IGZ1bmN0aW9uIChl
dmVudCkgewotICAgICAgICBmb3IgKHZhciBvcHRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnc2VsZWN0LWFyZWEnKS5maXJzdENoaWxkOyBvcHRpb247IG9wdGlvbiA9IG9wdGlvbi5uZXh0
U2libGluZykgewotICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gZXZlbnQudGFyZ2V0KSB7Cisg
ICAgICAgIGZvciAodmFyIG9wdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwb3B1cC1j
b250ZW50JykuZmlyc3RDaGlsZDsgb3B0aW9uOyBvcHRpb24gPSBvcHRpb24ubmV4dFNpYmxpbmcp
IHsKKyAgICAgICAgICAgIGlmIChvcHRpb24gPT09IHRoaXMpIHsKICAgICAgICAgICAgICAgICBp
ZiAob3B0aW9uLmNsYXNzTmFtZS5pbmRleE9mKCdzZWxlY3RlZCcpID09PSAtMSkgewogICAgICAg
ICAgICAgICAgICAgICBvcHRpb24uY2xhc3NOYW1lICs9ICcgc2VsZWN0ZWQnOwogICAgICAgICAg
ICAgICAgIH0KQEAgLTIwLDcxICsyMCwxNDkgQEAKICAgICB9OwogCiAgICAgdmFyIHRvZ2dsZU9w
dGlvbiA9IGZ1bmN0aW9uIChldmVudCkgewotICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LmNsYXNz
TmFtZS5pbmRleE9mKCdzZWxlY3RlZCcpID09PSAtMSkgewotICAgICAgICAgICAgZXZlbnQudGFy
Z2V0LmNsYXNzTmFtZSArPSAnIHNlbGVjdGVkJzsKKyAgICAgICAgaWYgKHRoaXMuY2xhc3NOYW1l
LmluZGV4T2YoJ3NlbGVjdGVkJykgPT09IC0xKSB7CisgICAgICAgICAgICB0aGlzLmNsYXNzTmFt
ZSArPSAnIHNlbGVjdGVkJzsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGV2ZW50LnRh
cmdldC5jbGFzc05hbWUgPSBldmVudC50YXJnZXQuY2xhc3NOYW1lLnJlcGxhY2UoJ3NlbGVjdGVk
JywgJycpOworICAgICAgICAgICAgdGhpcy5jbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZS5yZXBs
YWNlKCdzZWxlY3RlZCcsICcnKTsKICAgICAgICAgfQogICAgIH07CiAKICAgICB2YXIgZG9uZSA9
IGZ1bmN0aW9uICgpIHsKICAgICAgICAgdmFyIHJlc3VsdCA9ICcnOwotICAgICAgICBmb3IgKHZh
ciBvcHRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VsZWN0LWFyZWEnKS5maXJzdENo
aWxkOyBvcHRpb247IG9wdGlvbiA9IG9wdGlvbi5uZXh0U2libGluZykgeworICAgICAgICBmb3Ig
KHZhciBvcHRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9wdXAtY29udGVudCcpLmZp
cnN0Q2hpbGQ7IG9wdGlvbjsgb3B0aW9uID0gb3B0aW9uLm5leHRTaWJsaW5nKSB7CiAgICAgICAg
ICAgICBpZiAob3B0aW9uLmNsYXNzTmFtZS5pbmRleE9mKCdzZWxlY3RlZCcpID09PSAtMSkgewog
ICAgICAgICAgICAgICAgIHJlc3VsdCArPSAnMCc7CiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIHJlc3VsdCArPSAnMSc7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAg
ICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnJzsKICAgICAgICAgd2luZG93LnNldFZh
bHVlQW5kQ2xvc2VQb3B1cChyZXN1bHQsIHdpbmRvdy5wb3BVcCk7CiAgICAgfTsKIAotICAgIC8q
IG11bHRpcGxlIC0gYSBib29sZWFuCisgICAgdmFyIGNhbmNlbCA9IGZ1bmN0aW9uICgpIHsKKyAg
ICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnJzsKKyAgICAgICAgd2luZG93LnNldFZh
bHVlQW5kQ2xvc2VQb3B1cCgnLTEnLCB3aW5kb3cucG9wVXApOworICAgIH07CisKKyAgICAvKiBw
aWNrZXJQYXJhbXMgaXMgYW4gb2JqZWN0IGxpdGVyYWwgd2l0aCB0aGUgZm9sbG93aW5nIHByb3Bl
cnRpZXM6CisgICAgICoKKyAgICAgKiBpc011bHRpU2VsZWN0IC0gYSBib29sZWFuCiAgICAgICog
bGFiZWxzIC0gYW4gYXJyYXkgb2Ygc3RyaW5ncwogICAgICAqIGVuYWJsZWRzIC0gYW4gYXJyYXkg
b2YgYm9vbGVhbnMuCiAgICAgICogICAtSSB3aWxsIGFzc3VtZSB0aGF0IHRoZSBIVE1MICJkaXNh
YmxlZCBvcHRncm91cHMgZGlzYWJsZSBhbGwgb3B0aW9ucyBpbiB0aGUgb3B0Z3JvdXAiIGhhc24n
dCBiZWVuIGFwcGxpZWQsCiAgICAgICogICAgc28gaWYgdGhlIGluZGV4IGNvcnJlc3BvbmRzIHRv
IGFuIG9wdGdyb3VwLCBJIHdpbGwgcmVuZGVyIGFsbCBvZiBpdHMgb3B0aW9ucyBhcyBkaXNhYmxl
ZAotICAgICAqIGl0ZW1UeXBlcyAtIGFuIGFycmF5IG9mIGludGVnZXJzLCAwID09PSBvcHRpb24s
IDEgPT09IG9wdGdyb3VwLCAyID09PSBvcHRpb24gaW4gb3B0Z3JvdXAKKyAgICAgKiBpdGVtVHlw
ZXMgLSBhbiBhcnJheSBvZiBpbnRlZ2VycywgMCA9PT0gc2VwYXJhdG9yLCAxID09PSBvcHRncm91
cCwgMiA9PT0gb3B0aW9uLCAzID09PSBvcHRpb24gaW4gb3B0Z3JvdXAKICAgICAgKiBzZWxlY3Rl
ZHMgLSBhbiBhcnJheSBvZiBib29sZWFucwotICAgICAqIGJ1dHRvblRleHQgLSBhIHN0cmluZyB0
byB1c2UgZm9yIHRoZSBidXR0b24gcHJlc2VudGVkIHdoZW4gbXVsdGlwbGUgaXMgdHJ1ZS4gTGlr
ZSAiT0siIG9yICJEb25lIiBvciBzb21ldGhpbmcuCisgICAgICogdWlUZXh0IC0gbG9jYWxpemVk
IHRleHQgdG8gZGlzcGxheSB0byB1c2VyCisgICAgICogZGlyZWN0aW9uIC0gbGF5b3V0IGRpcmVj
dGlvbiB0byB1c2UsICdsdHInIG9yICdydGwnCiAgICAgICovCi0gICAgdmFyIHNob3cgPSBmdW5j
dGlvbiAobXVsdGlwbGUsIGxhYmVscywgZW5hYmxlZHMsIGl0ZW1UeXBlcywgc2VsZWN0ZWRzLCBi
dXR0b25UZXh0KSB7CisgICAgdmFyIHNob3cgPSBmdW5jdGlvbiAocGlja2VyUGFyYW1zKSB7CiAg
ICAgICAgIHZhciBpLAotICAgICAgICAgICAgc2l6ZSA9IGxhYmVscy5sZW5ndGgsCisgICAgICAg
ICAgICBzaXplID0gcGlja2VyUGFyYW1zLmxhYmVscy5sZW5ndGgsCiAgICAgICAgICAgICBwb3B1
cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLAotICAgICAgICAgICAgc2VsZWN0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICBoZWFkZXIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSwKKyAgICAgICAgICAgIHNlbGVjdCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLAorICAgICAgICAgICAgdG9wU2VsZWN0ZWQ7CiAKICAgICAg
ICAgcG9wdXAuY2xhc3NOYW1lID0gJ3BvcHVwLWFyZWEnOwotICAgICAgICBzZWxlY3QuY2xhc3NO
YW1lID0gJ3NlbGVjdC1hcmVhJzsKLSAgICAgICAgc2VsZWN0LmlkID0gJ3NlbGVjdC1hcmVhJzsK
KyAgICAgICAgcG9wdXAuZGlyID0gcGlja2VyUGFyYW1zLmRpcmVjdGlvbjsKKyAgICAgICAgc2Vs
ZWN0LmNsYXNzTmFtZSA9IHNlbGVjdC5pZCA9ICdwb3B1cC1jb250ZW50JzsKKyAgICAgICAgaGVh
ZGVyLmNsYXNzTmFtZSA9ICdwb3B1cC1oZWFkZXInOworICAgICAgICBoZWFkZXIuaW5uZXJUZXh0
ID0gcGlja2VyUGFyYW1zLnVpVGV4dC50aXRsZTsKKyAgICAgICAgcG9wdXAuYXBwZW5kQ2hpbGQo
aGVhZGVyKTsKICAgICAgICAgcG9wdXAuYXBwZW5kQ2hpbGQoc2VsZWN0KTsKIAogICAgICAgICBm
b3IgKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7Ci0gICAgICAgICAgICAvLyBUT0RPOiBoYW5kbGUg
aXRlbVR5cGVzCiAgICAgICAgICAgICB2YXIgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7Ci0gICAgICAgICAgICBvcHRpb24uY2xhc3NOYW1lID0gJ29wdGlvbicgKyAoZW5h
YmxlZHNbaV0gPyAnJyA6ICcgZGlzYWJsZWQnKSArIChzZWxlY3RlZHNbaV0gPyAnIHNlbGVjdGVk
JyA6ICcnKTsKLSAgICAgICAgICAgIG9wdGlvbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShsYWJlbHNbaV0pKTsKLSAgICAgICAgICAgIGlmICghbXVsdGlwbGUpIHsKLSAgICAg
ICAgICAgICAgICBvcHRpb24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBzZWxlY3RPcHRpb24p
OwotICAgICAgICAgICAgfSBlbHNlIGlmIChlbmFibGVkc1tpXSkgewotICAgICAgICAgICAgICAg
IG9wdGlvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRvZ2dsZU9wdGlvbik7CisgICAgICAg
ICAgICBvcHRpb24uY2xhc3NMaXN0LmFkZCgnb3B0aW9uJyk7CisKKyAgICAgICAgICAgIGlmICgh
cGlja2VyUGFyYW1zLmVuYWJsZWRzW2ldKSB7CisgICAgICAgICAgICAgICAgb3B0aW9uLmNsYXNz
TGlzdC5hZGQoJ2Rpc2FibGVkJyk7CisgICAgICAgICAgICAgICAgaWYgKHBpY2tlclBhcmFtcy5p
dGVtVHlwZXNbaV0gPT09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogZGlzYWJs
ZWQgb3B0Z3JvdXAKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBpZiAocGlja2VyUGFyYW1zLnNlbGVjdGVkc1tpXSkgeworICAgICAgICAgICAgICAgIG9wdGlv
bi5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpOworICAgICAgICAgICAgICAgIGlmICghdG9wU2Vs
ZWN0ZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgdG9wU2VsZWN0ZWQgPSBvcHRpb247CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgc3dpdGNoKHBpY2tlclBh
cmFtcy5pdGVtVHlwZXNbaV0pIHsKKyAgICAgICAgICAgIGNhc2UgMToKKyAgICAgICAgICAgICAg
ICBvcHRpb24uY2xhc3NMaXN0LmFkZCgnb3B0Z3JvdXAnKTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIGNhc2UgMzoKKyAgICAgICAgICAgICAgICBvcHRpb24uY2xhc3NMaXN0
LmFkZCgnb3B0Z3JvdXAtb3B0aW9uJyk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICB2YXIgY29udGVudHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKKyAgICAgICAgICAgIGNvbnRlbnRzLmNsYXNzTGlzdC5hZGQoJ2NvbnRlbnRzJyk7
CisgICAgICAgICAgICB2YXIgdGV4dENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOworICAgICAgICAgICAgdGV4dENvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCd0ZXh0Jyk7
CisgICAgICAgICAgICAvLyB3cmFwIGxhYmVsIGluIDxiZGk+IGFuZCBkb24ndCBzZXQgYW55IGRp
ciBhdHRyaWJ1dGUgb24gaXQsCisgICAgICAgICAgICAvLyBzbyB0aGF0IGl0cyBkaXJlY3Rpb25h
bGl0eSB3aWxsIGJlIGRldGVybWluZWQgaGV1cmlzdGljYWxseSBhbmQgaXNvbGF0ZWQgZnJvbSB0
aGUgcmVzdCBvZiB0aGUgRE9NCisgICAgICAgICAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2JkaScpOworICAgICAgICAgICAgdGV4dC5pbm5lclRleHQgPSBwaWNrZXJQYXJh
bXMubGFiZWxzW2ldOworICAgICAgICAgICAgdGV4dENvbnRhaW5lci5hcHBlbmRDaGlsZCh0ZXh0
KTsKKyAgICAgICAgICAgIGNvbnRlbnRzLmFwcGVuZENoaWxkKHRleHRDb250YWluZXIpOworICAg
ICAgICAgICAgb3B0aW9uLmFwcGVuZENoaWxkKGNvbnRlbnRzKTsKKworICAgICAgICAgICAgaWYg
KCFvcHRpb24uY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpICYmICFvcHRpb24uY2xhc3NM
aXN0LmNvbnRhaW5zKCdvcHRncm91cCcpKSB7CisgICAgICAgICAgICAgICAgaWYgKCFwaWNrZXJQ
YXJhbXMuaXNNdWx0aVNlbGVjdCkgeworICAgICAgICAgICAgICAgICAgICBvcHRpb24uYWRkRXZl
bnRMaXN0ZW5lcignY2xpY2snLCBzZWxlY3RPcHRpb24pOworICAgICAgICAgICAgICAgIH0gZWxz
ZSBpZiAocGlja2VyUGFyYW1zLmVuYWJsZWRzW2ldKSB7CisgICAgICAgICAgICAgICAgICAgIG9w
dGlvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRvZ2dsZU9wdGlvbik7CisgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBzZWxlY3QuYXBwZW5kQ2hpbGQo
b3B0aW9uKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChtdWx0aXBsZSkgewotICAgICAgICAg
ICAgdmFyIG9rQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyksCi0gICAg
ICAgICAgICAgICAgYnV0dG9ucyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAg
ICAgICAgICAgYnV0dG9ucy5jbGFzc05hbWUgPSAncG9wdXAtYnV0dG9ucyc7CisgICAgICAgIHZh
ciBjYW5jZWxCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSwKKyAgICAg
ICAgICAgIGJ1dHRvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAg
YnV0dG9ucy5jbGFzc05hbWUgPSAncG9wdXAtYnV0dG9ucyc7CisgICAgICAgIGNhbmNlbEJ1dHRv
bi5jbGFzc05hbWUgPSAncG9wdXAtYnV0dG9uJzsKKyAgICAgICAgY2FuY2VsQnV0dG9uLmFkZEV2
ZW50TGlzdGVuZXIoJ2NsaWNrJywgY2FuY2VsKTsKKyAgICAgICAgY2FuY2VsQnV0dG9uLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHBpY2tlclBhcmFtcy51aVRleHQuY2FuY2Vs
QnV0dG9uTGFiZWwpKTsKKyAgICAgICAgYnV0dG9ucy5hcHBlbmRDaGlsZChjYW5jZWxCdXR0b24p
OworICAgICAgICBpZiAocGlja2VyUGFyYW1zLmlzTXVsdGlTZWxlY3QpIHsKKyAgICAgICAgICAg
IHZhciBva0J1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgICAg
ICAgICAgb2tCdXR0b24uY2xhc3NOYW1lID0gJ3BvcHVwLWJ1dHRvbic7CiAgICAgICAgICAgICBv
a0J1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGRvbmUpOwotICAgICAgICAgICAgb2tC
dXR0b24uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYnV0dG9uVGV4dCkpOwor
ICAgICAgICAgICAgb2tCdXR0b24uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo
cGlja2VyUGFyYW1zLnVpVGV4dC5kb25lQnV0dG9uTGFiZWwpKTsKICAgICAgICAgICAgIGJ1dHRv
bnMuYXBwZW5kQ2hpbGQob2tCdXR0b24pOwotICAgICAgICAgICAgcG9wdXAuYXBwZW5kQ2hpbGQo
YnV0dG9ucyk7CiAgICAgICAgIH0KLQorICAgICAgICBwb3B1cC5hcHBlbmRDaGlsZChidXR0b25z
KTsKICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwb3B1cCk7CisgICAgICAgIGlm
ICh0b3BTZWxlY3RlZCkgeworICAgICAgICAgICAgdG9wU2VsZWN0ZWQuc2Nyb2xsSW50b1ZpZXco
dHJ1ZSk7CisgICAgICAgICAgICBpZiAodG9wU2VsZWN0ZWQubmV4dFNpYmxpbmcpIHsgLy8gVW5s
ZXNzIHRoZSBzZWxlY3RlZCBlbGVtZW50IGlzIHRoZSBsYXN0IG9uZSBpbiB0aGUgbGlzdC4uLgor
ICAgICAgICAgICAgICAgIC8vIC4uLnNjcm9sbCB0aGUgc2VsZWN0ZWQgZWxlbWVudCBmdXJ0aGVy
IGRvd24gYSBiaXQgdG8gc2hvdyB0aGF0IHdlJ3JlIG5vdCBhdCB0aGUgdG9wIG9mIHRoZSBsaXN0
CisgICAgICAgICAgICAgICAgc2VsZWN0LnNjcm9sbFRvcCAtPSA1MDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorCisgICAgICAgIHZhciBfa2V5dXBUaW1lb3V0LAorICAgICAgICAgICAgX3Nl
YXJjaFRleHQgPSAnJywKKyAgICAgICAgICAgIGNsZWFyU2VhcmNoID0gZnVuY3Rpb24gKCkgeyBf
c2VhcmNoVGV4dCA9ICcnOyB9OworICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdr
ZXl1cCcsIGZ1bmN0aW9uIChldnQpIHsKKyAgICAgICAgICAgIF9zZWFyY2hUZXh0ICs9IFN0cmlu
Zy5mcm9tQ2hhckNvZGUoZXZ0LmtleUNvZGUpOworICAgICAgICAgICAgd2luZG93LmNsZWFyVGlt
ZW91dChfa2V5dXBUaW1lb3V0KTsKKyAgICAgICAgICAgIF9rZXl1cFRpbWVvdXQgPSB3aW5kb3cu
c2V0VGltZW91dChjbGVhclNlYXJjaCwgMTAwMCk7IC8vIFJlc2V0IHNlYXJjaCBzdHJpbmcgaWYg
dGhlcmUgaXMgbm8uLi4KKyAgICAgICAgICAgIC8vIC4uLmlucHV0IHdpdGhpbiAxIHNlY29uZC4g
MSBzZWNvbmQgaXMgc3VmZmljaWVudCBmb3Igb25lIGhhbmQgaW5wdXQgZm9yIG1vc3QgY2FzZXMg
ZnJvbSBteQorICAgICAgICAgICAgLy8gZXhwZXJpbWVudHMuIExldCB1cyBzZXQgdGhlIHRpbWUg
Zm9yIG5vdywgYW5kIGNoYW5nZSBsYXRlciBpZiBzb21lb25lIGhhcyBhIGJldHRlciBpZGVhLgor
CisgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGRvY3VtZW50LmdldEVsZW1l
bnRzQnlDbGFzc05hbWUoJ3RleHQnKSwKKyAgICAgICAgICAgIGZ1bmN0aW9uICh0ZXh0RGl2KSB7
CisgICAgICAgICAgICAgICAgaWYgKHRleHREaXYuaW5uZXJUZXh0LnRvTG93ZXJDYXNlKCkuaW5k
ZXhPZihfc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKSA9PT0gMCkgeworICAgICAgICAgICAgICAg
ICAgICB0ZXh0RGl2LnNjcm9sbEludG9WaWV3KHRydWUpOworICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICB9KTsKICAgICB9OwogCiAgICAgd2lu
ZG93LnNlbGVjdCA9IHdpbmRvdy5zZWxlY3QgfHwge307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS90aW1lQ29udHJvbEJsYWNrQmVycnkuY3NzIGIvU291
cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvdGltZUNvbnRyb2xCbGFja0JlcnJ5LmNz
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDBiOGRmCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvdGltZUNvbnRyb2xC
bGFja0JlcnJ5LmNzcwpAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNl
YXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICovCisK
KyNwb3B1cC1jb250ZW50LXRpbWUgeworICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OworICAgIC13
ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg
ICAgbWF4LWhlaWdodDogNDk1cHg7IC8qIDUgcm93cyBvZiA5OXB4IGVhY2ggKi8KK30KKworLmNv
bHVtbiB7CisgICAgLXdlYmtpdC1ib3gtZmxleDogMTsKKyAgICBvdmVyZmxvdzogaGlkZGVuOwor
ICAgIC13ZWJraXQtYm9yZGVyLWVuZDogMnB4IHNvbGlkICNiN2I4Yjk7Cit9CisKKy5jb2x1bW46
bm90KDpsYXN0LWNoaWxkKSB7CisgICAgYm9yZGVyOiAwOworfQorCisuY2VsbCB7CisgICAgaGVp
Z2h0OiA5OXB4OworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgICBkaXNwbGF5OiAtd2Via2l0
LWJveDsKKyAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOworICAgIC13ZWJraXQtYm94
LXBhY2s6IGNlbnRlcjsKK30KKworLnllYXJtb250aGRhdGUgLmNlbGwgZGl2Omxhc3QtY2hpbGQg
eworICAgIGZvbnQtc2l6ZTogMC41ZW07CisgICAgY29sb3I6ICM1NTU1NTU7Cit9CisKKy5yb3ct
aGlnaGxpZ2h0LWNvbnRhaW5lciB7CisgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CisgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICByaWdodDogMDsKKyAgICBib3R0b206
IDA7CisgICAgbGVmdDogMDsKKworICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OworICAgIC13ZWJr
aXQtYm94LW9yaWVudDogdmVydGljYWw7CisgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwor
fQorCisucm93LWhpZ2hsaWdodC1maWxsZXIgeworICAgIC13ZWJraXQtYm94LWZsZXg6IDE7Cisg
ICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOworfQorCisucm93LWhpZ2hsaWdodCB7
CisgICAgaGVpZ2h0OiA5OXB4OworICAgIGJvcmRlci13aWR0aDogNHB4IDA7CisgICAgYm9yZGVy
LWNvbG9yOiAjMDBhOGRmOworICAgIGJvcmRlci1zdHlsZTogc29saWQ7Cit9CisKKy50YWxsLWJp
dCB7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKK30KKworQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAo
d2lkdGg6IDcyMHB4KSBhbmQgKGhlaWdodDogNzIwcHgpIHsKKyAgICAjcG9wdXAtY29udGVudC10
aW1lIHsKKyAgICAgICAgbWF4LWhlaWdodDogNDU1cHg7IC8qIDUgcm93cyBvZiA5MXB4IGVhY2gg
Ki8KKyAgICB9CisKKyAgICAuY2VsbCB7CisgICAgICAgIGhlaWdodDogOTFweDsKKyAgICB9CisK
KyAgICAucm93LWhpZ2hsaWdodCB7CisgICAgICAgIGhlaWdodDogOTFweDsKKyAgICB9Cit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS90aW1lQ29udHJv
bEJsYWNrQmVycnkuanMgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS90aW1l
Q29udHJvbEJsYWNrQmVycnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZDAwMzM2NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9ibGFj
a2JlcnJ5L3RpbWVDb250cm9sQmxhY2tCZXJyeS5qcwpAQCAtMCwwICsxLDQwMSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQsIDIwMTIuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKi8KKyhmdW5jdGlvbiAoKXsKK3ZhciBfdHlwZSwKKyAgICBfY3VycmVu
dERhdGUsCisgICAgX3R6SG91cnMsCisgICAgX3R6TWludXRlcywKKyAgICBfdHpPZmZzZXQgPSAw
LAorICAgIF9taW4sCisgICAgX21heCwKKyAgICBfc3RlcCwKKyAgICBfc2hvcnRNb250aExhYmVs
cywKKyAgICBfbG9uZ01vbnRoTGFiZWxzLAorICAgIF9kYXlzT2ZXZWVrTGFiZWxzLAorICAgIF9h
bVBtTGFiZWxzLAorICAgIF9iYXNlT2Zmc2V0LAorICAgIF9kcmFnZ2luZyA9IGZhbHNlLAorICAg
IF9maXJzdFkgPSAwLAorICAgIF9zY3JvbGxMaXN0ZW5lciwKKyAgICBfZW5kU2Nyb2xsTGlzdGVu
ZXI7CisKK3ZhciBJVEVNX0hFSUdIVCA9IChzY3JlZW4ud2lkdGggPT09IDcyMCAmJiBzY3JlZW4u
aGVpZ2h0ID09PSA3MjApID8gOTEgOiA5OTsgLy8gaW4gcHgsIG5vIGJvcmRlcgorCit2YXIgVElN
RSA9ICdUaW1lJywKKyAgICBEQVRFX1RJTUUgPSAnRGF0ZVRpbWUnLAorICAgIERBVEVfVElNRV9M
T0NBTCA9ICdEYXRlVGltZUxvY2FsJywKKyAgICBEQVRFID0gJ0RhdGUnLAorICAgIE1PTlRIID0g
J01vbnRoJzsKKwordmFyIEhPVVJTID0gJ0hvdXJzJywKKyAgICBNSU5VVEVTID0gJ01pbnV0ZXMn
LAorICAgIFlFQVJNT05USERBVEUgPSAnWWVhck1vbnRoRGF0ZScsCisgICAgWUVBUiA9ICdZZWFy
JzsKKwordmFyIENPTFVNTlMgPSB7fTsKK0NPTFVNTlNbVElNRV0gPSBbSE9VUlMsIE1JTlVURVNd
OworQ09MVU1OU1tEQVRFX1RJTUVdID0gW1lFQVJNT05USERBVEUsIEhPVVJTLCBNSU5VVEVTXTsK
K0NPTFVNTlNbREFURV9USU1FX0xPQ0FMXSA9IFtZRUFSTU9OVEhEQVRFLCBIT1VSUywgTUlOVVRF
U107CitDT0xVTU5TW0RBVEVdID0gW0RBVEUsIE1PTlRILCBZRUFSXTsKK0NPTFVNTlNbTU9OVEhd
ID0gW01PTlRILCBZRUFSXTsKKworLy8gSGFyZCBsaW1pdHMgZm9yIGludGVybmFsIHR5cGUuIFNl
ZSBXZWJDb3JlL3BsYXRmb3JtL0RhdGVDb21wb25lbnRzLmgKK3ZhciBMSU1JVF9NSU4gPSBuZXcg
RGF0ZSgtNjIxMzU1OTY4MDAwMDAuMCksCisgICAgTElNSVRfTUFYID0gbmV3IERhdGUoODY0MDAw
MDAwMDAwMDAwMC4wKTsKKworZnVuY3Rpb24gcGFyc2VGcm9tRGF0ZVN0cmluZyhzdHIpIHsKKyAg
ICB2YXIgbm93ID0gbmV3IERhdGUoKSwKKyAgICAgICAgbWF0Y2g7CisgICAgaWYgKHN0cikgewor
ICAgICAgICBzd2l0Y2ggKF90eXBlKSB7CisgICAgICAgIGNhc2UgVElNRToKKyAgICAgICAgICAg
IG1hdGNoID0gc3RyLm1hdGNoKC8oXGQrKTooXGQrKS8pOworICAgICAgICAgICAgX3R6SG91cnMg
PSBtYXRjaFsxXTsKKyAgICAgICAgICAgIF90ek1pbnV0ZXMgPSBtYXRjaFsyXTsKKyAgICAgICAg
ICAgIF9jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKG5vdy5nZXRGdWxsWWVhcigpLCBub3cuZ2V0TW9u
dGgoKSwgbm93LmdldERhdGUoKSwgX3R6SG91cnMsIF90ek1pbnV0ZXMpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgREFURToKKyAgICAgICAgICAgIG1hdGNoID0gc3RyLm1hdGNo
KC8oXGQrKS0oXGQrKS0oXGQrKS8pOworICAgICAgICAgICAgX2N1cnJlbnREYXRlID0gbmV3IERh
dGUobWF0Y2hbMV0sIG1hdGNoWzJdIC0gMSwgbWF0Y2hbM10pOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGNhc2UgTU9OVEg6CisgICAgICAgICAgICBtYXRjaCA9IHN0ci5tYXRjaCgvKFxk
KyktKFxkKykvKTsKKyAgICAgICAgICAgIF9jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKG1hdGNoWzFd
LCBtYXRjaFsyXSAtIDEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgREFURV9U
SU1FOiAvLyBmYWxsLXRocm91Z2gKKyAgICAgICAgY2FzZSBEQVRFX1RJTUVfTE9DQUw6CisgICAg
ICAgICAgICBtYXRjaCA9IHN0ci5tYXRjaCgvKFxkKyktKFxkKyktKFxkKylbVCBdKFxkKyk6KFxk
KykvKTsKKyAgICAgICAgICAgIHZhciB1dGNUaW1lID0gbmV3IERhdGUobWF0Y2hbMV0sIG1hdGNo
WzJdIC0gMSwgbWF0Y2hbM10sIG1hdGNoWzRdLCBtYXRjaFs1XSk7CisgICAgICAgICAgICBpZiAo
bWF0Y2ggPSBzdHIubWF0Y2goLyhcZCspLShcZCspLShcZCspW1QgXShcZCspOihcZCspKyhcZCsp
OihcZCspLykpIHsgLy8gcG9zaXRpdmUgdGltZXpvbmUgb2Zmc2V0CisgICAgICAgICAgICAgICAg
X3R6SG91cnMgPSBtYXRjaFs2XTsKKyAgICAgICAgICAgICAgICBfdHpNaW51dGVzID0gbWF0Y2hb
N107CisgICAgICAgICAgICAgICAgX3R6T2Zmc2V0ID0gKG1hdGNoWzZdICogNjAgKyBtYXRjaFs3
XSkgKiA2MDAwMDsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0ID0gc3RyLm1hdGNoKC8o
XGQrKS0oXGQrKS0oXGQrKVtUIF0oXGQrKTooXGQrKS0oXGQrKTooXGQrKS8pKSB7IC8vIG5lZ2F0
aXZlIHRpbWV6b25lIG9mZnNldAorICAgICAgICAgICAgICAgIF90ekhvdXJzID0gbWF0Y2hbNl07
CisgICAgICAgICAgICAgICAgX3R6TWludXRlcyA9IG1hdGNoWzddOworICAgICAgICAgICAgICAg
IF90ek9mZnNldCA9IC0obWF0Y2hbNl0gKiA2MCArIG1hdGNoWzddKSAqIDYwMDAwOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgX2N1cnJlbnREYXRlID0gbmV3IERhdGUodXRjVGltZS5nZXRU
aW1lKCkgKyBfdHpPZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9
IGVsc2UgeworICAgICAgICBzd2l0Y2ggKF90eXBlKSB7CisgICAgICAgIGNhc2UgVElNRToKKyAg
ICAgICAgY2FzZSBEQVRFX1RJTUU6CisgICAgICAgIGNhc2UgREFURV9USU1FX0xPQ0FMOgorICAg
ICAgICAgICAgX2N1cnJlbnREYXRlID0gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIG5vdy5n
ZXRNb250aCgpLCBub3cuZ2V0RGF0ZSgpLCBub3cuZ2V0SG91cnMoKSwgbm93LmdldE1pbnV0ZXMo
KSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAgICAgICAg
X2N1cnJlbnREYXRlID0gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCksIG5vdy5nZXRNb250aCgp
LCBub3cuZ2V0RGF0ZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1PTlRI
OgorICAgICAgICAgICAgX2N1cnJlbnREYXRlID0gbmV3IERhdGUobm93LmdldEZ1bGxZZWFyKCks
IG5vdy5nZXRNb250aCgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQor
fQorCitmdW5jdGlvbiBwYWRUd28odikgeyByZXR1cm4gKCcwJyArIHYpLnN1YnN0cigtMiwgMik7
IH0KK2Z1bmN0aW9uIHBhZEZvdXIodikgeyByZXR1cm4gKCcwMDAnICsgdikuc3Vic3RyKC00LCA0
KTsgfQorCitmdW5jdGlvbiBnZXRSZXN1bHRTdHJpbmcoKSB7CisgICAgc3dpdGNoKF90eXBlKSB7
CisgICAgY2FzZSBUSU1FOgorICAgICAgICByZXR1cm4gcGFkVHdvKF9jdXJyZW50RGF0ZS5nZXRI
b3VycygpKSArICc6JyArIHBhZFR3byhfY3VycmVudERhdGUuZ2V0TWludXRlcygpKTsKKyAgICBj
YXNlIERBVEVfVElNRTogLy8gZmFsbC10aHJvdWdoCisgICAgY2FzZSBEQVRFX1RJTUVfTE9DQUw6
IC8vIHdvcmtzIGJlY2F1c2UgX3R6T2Zmc2V0IGZvciBkdGxvY2FsIGlzIDAKKyAgICAgICAgdmFy
IGFkanVzdGVkRGF0ZSA9IG5ldyBEYXRlKF9jdXJyZW50RGF0ZS5nZXRUaW1lKCkgLSBfdHpPZmZz
ZXQpLAorICAgICAgICAgICAgZGF0ZXRpbWUgPSBwYWRGb3VyKGFkanVzdGVkRGF0ZS5nZXRGdWxs
WWVhcigpKSArICctJyArIHBhZFR3byhhZGp1c3RlZERhdGUuZ2V0TW9udGgoKSArIDEpICsgJy0n
ICsgcGFkVHdvKGFkanVzdGVkRGF0ZS5nZXREYXRlKCkpICsgJ1QnICsgcGFkVHdvKGFkanVzdGVk
RGF0ZS5nZXRIb3VycygpKSArICc6JyArIHBhZFR3byhhZGp1c3RlZERhdGUuZ2V0TWludXRlcygp
KTsKKyAgICAgICAgaWYgKF90eXBlID09PSBEQVRFX1RJTUVfTE9DQUwpIHsKKyAgICAgICAgICAg
IHJldHVybiBkYXRldGltZTsKKyAgICAgICAgfSBlbHNlIGlmICghX3R6T2Zmc2V0KSB7CisgICAg
ICAgICAgICByZXR1cm4gZGF0ZXRpbWUgKyAnWic7CisgICAgICAgIH0gZWxzZSBpZiAoX3R6T2Zm
c2V0ID4gMCkgeworICAgICAgICAgICAgcmV0dXJuIGRhdGV0aW1lICsgJysnICsgcGFkVHdvKF90
ekhvdXJzKSArICc6JyArIHBhZFR3byhfdHpNaW51dGVzKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIHJldHVybiBkYXRldGltZSArICctJyArIHBhZFR3byhfdHpIb3VycykgKyAnOicg
KyBwYWRUd28oX3R6TWludXRlcyk7CisgICAgICAgIH0KKyAgICBjYXNlIERBVEU6CisgICAgICAg
IHJldHVybiBwYWRGb3VyKF9jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpKSArICctJyArIHBhZFR3
byhfY3VycmVudERhdGUuZ2V0TW9udGgoKSArIDEpICsgJy0nICsgcGFkVHdvKF9jdXJyZW50RGF0
ZS5nZXREYXRlKCkpOworICAgIGNhc2UgTU9OVEg6CisgICAgICAgIHJldHVybiBwYWRGb3VyKF9j
dXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpKSArICctJyArIHBhZFR3byhfY3VycmVudERhdGUuZ2V0
TW9udGgoKSArIDEpOworICAgIH0KKyAgICByZXR1cm4gJy0xJzsKK30KKworZnVuY3Rpb24gb2so
KSB7CisgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnJzsKKyAgICB3aW5kb3cuc2V0VmFs
dWVBbmRDbG9zZVBvcHVwKGdldFJlc3VsdFN0cmluZygpLCB3aW5kb3cucG9wVXApOworfQorCitm
dW5jdGlvbiBjYW5jZWwoKSB7CisgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnJzsKKyAg
ICB3aW5kb3cuc2V0VmFsdWVBbmRDbG9zZVBvcHVwKCctMScsIHdpbmRvdy5wb3BVcCk7Cit9CisK
K2Z1bmN0aW9uIGFkanVzdENvbHVtbkxhYmVsc0ZvclZhbHVlKGNvbCkgeworICAgIHZhciBjbG9u
ZURhdGUgPSBuZXcgRGF0ZShfY3VycmVudERhdGUuZ2V0VGltZSgpKSwKKyAgICAgICAgb2Zmc2V0
ID0gTWF0aC5mbG9vcihjb2wuY2hpbGRyZW4ubGVuZ3RoIC8gMik7CisgICAgc3dpdGNoKGNvbC50
eXBlKSB7CisgICAgY2FzZSBIT1VSUzoKKyAgICAgICAgLy8gRklYTUU6IDEyaC8yNGgKKyAgICAg
ICAgY2xvbmVEYXRlLnNldEhvdXJzKGNsb25lRGF0ZS5nZXRIb3VycygpIC0gb2Zmc2V0KTsKKyAg
ICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjb2wuY2hpbGRyZW4sIGZ1bmN0aW9u
IChjaGlsZCkgeworICAgICAgICAgICAgY2hpbGQuaW5uZXJUZXh0ID0gcGFkVHdvKGNsb25lRGF0
ZS5nZXRIb3VycygpKTsKKyAgICAgICAgICAgIGNsb25lRGF0ZS5zZXRIb3VycyhjbG9uZURhdGUu
Z2V0SG91cnMoKSArIDEpOworICAgICAgICB9KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBN
SU5VVEVTOgorICAgICAgICBjbG9uZURhdGUuc2V0TWludXRlcyhjbG9uZURhdGUuZ2V0TWludXRl
cygpIC0gb2Zmc2V0KTsKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjb2wu
Y2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkgeworICAgICAgICAgICAgY2hpbGQuaW5uZXJUZXh0
ID0gcGFkVHdvKGNsb25lRGF0ZS5nZXRNaW51dGVzKCkpOworICAgICAgICAgICAgY2xvbmVEYXRl
LnNldE1pbnV0ZXMoY2xvbmVEYXRlLmdldE1pbnV0ZXMoKSArIDEpOworICAgICAgICB9KTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBZRUFSTU9OVEhEQVRFOgorICAgICAgICAvLyBGSVhNRTog
c2hvdyB0aGUgeWVhcgorICAgICAgICBjbG9uZURhdGUuc2V0RGF0ZShjbG9uZURhdGUuZ2V0RGF0
ZSgpIC0gb2Zmc2V0KTsKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjb2wu
Y2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkgeworICAgICAgICAgICAgdmFyIGRhdGVNb250aCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLAorICAgICAgICAgICAgICAgIHdlZWtkYXkg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGRhdGVNb250aC5p
bm5lclRleHQgPSBjbG9uZURhdGUuZ2V0RGF0ZSgpICsgJyAnICsgX3Nob3J0TW9udGhMYWJlbHNb
Y2xvbmVEYXRlLmdldE1vbnRoKCldOyAvLyBGSVhNRTogc2hvdWxkIGxvY2FsaXplIGRhdGUgYXMg
YSB3aG9sZSBpbnN0ZWFkIG9mIGNvbmNhdGVuYXRpbmcgaW5kaXZpZHVhbCBjb21wb25lbnRzCisg
ICAgICAgICAgICB3ZWVrZGF5LmlubmVyVGV4dCA9IF9kYXlzT2ZXZWVrTGFiZWxzW2Nsb25lRGF0
ZS5nZXREYXkoKV07CisgICAgICAgICAgICBjaGlsZC5pbm5lckhUTUwgPSAnJzsKKyAgICAgICAg
ICAgIGNoaWxkLmFwcGVuZENoaWxkKGRhdGVNb250aCk7CisgICAgICAgICAgICBjaGlsZC5hcHBl
bmRDaGlsZCh3ZWVrZGF5KTsKKyAgICAgICAgICAgIGNsb25lRGF0ZS5zZXREYXRlKGNsb25lRGF0
ZS5nZXREYXRlKCkgKyAxKTsKKyAgICAgICAgfSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
REFURToKKyAgICAgICAgY2xvbmVEYXRlLnNldERhdGUoY2xvbmVEYXRlLmdldERhdGUoKSAtIG9m
ZnNldCk7CisgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY29sLmNoaWxkcmVu
LCBmdW5jdGlvbiAoY2hpbGQpIHsKKyAgICAgICAgICAgIGNoaWxkLmlubmVyVGV4dCA9IGNsb25l
RGF0ZS5nZXREYXRlKCk7CisgICAgICAgICAgICBjbG9uZURhdGUuc2V0RGF0ZShjbG9uZURhdGUu
Z2V0RGF0ZSgpICsgMSk7CisgICAgICAgIH0pOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1P
TlRIOgorICAgICAgICBjbG9uZURhdGUuc2V0RGF0ZSgxKTsgLy8gT3RoZXJ3aXNlIHRoZSBsb29w
IG1pZ2h0IHNraXAgc2hvcnRlciBtb250aHMKKyAgICAgICAgY2xvbmVEYXRlLnNldE1vbnRoKGNs
b25lRGF0ZS5nZXRNb250aCgpIC0gb2Zmc2V0KTsKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLmZv
ckVhY2guY2FsbChjb2wuY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkgeworICAgICAgICAgICAg
Y2hpbGQuaW5uZXJUZXh0ID0gX2xvbmdNb250aExhYmVsc1tjbG9uZURhdGUuZ2V0TW9udGgoKV07
CisgICAgICAgICAgICBjbG9uZURhdGUuc2V0TW9udGgoY2xvbmVEYXRlLmdldE1vbnRoKCkgKyAx
KTsKKyAgICAgICAgfSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgWUVBUjoKKyAgICAgICAg
Y2xvbmVEYXRlLnNldFllYXIoY2xvbmVEYXRlLmdldEZ1bGxZZWFyKCkgLSBvZmZzZXQpOworICAg
ICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNvbC5jaGlsZHJlbiwgZnVuY3Rpb24g
KGNoaWxkKSB7CisgICAgICAgICAgICBjaGlsZC5pbm5lclRleHQgPSBwYWRGb3VyKGNsb25lRGF0
ZS5nZXRGdWxsWWVhcigpKTsKKyAgICAgICAgICAgIGNsb25lRGF0ZS5zZXRZZWFyKGNsb25lRGF0
ZS5nZXRGdWxsWWVhcigpICsgMSk7CisgICAgICAgIH0pOworICAgICAgICBicmVhazsKKyAgICB9
Cit9CisKK2Z1bmN0aW9uIGJlZ2luU2Nyb2xsKGV2dCkgeworICAgIF9kcmFnZ2luZyA9IHRydWU7
CisgICAgX2ZpcnN0WSA9IGV2dC5jbGllbnRZIHx8IGV2dC50b3VjaGVzWzBdLnNjcmVlblk7Cisg
ICAgX3Njcm9sbExpc3RlbmVyID0gc2Nyb2xsLmJpbmQodGhpcyk7CisgICAgX2VuZFNjcm9sbExp
c3RlbmVyID0gZW5kU2Nyb2xsLmJpbmQodGhpcyk7CisgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcignbW91c2Vtb3ZlJywgX3Njcm9sbExpc3RlbmVyKTsKKyAgICBkb2N1bWVudC5hZGRFdmVu
dExpc3RlbmVyKCd0b3VjaG1vdmUnLCBfc2Nyb2xsTGlzdGVuZXIpOworICAgIGRvY3VtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBfZW5kU2Nyb2xsTGlzdGVuZXIpOworICAgIGRvY3Vt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgX2VuZFNjcm9sbExpc3RlbmVyKTsKK30K
KworZnVuY3Rpb24gc2Nyb2xsKGV2dCkgeworICAgIGlmIChfZHJhZ2dpbmcpIHsKKyAgICAgICAg
dmFyIGNsaWVudFkgPSBldnQuY2xpZW50WSB8fCBldnQudG91Y2hlc1swXS5zY3JlZW5ZOworICAg
ICAgICB0aGlzLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RhbGwtYml0JylbMF0uc3R5bGUud2Vi
a2l0VHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVkoJyArIChjbGllbnRZIC0gX2ZpcnN0WSArIF9iYXNl
T2Zmc2V0KSArICdweCkgdHJhbnNsYXRlWigwKSc7CisgICAgfQorfQorCitmdW5jdGlvbiBlbmRT
Y3JvbGwoZXZ0KSB7CisgICAgaWYgKCFfZHJhZ2dpbmcpIHsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIF9kcmFnZ2luZyA9IGZhbHNlOworICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlz
dGVuZXIoJ21vdXNlbW92ZScsIF9zY3JvbGxMaXN0ZW5lcik7CisgICAgZG9jdW1lbnQucmVtb3Zl
RXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgX3Njcm9sbExpc3RlbmVyKTsKKyAgICBkb2N1bWVu
dC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgX2VuZFNjcm9sbExpc3RlbmVyKTsKKyAg
ICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIF9lbmRTY3JvbGxMaXN0
ZW5lcik7CisgICAgdmFyIGNsaWVudFkgPSBldnQuY2xpZW50WSB8fCBldnQuY2hhbmdlZFRvdWNo
ZXNbMF0uc2NyZWVuWTsKKyAgICB2YXIgZHkgPSBjbGllbnRZIC0gX2ZpcnN0WSwKKyAgICAgICAg
ZEl0ZW1zID0gTWF0aC5mbG9vcihkeSAvIElURU1fSEVJR0hUKSwKKyAgICAgICAgZXh0cmEgPSBk
eSAlIElURU1fSEVJR0hUOworICAgIGlmIChleHRyYSA8IDApIHsKKyAgICAgICAgZEl0ZW1zKys7
CisgICAgfQorICAgIC8vIEZ1ZGdlOiB3aGljaCBpdGVtIGlzIGFjdHVhbGx5IG1vc3RseSBpbiB0
aGUgd2luZG93PworICAgIGlmIChleHRyYSA+IElURU1fSEVJR0hUIC8gMikgeworICAgICAgICAv
LyB5b3UndmUgbW92ZWQgZG93biBtb3JlIHRoYW4gaGFsZiB0aGUgbmV4dCBlbGVtZW50LCBtb3Zl
IHNvbWUgbW9yZQorICAgICAgICBkSXRlbXMrKzsKKyAgICAgICAgZXh0cmEgLT0gSVRFTV9IRUlH
SFQ7CisgICAgfSBlbHNlIGlmIChleHRyYSA8IC1JVEVNX0hFSUdIVCAvIDIpIHsKKyAgICAgICAg
ZEl0ZW1zLS07CisgICAgICAgIGV4dHJhICs9IElURU1fSEVJR0hUOworICAgIH0KKyAgICB2YXIg
b2xkRGF0ZSA9IG5ldyBEYXRlKF9jdXJyZW50RGF0ZS5nZXRUaW1lKCkpOworICAgIHN3aXRjaCh0
aGlzLnR5cGUpIHsKKyAgICBjYXNlIEhPVVJTOgorICAgIGNhc2UgTUlOVVRFUzoKKyAgICBjYXNl
IERBVEU6CisgICAgY2FzZSBNT05USDoKKyAgICAgICAgX2N1cnJlbnREYXRlWydzZXQnICsgdGhp
cy50eXBlXShfY3VycmVudERhdGVbJ2dldCcgKyB0aGlzLnR5cGVdKCkgLSBkSXRlbXMpOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIFlFQVI6CisgICAgICAgIF9jdXJyZW50RGF0ZS5zZXRGdWxs
WWVhcihfY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSAtIGRJdGVtcyk7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgWUVBUk1PTlRIREFURToKKyAgICAgICAgX2N1cnJlbnREYXRlLnNldERhdGUo
X2N1cnJlbnREYXRlLmdldERhdGUoKSAtIGRJdGVtcyk7CisgICAgICAgIGJyZWFrOworICAgIH0K
KworICAgIC8vIFRPRE86IGFuaW1hdGUgdGhlIGV4dHJhbmVvdXMgY29sdW1uIGNoYW5nZXMKKyAg
ICAvLyBhbmltYXRlIHRoZSBvbmUgY2hhbmdlZCB0YWxsYml0IG1hbnVhbGx5CisgICAgdmFyIHRh
bGxCaXQgPSB0aGlzLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RhbGwtYml0JylbMF07CisgICAg
dGFsbEJpdC5zdHlsZS53ZWJraXRUcmFuc2l0aW9uID0gJy13ZWJraXQtdHJhbnNmb3JtICcgKyBN
YXRoLmFicyhleHRyYSAqIDIpICsgJ21zIGVhc2Utb3V0JzsKKyAgICB0YWxsQml0LnN0eWxlLndl
YmtpdFRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKCcgKyAoX2Jhc2VPZmZzZXQgKyBkeSAtIGV4dHJh
KSArICdweCkgdHJhbnNsYXRlWigwKSc7CisgICAgLy8gdXNlIGEgdGltZXIgaW5zdGVhZCBvZiB3
ZWJraXRUcmFuc2l0aW9uRW5kIGluIGNhc2Ugd2Via2l0VHJhbnNpdGlvbkVuZCBkb2Vzbid0IGZp
cmUgKGhhcHBlbnMgaWYgaXQgc2tpcHMgYWxsIGZyYW1lcykKKyAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgdGFsbEJpdC5zdHlsZS53ZWJraXRUcmFuc2l0aW9uID0gJyc7Cisg
ICAgICAgIHZhciB0YWxsQml0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3Rh
bGwtYml0Jyk7CisgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGFsbEJpdHMs
IGZ1bmN0aW9uICh0YWxsKSB7CisgICAgICAgICAgICBzd2l0Y2godGFsbC50eXBlKSB7CisgICAg
ICAgICAgICBjYXNlIEhPVVJTOgorICAgICAgICAgICAgY2FzZSBNSU5VVEVTOgorICAgICAgICAg
ICAgY2FzZSBEQVRFOgorICAgICAgICAgICAgY2FzZSBNT05USDoKKyAgICAgICAgICAgICAgICBp
ZiAob2xkRGF0ZVsnZ2V0JyArIHRhbGwudHlwZV0oKSAhPT0gX2N1cnJlbnREYXRlWydnZXQnICsg
dGFsbC50eXBlXSgpKSB7CisgICAgICAgICAgICAgICAgICAgIGFkanVzdENvbHVtbkxhYmVsc0Zv
clZhbHVlKHRhbGwpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIGNhc2UgWUVBUjoKKyAgICAgICAgICAgICAgICBpZiAob2xkRGF0ZS5nZXRG
dWxsWWVhcigpICE9PSBfY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSkgeworICAgICAgICAgICAg
ICAgICAgICBhZGp1c3RDb2x1bW5MYWJlbHNGb3JWYWx1ZSh0YWxsKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFlFQVJNT05USERB
VEU6CisgICAgICAgICAgICAgICAgaWYgKG9sZERhdGUuZ2V0RnVsbFllYXIoKSAhPT0gX2N1cnJl
bnREYXRlLmdldEZ1bGxZZWFyKCkKKyAgICAgICAgICAgICAgICAgICAgfHwgb2xkRGF0ZS5nZXRN
b250aCgpICE9PSBfY3VycmVudERhdGUuZ2V0TW9udGgoKQorICAgICAgICAgICAgICAgICAgICB8
fCBvbGREYXRlLmdldERhdGUoKSAhPT0gX2N1cnJlbnREYXRlLmdldERhdGUoKQorICAgICAgICAg
ICAgICAgICkgeworICAgICAgICAgICAgICAgICAgICBhZGp1c3RDb2x1bW5MYWJlbHNGb3JWYWx1
ZSh0YWxsKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0pOworICAgICAgICByZXNldFBvc2l0aW9ucygpOworICAgIH0s
IE1hdGguYWJzKGV4dHJhICogMikgKyAxKTsKK30KKworZnVuY3Rpb24gY3JlYXRlQ29sdW1uKHR5
cGUpIHsKKyAgICB2YXIgY29sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksCisgICAg
ICAgIHRhbGxCaXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBjb2wuY2xh
c3NOYW1lID0gJ2NvbHVtbiAnICsgdHlwZTsKKyAgICBjb2wudHlwZSA9IHR5cGU7CisgICAgdGFs
bEJpdC5jbGFzc05hbWUgPSAndGFsbC1iaXQnOworICAgIHRhbGxCaXQudHlwZSA9IHR5cGU7Cisg
ICAgY29sLmFwcGVuZENoaWxkKHRhbGxCaXQpOworCisgICAgdmFyIG51bUNlbGxzID0gTWF0aC5j
ZWlsKE1hdGgubWF4KHNjcmVlbi5oZWlnaHQsIHNjcmVlbi53aWR0aCkgLyBJVEVNX0hFSUdIVCkg
KiAyICsgMTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bUNlbGxzOyArK2kpIHsKKyAgICAg
ICAgdmFyIGNlbGwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgY2Vs
bC5jbGFzc05hbWUgPSAnY2VsbCc7CisgICAgICAgIHRhbGxCaXQuYXBwZW5kQ2hpbGQoY2VsbCk7
CisgICAgfQorCisgICAgYWRqdXN0Q29sdW1uTGFiZWxzRm9yVmFsdWUodGFsbEJpdCk7CisKKyAg
ICBjb2wuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgYmVnaW5TY3JvbGwpOworICAgIGNv
bC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgYmVnaW5TY3JvbGwpOworCisgICAgcmV0
dXJuIGNvbDsKK30KKworZnVuY3Rpb24gcmVzZXRQb3NpdGlvbnMoKSB7CisgICAgdmFyIHRhbGxC
aXRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGFsbC1iaXQnKTsKKyAgICBB
cnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHRhbGxCaXRzLCBmdW5jdGlvbiAodGFsbEJpdCkg
eworICAgICAgICB0YWxsQml0LnN0eWxlLndlYmtpdFRyYW5zZm9ybSA9ICd0cmFuc2xhdGVZKCcg
KyBfYmFzZU9mZnNldCArICdweCkgdHJhbnNsYXRlWigwKSc7CisgICAgfSk7Cit9CisKK2Z1bmN0
aW9uIHNob3cocGlja2VyUGFyYW1zKSB7CisgICAgX3R5cGUgPSBwaWNrZXJQYXJhbXMudHlwZTsK
KyAgICBwYXJzZUZyb21EYXRlU3RyaW5nKHBpY2tlclBhcmFtcy5pbml0aWFsVmFsdWUpOworICAg
IF9taW4gPSBwaWNrZXJQYXJhbXMubWluOyAvLyBGSVhNRTogbWluIG5vdCBzdXBwb3J0ZWQKKyAg
ICBfbWF4ID0gcGlja2VyUGFyYW1zLm1heDsgLy8gRklYTUU6IG1heCBub3Qgc3VwcG9ydGVkCisg
ICAgX3N0ZXAgPSBwaWNrZXJQYXJhbXMuc3RlcDsgLy8gRklYTUU6IHN0ZXAgbm90IHN1cHBvcnRl
ZAorICAgIC8vIEZJWE1FOiBkaXNhYmxlZCBub3Qgc3VwcG9ydGVkIChuZWVkIHRvIGdldCB0aGlz
IHN0YXRlIHBhc3NlZCBpbikKKworICAgIF9zaG9ydE1vbnRoTGFiZWxzID0gcGlja2VyUGFyYW1z
LnVpVGV4dC5zaG9ydE1vbnRoTGFiZWxzOworICAgIF9sb25nTW9udGhMYWJlbHMgPSBwaWNrZXJQ
YXJhbXMudWlUZXh0Lm1vbnRoTGFiZWxzOworICAgIF9kYXlzT2ZXZWVrTGFiZWxzID0gcGlja2Vy
UGFyYW1zLnVpVGV4dC5kYXlzT2ZXZWVrTGFiZWxzOworICAgIF9hbVBtTGFiZWxzID0gcGlja2Vy
UGFyYW1zLnVpVGV4dC5hbVBtTGFiZWxzOworCisgICAgaWYgKCFfY3VycmVudERhdGUpIHsKKyAg
ICAgICAgLy8gUGFyc2UgZmFpbGVkCisgICAgICAgIGNhbmNlbCgpOworICAgIH0KKworICAgIGlm
IChfY3VycmVudERhdGUgPCBMSU1JVF9NSU4pIHsKKyAgICAgICAgX2N1cnJlbnREYXRlID0gbmV3
IERhdGUoTElNSVRfTUlOLmdldFRpbWUoKSk7CisgICAgfSBlbHNlIGlmIChfY3VycmVudERhdGUg
PiBMSU1JVF9NQVgpIHsKKyAgICAgICAgX2N1cnJlbnREYXRlID0gbmV3IERhdGUoTElNSVRfTUFY
LmdldFRpbWUoKSk7CisgICAgfQorCisgICAgLy8gU2V0IHVwIHRoZSBVSQorICAgIHZhciBwb3B1
cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIHBvcHVwLmNsYXNzTmFtZSA9
IHBvcHVwLmlkID0gJ3BvcHVwLWFyZWEnOworICAgIHBvcHVwLmRpciA9IHBpY2tlclBhcmFtcy5k
aXJlY3Rpb247CisgICAgdmFyIGhlYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OworICAgIGhlYWRlci5jbGFzc05hbWUgPSAncG9wdXAtaGVhZGVyJzsKKyAgICBoZWFkZXIuaW5u
ZXJUZXh0ID0gcGlja2VyUGFyYW1zLnVpVGV4dC50aXRsZTsKKyAgICBwb3B1cC5hcHBlbmRDaGls
ZChoZWFkZXIpOworICAgIHZhciBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CisgICAgY29udGVudC5jbGFzc05hbWUgPSAncG9wdXAtY29udGVudCc7CisgICAgY29udGVu
dC5kaXIgPSAnbHRyJzsgLy8gRklYTUU6IFJUTCBVSSBzcGVjaWZpY2F0aW9ucyBub3QgZG9uZSB5
ZXQKKyAgICBjb250ZW50LmlkID0gJ3BvcHVwLWNvbnRlbnQtdGltZSc7CisgICAgcG9wdXAuYXBw
ZW5kQ2hpbGQoY29udGVudCk7CisKKyAgICBDT0xVTU5TW190eXBlXS5mb3JFYWNoKGZ1bmN0aW9u
ICh0eXBlKSB7CisgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQoY3JlYXRlQ29sdW1uKHR5cGUp
KTsKKyAgICB9KTsKKworICAgIHZhciByb3dIaWdobGlnaHRDb250YWluZXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKSwKKyAgICAgICAgZmlsbGVyMSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpLAorICAgICAgICBzZWxlY3RlZFJvd0hpZ2hsaWdodCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpLAorICAgICAgICBmaWxsZXIyID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CisgICAgcm93SGlnaGxpZ2h0Q29udGFpbmVyLmNsYXNzTmFtZSA9ICdyb3ct
aGlnaGxpZ2h0LWNvbnRhaW5lcic7CisgICAgc2VsZWN0ZWRSb3dIaWdobGlnaHQuY2xhc3NOYW1l
ID0gJ3Jvdy1oaWdobGlnaHQnOworICAgIGZpbGxlcjEuY2xhc3NOYW1lID0gZmlsbGVyMi5jbGFz
c05hbWUgPSAncm93LWhpZ2hsaWdodC1maWxsZXInOworICAgIHJvd0hpZ2hsaWdodENvbnRhaW5l
ci5hcHBlbmRDaGlsZChmaWxsZXIxKTsKKyAgICByb3dIaWdobGlnaHRDb250YWluZXIuYXBwZW5k
Q2hpbGQoc2VsZWN0ZWRSb3dIaWdobGlnaHQpOworICAgIHJvd0hpZ2hsaWdodENvbnRhaW5lci5h
cHBlbmRDaGlsZChmaWxsZXIyKTsKKyAgICBjb250ZW50LmFwcGVuZENoaWxkKHJvd0hpZ2hsaWdo
dENvbnRhaW5lcik7CisKKyAgICB2YXIgb2tCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdidXR0b24nKSwKKyAgICAgICAgY2FuY2VsQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnYnV0dG9uJyksCisgICAgICAgIGJ1dHRvbnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKKyAgICBidXR0b25zLmNsYXNzTmFtZSA9ICdwb3B1cC1idXR0b25zJzsKKyAgICBva0J1
dHRvbi5jbGFzc05hbWUgPSAncG9wdXAtYnV0dG9uJzsKKyAgICBva0J1dHRvbi5pbm5lclRleHQg
PSBwaWNrZXJQYXJhbXMudWlUZXh0LmRvbmVCdXR0b25MYWJlbDsKKyAgICBva0J1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCdjbGljaycsIG9rKTsKKyAgICBjYW5jZWxCdXR0b24uY2xhc3NOYW1lID0g
J3BvcHVwLWJ1dHRvbic7CisgICAgY2FuY2VsQnV0dG9uLmlubmVyVGV4dCA9IHBpY2tlclBhcmFt
cy51aVRleHQuY2FuY2VsQnV0dG9uTGFiZWw7CisgICAgY2FuY2VsQnV0dG9uLmFkZEV2ZW50TGlz
dGVuZXIoJ2NsaWNrJywgY2FuY2VsKTsKKyAgICBidXR0b25zLmFwcGVuZENoaWxkKGNhbmNlbEJ1
dHRvbik7CisgICAgYnV0dG9ucy5hcHBlbmRDaGlsZChva0J1dHRvbik7CisKKyAgICBwb3B1cC5h
cHBlbmRDaGlsZChidXR0b25zKTsKKworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocG9w
dXApOworCisgICAgX2Jhc2VPZmZzZXQgPSBNYXRoLmZsb29yKGRvY3VtZW50LmdldEVsZW1lbnRz
QnlDbGFzc05hbWUoJ2NvbHVtbicpWzBdLmNsaWVudEhlaWdodCAvIDIgLSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5Q2xhc3NOYW1lKCd0YWxsLWJpdCcpWzBdLmNsaWVudEhlaWdodCAvIDIpOworICAg
IHJlc2V0UG9zaXRpb25zKCk7Cit9CisKK3dpbmRvdy5wb3B1cGNvbnRyb2wgPSB3aW5kb3cucG9w
dXBjb250cm9sIHx8IHt9Oword2luZG93LnBvcHVwY29udHJvbC5zaG93ID0gc2hvdzsKK30oKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCAwN2ZlOGZmLi45ZjU5NDBmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMy0wNC0xNSAg
QWxiZXJ0byBHYXJjaWEgIDxhZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVy
cnldIFVwc3RyZWFtIHRoZSBpbnB1dCBwb3B1cHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDYwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggY29udGFpbnMgY29udHJpYnV0aW9ucyBm
cm9tIG1hbnkgbWVtYmVycyBvZiB0aGUKKyAgICAgICAgQmxhY2tCZXJyeSBXZWJLaXQgdGVhbSwg
aW5jbHVkaW5nOgorCisgICAgICAgIENocmlzIEh1dHRlbi1DemFwc2tpCisgICAgICAgIERhdmlk
IEhvb24KKyAgICAgICAgSmVzc2ljYSBDYW8KKyAgICAgICAgUm9iIEJ1aXMKKyAgICAgICAgVGlh
bmNoZW5nIEppYW5nCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbG9yUGlja2Vy
Q2xpZW50OjpnZW5lcmF0ZUhUTUwpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RhdGVQaWNr
ZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRl
UGlja2VyQ2xpZW50OjpnZW5lcmF0ZUhUTUwpOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVBpY2tl
ckNsaWVudDo6Z2VuZXJhdGVEYXRlTGFiZWxzKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9E
YXRlUGlja2VyQ2xpZW50Lmg6CisgICAgICAgIChEYXRlUGlja2VyQ2xpZW50KToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdFBvcHVwQ2xpZW50OjpnZW5lcmF0ZUhUTUwpOgor
CiAyMDEzLTA0LTEyICBZb25neGluIERhaSAgPHlvZGFpQHJpbS5jb20+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIEVuYWJsZSBzZWxlY3RpbmcgdGV4dCBpbiBzaW5nbGUgbGluZSBpbnB1dCBmaWVs
ZCB3aXRob3V0IHNlbGVjdGlvbiBwb2ludCBiZWluZyBhY3R1YWxseSBvbiB0aGUgdGFyZ2V0ZWQg
dGV4dCB2ZXJ0aWNhbGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYkNvcmVTdXBwb3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcAppbmRleCBkMzI5ZWNmLi42
MWJhZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBv
cnQvQ29sb3JQaWNrZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNsaWVudC5jcHAKQEAgLTMyLDEwICszMiwxNCBAQAog
I2luY2x1ZGUgIldlYlBhZ2VfcC5oIgogCiAjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtU3Ry
aW5nLmg+CisjaW5jbHVkZSA8TG9jYWxlSGFuZGxlci5oPgorI2luY2x1ZGUgPExvY2FsaXplUmVz
b3VyY2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorREVGSU5FX1NUQVRJQ19MT0NBTChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6
TG9jYWxpemVSZXNvdXJjZSwgc19yZXNvdXJjZSwgKCkpOworCiBDb2xvclBpY2tlckNsaWVudDo6
Q29sb3JQaWNrZXJDbGllbnQoY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZyYgdmFs
dWUsIEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGUqIHdlYlBhZ2UsIEhUTUxJbnB1
dEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgOiBtX3dlYlBhZ2Uod2ViUGFnZSkKICAgICAsIG1fZWxl
bWVudChlbGVtZW50KQpAQCAtNTUsMTIgKzU5LDI3IEBAIHZvaWQgQ29sb3JQaWNrZXJDbGllbnQ6
OmdlbmVyYXRlSFRNTChjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U3RyaW5nJiB2YWx1ZSkK
ICAgICAgICAgICAgIHNpemVvZihjb2xvckNvbnRyb2xCbGFja0JlcnJ5Q3NzKSk7CiAgICAgc291
cmNlLmFwcGVuZExpdGVyYWwoIjwvc3R5bGU+PC9oZWFkPjxib2R5PlxuIik7CiAgICAgc291cmNl
LmFwcGVuZExpdGVyYWwoIjxzY3JpcHQ+XG4iKTsKLSAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgi
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7Iik7Ci0gICAgc291
cmNlLmFwcGVuZExpdGVyYWwoIndpbmRvdy5wb3B1cGNvbnRyb2wuc2hvdygiKTsKKyAgICBzb3Vy
Y2UuYXBwZW5kTGl0ZXJhbCgid2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlv
biBzaG93SXQoKSB7Iik7CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIndpbmRvdy5wb3B1cGNv
bnRyb2wuc2hvdyh7Iik7CisgICAgLy8gQWRkIGNvbG9yIHZhbHVlCisgICAgc291cmNlLmFwcGVu
ZExpdGVyYWwoImluaXRpYWxWYWx1ZToiKTsKICAgICBpZiAoIXZhbHVlLmVtcHR5KCkpCi0gICAg
ICAgIHNvdXJjZS5hcHBlbmQoIlwiIiArIFN0cmluZyh2YWx1ZSkgKyAiXCIpOyBcbiB9KTsgXG4i
KTsKKyAgICAgICAgc291cmNlLmFwcGVuZCgiJyIgKyBTdHJpbmcodmFsdWUpICsgIicsIik7CiAg
ICAgZWxzZQotICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiKTsgXG4gfSk7IFxuIik7Cisg
ICAgICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJudWxsLCIpOworICAgIC8vIEFkZCBVSSB0ZXh0
CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoInVpVGV4dDogeyIpOworICAgIHNvdXJjZS5hcHBl
bmQoInRpdGxlOiciICsgU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291cmNlLmdldFN0cmluZyhCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6UElDS0VSX0NPTE9SX1RJVExFKSkgKyAiJywiKTsKKyAgICBzb3Vy
Y2UuYXBwZW5kKCJzbGlkZXJzTGFiZWw6JyIgKyBTdHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2Uu
Z2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpQSUNLRVJfQ09MT1JfU0xJREVSU19MQUJF
TCkpICsgIicsIik7CisgICAgc291cmNlLmFwcGVuZCgic3dhdGNoZXNMYWJlbDonIiArIFN0cmlu
Zzo6ZnJvbVVURjgoc19yZXNvdXJjZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OlBJ
Q0tFUl9DT0xPUl9TV0FUQ0hFU19MQUJFTCkpICsgIicsIik7CisgICAgc291cmNlLmFwcGVuZCgi
ZG9uZUJ1dHRvbkxhYmVsOiciICsgU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291cmNlLmdldFN0cmlu
ZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6UElDS0VSX0RPTkVfQlVUVE9OX0xBQkVMKSkgKyAiJywi
KTsKKyAgICBzb3VyY2UuYXBwZW5kKCJjYW5jZWxCdXR0b25MYWJlbDonIiArIFN0cmluZzo6ZnJv
bVVURjgoc19yZXNvdXJjZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OlBJQ0tFUl9D
QU5DRUxfQlVUVE9OX0xBQkVMKSkgKyAiJywiKTsKKyAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgi
fSwiKTsKKyAgICAvLyBBZGQgZGlyZWN0aW9uYWxpdHkKKyAgICBib29sIGlzUnRsID0gQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OkxvY2FsZUhhbmRsZXI6Omluc3RhbmNlKCktPmlzUnRsTG9jYWxlKCk7
CisgICAgc291cmNlLmFwcGVuZCgiZGlyZWN0aW9uOiciICsgU3RyaW5nKGlzUnRsID8gInJ0bCIg
OiAibHRyIikgKyAiJywiKTsKKyAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgifSk7XG4iKTsKKyAg
ICBzb3VyY2UuYXBwZW5kKCIgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzaG93
SXQpOyB9KTsgXG4iKTsKICAgICBzb3VyY2UuYXBwZW5kKGNvbG9yQ29udHJvbEJsYWNrQmVycnlK
cywgc2l6ZW9mKGNvbG9yQ29udHJvbEJsYWNrQmVycnlKcykpOwogICAgIHNvdXJjZS5hcHBlbmRM
aXRlcmFsKCI8L3NjcmlwdD5cbiIpOwogICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCI8L2JvZHk+
IDwvaHRtbD5cbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L0RhdGVQaWNrZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L1dlYkNvcmVTdXBwb3J0L0RhdGVQaWNrZXJDbGllbnQuY3BwCmluZGV4IGUxNzhmMWIuLjgyYTEx
MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9E
YXRlUGlja2VyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5jcHAKQEAgLTMzLDEwICszMywxNyBAQAogI2luY2x1
ZGUgIldlYlBhZ2VfcC5oIgogCiAjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtU3RyaW5nLmg+
CisjaW5jbHVkZSA8TG9jYWxlSGFuZGxlci5oPgorI2luY2x1ZGUgPExvY2FsaXplUmVzb3VyY2Uu
aD4KKyNpbmNsdWRlIDx1bmljb2RlL2R0Zm10c3ltLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQnVpbGRlci5oPgogCit1c2luZyBuYW1lc3BhY2UgaWN1OworCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK0RFRklORV9TVEFUSUNfTE9DQUwoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvY2FsaXpl
UmVzb3VyY2UsIHNfcmVzb3VyY2UsICgpKTsKKwogRGF0ZVBpY2tlckNsaWVudDo6RGF0ZVBpY2tl
ckNsaWVudChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6QmxhY2tCZXJyeUlucHV0VHlwZSB0eXBlLCBj
b25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U3RyaW5nJiB2YWx1ZSwgY29uc3QgQmxhY2tCZXJy
eTo6UGxhdGZvcm06OlN0cmluZyYgbWluLCBjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U3Ry
aW5nJiBtYXgsIGRvdWJsZSBzdGVwLCBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRl
KiB3ZWJQYWdlLCBIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIDogbV90eXBlKHR5cGUp
CiAgICAgLCBtX3dlYlBhZ2Uod2ViUGFnZSkKQEAgLTUyLDYgKzU5LDcgQEAgRGF0ZVBpY2tlckNs
aWVudDo6fkRhdGVQaWNrZXJDbGllbnQoKQogdm9pZCBEYXRlUGlja2VyQ2xpZW50OjpnZW5lcmF0
ZUhUTUwoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkJsYWNrQmVycnlJbnB1dFR5cGUgdHlwZSwgY29u
c3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZyYgdmFsdWUsIGNvbnN0IEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpTdHJpbmcmIG1pbiwgY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmlu
ZyYgbWF4LCBkb3VibGUgc3RlcCkKIHsKICAgICBTdHJpbmdCdWlsZGVyIHNvdXJjZTsKKyAgICBT
dHJpbmcgdGl0bGUgPSAiIjsKICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiPHN0eWxlPlxuIik7
CiAgICAgLy8gSW5jbHVkZSBDU1MgZmlsZS4KICAgICBzb3VyY2UuYXBwZW5kKHBvcHVwQ29udHJv
bEJsYWNrQmVycnlDc3MsCkBAIC01OSw0NCArNjcsNzEgQEAgdm9pZCBEYXRlUGlja2VyQ2xpZW50
OjpnZW5lcmF0ZUhUTUwoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkJsYWNrQmVycnlJbnB1dFR5cGUg
dHkKICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiPC9zdHlsZT5cbjxzdHlsZT4iKTsKICAgICBz
b3VyY2UuYXBwZW5kKHRpbWVDb250cm9sQmxhY2tCZXJyeUNzcywKICAgICAgICAgICAgIHNpemVv
Zih0aW1lQ29udHJvbEJsYWNrQmVycnlDc3MpKTsKLSAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgi
PC9zdHlsZT48L2hlYWQ+PGJvZHk+XG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgIjxzY3Jp
cHQ+XG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgIndpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgZnVuY3Rpb24gKCkgeyIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCI8L3N0
eWxlPjwvaGVhZD48Ym9keT5cbiIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCI8c2NyaXB0
PlxuIik7CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIndpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgZnVuY3Rpb24gc2hvd0l0KCkgeyIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFs
KCJ3aW5kb3cucG9wdXBjb250cm9sLnNob3coeyIpOworICAgIC8vIEFkZCBEYXRlUGlja2VyIHR5
cGUKKyAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgidHlwZToiKTsKICAgICBzd2l0Y2ggKHR5cGUp
IHsKICAgICBjYXNlIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJbnB1dFR5cGVEYXRlOgotICAgICAg
ICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgid2luZG93LnBvcHVwY29udHJvbC5zaG93KFwiRGF0ZVwi
LCAiKTsKKyAgICAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIidEYXRlJywgIik7CisgICAgICAg
IHRpdGxlID0gU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291cmNlLmdldFN0cmluZyhCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6UElDS0VSX0RBVEVfVElUTEUpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6SW5wdXRUeXBlVGltZToKLSAgICAgICAgc291cmNlLmFw
cGVuZExpdGVyYWwoIndpbmRvdy5wb3B1cGNvbnRyb2wuc2hvdyhcIlRpbWVcIiwgIik7CisgICAg
ICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCInVGltZScsICIpOworICAgICAgICB0aXRsZSA9IFN0
cmluZzo6ZnJvbVVURjgoc19yZXNvdXJjZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06
OlBJQ0tFUl9USU1FX1RJVExFKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQmxhY2tCZXJy
eTo6UGxhdGZvcm06OklucHV0VHlwZURhdGVUaW1lOgotICAgICAgICBzb3VyY2UuYXBwZW5kTGl0
ZXJhbCgid2luZG93LnBvcHVwY29udHJvbC5zaG93KFwiRGF0ZVRpbWVcIiwgIik7CisgICAgICAg
IHNvdXJjZS5hcHBlbmRMaXRlcmFsKCInRGF0ZVRpbWUnLCAiKTsKKyAgICAgICAgdGl0bGUgPSBT
dHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpQSUNLRVJfREFURV9USU1FX1RJVExFKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OklucHV0VHlwZURhdGVUaW1lTG9jYWw6Ci0gICAgICAgIHNvdXJj
ZS5hcHBlbmRMaXRlcmFsKCJ3aW5kb3cucG9wdXBjb250cm9sLnNob3coXCJEYXRlVGltZUxvY2Fs
XCIsICIpOworICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiJ0RhdGVUaW1lTG9jYWwnLCAi
KTsKKyAgICAgICAgdGl0bGUgPSBTdHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5n
KEJsYWNrQmVycnk6OlBsYXRmb3JtOjpQSUNLRVJfREFURV9USU1FX0xPQ0FMX1RJVExFKSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQmxhY2tCZXJyeTo6UGxhdGZvcm06OklucHV0VHlwZU1v
bnRoOgotICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgid2luZG93LnBvcHVwY29udHJvbC5z
aG93KFwiTW9udGhcIiwgIik7CisgICAgICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCInTW9udGgn
LCAiKTsKKyAgICAgICAgdGl0bGUgPSBTdHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3Ry
aW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpQSUNLRVJfTU9OVEhfVElUTEUpKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6SW5wdXRUeXBlV2VlazoKICAg
ICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CisgICAgLy8gQWRkIGRhdGV0aW1lIHZh
bHVlCisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoImluaXRpYWxWYWx1ZToiKTsKICAgICBpZiAo
IXZhbHVlLmVtcHR5KCkpCi0gICAgICAgIHNvdXJjZS5hcHBlbmQoIlwiIiArIFN0cmluZyh2YWx1
ZSkgKyAiXCIsICIpOworICAgICAgICBzb3VyY2UuYXBwZW5kKCInIiArIFN0cmluZyh2YWx1ZSkg
KyAiJywgIik7CiAgICAgZWxzZQotICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiMCwgIik7
Ci0KKyAgICAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIm51bGwsICIpOworICAgIC8vIEFkZCBs
b3dlciBhbmQgdXBwZXIgYm91bmRzCisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIm1pbjoiKTsK
ICAgICBpZiAoIW1pbi5lbXB0eSgpKQotICAgICAgICBzb3VyY2UuYXBwZW5kKFN0cmluZyhtaW4p
ICsgIiwgIik7CisgICAgICAgIHNvdXJjZS5hcHBlbmQoIiciICsgU3RyaW5nKG1pbikgKyAiJywg
Iik7CiAgICAgZWxzZQotICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiMCwgIik7CisgICAg
ICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJudWxsLCAiKTsKKyAgICBzb3VyY2UuYXBwZW5kTGl0
ZXJhbCgibWF4OiIpOwogICAgIGlmICghbWF4LmVtcHR5KCkpCi0gICAgICAgIHNvdXJjZS5hcHBl
bmQoU3RyaW5nKG1heCkgKyAiLCAiKTsKKyAgICAgICAgc291cmNlLmFwcGVuZCgiJyIgKyBTdHJp
bmcobWF4KSArICInLCAiKTsKICAgICBlbHNlCi0gICAgICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFs
KCIwLCAiKTsKLSAgICBzb3VyY2UuYXBwZW5kKFN0cmluZzo6bnVtYmVyKHN0ZXApKTsKLSAgICBz
b3VyY2UuYXBwZW5kTGl0ZXJhbCgiKTsgXG4gfSk7IFxuIik7CisgICAgICAgIHNvdXJjZS5hcHBl
bmRMaXRlcmFsKCJudWxsLCAiKTsKKyAgICAvLyBBZGQgc3RlcCBzaXplCisgICAgc291cmNlLmFw
cGVuZCgic3RlcDoiICsgU3RyaW5nOjpudW1iZXIoc3RlcCkgKyAiLCAiKTsKKyAgICAvLyBBZGQg
VUkgdGV4dAorICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ1aVRleHQ6IHsiKTsKKyAgICBzb3Vy
Y2UuYXBwZW5kKCJ0aXRsZTonIiArIHRpdGxlICsgIicsIik7CisgICAgc291cmNlLmFwcGVuZCgi
ZG9uZUJ1dHRvbkxhYmVsOiciICsgU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291cmNlLmdldFN0cmlu
ZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6UElDS0VSX0RPTkVfQlVUVE9OX0xBQkVMKSkgKyAiJywi
KTsKKyAgICBzb3VyY2UuYXBwZW5kKCJjYW5jZWxCdXR0b25MYWJlbDonIiArIFN0cmluZzo6ZnJv
bVVURjgoc19yZXNvdXJjZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OlBJQ0tFUl9D
QU5DRUxfQlVUVE9OX0xBQkVMKSkgKyAiJywiKTsKKyAgICBzb3VyY2UuYXBwZW5kKCJtb250aExh
YmVsczoiICsgRGF0ZVBpY2tlckNsaWVudDo6Z2VuZXJhdGVEYXRlTGFiZWxzKFVEQVRfU1RBTkRB
TE9ORV9NT05USFMpICsgIiwiKTsKKyAgICBzb3VyY2UuYXBwZW5kKCJzaG9ydE1vbnRoTGFiZWxz
OiIgKyBEYXRlUGlja2VyQ2xpZW50OjpnZW5lcmF0ZURhdGVMYWJlbHMoVURBVF9TSE9SVF9NT05U
SFMpICsgIiwiKTsKKyAgICBzb3VyY2UuYXBwZW5kKCJkYXlzT2ZXZWVrTGFiZWxzOiIgKyBEYXRl
UGlja2VyQ2xpZW50OjpnZW5lcmF0ZURhdGVMYWJlbHMoVURBVF9TVEFOREFMT05FX1dFRUtEQVlT
KSArICIsIik7CisgICAgc291cmNlLmFwcGVuZCgiYW1QbUxhYmVsczoiICsgRGF0ZVBpY2tlckNs
aWVudDo6Z2VuZXJhdGVEYXRlTGFiZWxzKFVEQVRfQU1fUE1TKSArICIsIik7CisgICAgc291cmNl
LmFwcGVuZExpdGVyYWwoIn0sIik7CisgICAgLy8gQWRkIGRpcmVjdGlvbmFsaXR5CisgICAgYm9v
bCBpc1J0bCA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2NhbGVIYW5kbGVyOjppbnN0YW5jZSgp
LT5pc1J0bExvY2FsZSgpOworICAgIHNvdXJjZS5hcHBlbmQoImRpcmVjdGlvbjonIiArIFN0cmlu
Zyhpc1J0bCA/ICJydGwiIDogImx0ciIpICsgIicsIik7CisgICAgc291cmNlLmFwcGVuZExpdGVy
YWwoIn0pO1xuIik7CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIiB3aW5kb3cucmVtb3ZlRXZl
bnRMaXN0ZW5lcignbG9hZCcsIHNob3dJdCk7IH0pOyBcbiIpOwogICAgIHNvdXJjZS5hcHBlbmQo
dGltZUNvbnRyb2xCbGFja0JlcnJ5SnMsIHNpemVvZih0aW1lQ29udHJvbEJsYWNrQmVycnlKcykp
OwogICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCI8L3NjcmlwdD5cbiIKICAgICAgICAgICAgICAg
ICAgICAgICAgICAiPC9ib2R5PiA8L2h0bWw+XG4iKTsKQEAgLTE1Myw0ICsxODgsNTUgQEAgdm9p
ZCBEYXRlUGlja2VyQ2xpZW50Ojp3cml0ZURvY3VtZW50KERvY3VtZW50V3JpdGVyJiB3cml0ZXIp
CiB7CiAgICAgd3JpdGVyLmFkZERhdGEobV9zb3VyY2UudXRmOCgpLmRhdGEoKSwgbV9zb3VyY2Uu
dXRmOCgpLmxlbmd0aCgpKTsKIH0KKworLy8gVURBVF9mb28gYXJlIGZvciBsYWJlbHMgdGhhdCBh
cmUgbWVhbnQgdG8gYmUgZm9ybWF0dGVkIGFzIHBhcnQgb2YgYSBkYXRlLgorLy8gVURBVF9TVEFO
REFMT05FX2ZvbyBhcmUgZm9yIGxhYmVscyB0aGF0IGFyZSBkaXNwbGF5ZWQgc2VwYXJhdGVseSBm
cm9tIG90aGVyIGRhdGUgY29tcG9uZW50cy4KKy8vIEZvciBleGFtcGxlLCBVREFUX1NIT1JUX01P
TlRIUyBpbiBDYXRhbGFuIHB1dHMgYSBwcmVwb3NpdGlvbiBpbiBmcm9udCBvZiB0aGUgbW9udGgg
YnV0IFVEQVRfU1RBTkRBTE9ORV9TSE9SVF9NT05USFMgZG9lcyBub3QuCitjb25zdCBTdHJpbmcg
RGF0ZVBpY2tlckNsaWVudDo6Z2VuZXJhdGVEYXRlTGFiZWxzKFVEYXRlRm9ybWF0U3ltYm9sVHlw
ZSBzeW1ib2xUeXBlKQoreworICAgIFVFcnJvckNvZGUgdWVyclN0YXR1cyA9IFVfWkVST19FUlJP
UjsKKyAgICBEYXRlRm9ybWF0U3ltYm9scyBkYXRlU3ltYm9scyA9IERhdGVGb3JtYXRTeW1ib2xz
KHVlcnJTdGF0dXMpOyAvLyBjb25zdHJ1Y3RvciB3aWxsIG5ldmVyIGZhaWwKKyAgICBjb25zdCBV
bmljb2RlU3RyaW5nKiBsYWJlbHMgPSAwOworICAgIGludDMyX3QgbGFiZWxDb3VudCA9IDA7CisK
KyAgICBzd2l0Y2ggKHN5bWJvbFR5cGUpIHsKKyAgICAvLyBkYXRlU3ltYm9scyByZXRhaW4gb3du
ZXJzaGlwIG9mIHJldHVybiB2YWx1ZXMgZnJvbSBnZXRGb28gY2FsbHMKKyAgICBjYXNlIFVEQVRf
U1RBTkRBTE9ORV9NT05USFM6CisgICAgICAgIGxhYmVsQ291bnQgPSAxMjsKKyAgICAgICAgbGFi
ZWxzID0gZGF0ZVN5bWJvbHMuZ2V0TW9udGhzKGxhYmVsQ291bnQsIERhdGVGb3JtYXRTeW1ib2xz
OjpTVEFOREFMT05FLCBEYXRlRm9ybWF0U3ltYm9sczo6V0lERSk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgVURBVF9TVEFOREFMT05FX1NIT1JUX01PTlRIUzoKKyAgICAgICAgbGFiZWxDb3Vu
dCA9IDEyOworICAgICAgICBsYWJlbHMgPSBkYXRlU3ltYm9scy5nZXRNb250aHMobGFiZWxDb3Vu
dCwgRGF0ZUZvcm1hdFN5bWJvbHM6OlNUQU5EQUxPTkUsIERhdGVGb3JtYXRTeW1ib2xzOjpBQkJS
RVZJQVRFRCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgVURBVF9TSE9SVF9NT05USFM6Cisg
ICAgICAgIGxhYmVsQ291bnQgPSAxMjsKKyAgICAgICAgbGFiZWxzID0gZGF0ZVN5bWJvbHMuZ2V0
TW9udGhzKGxhYmVsQ291bnQsIERhdGVGb3JtYXRTeW1ib2xzOjpGT1JNQVQsIERhdGVGb3JtYXRT
eW1ib2xzOjpBQkJSRVZJQVRFRCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgVURBVF9TVEFO
REFMT05FX1dFRUtEQVlTOgorICAgICAgICBsYWJlbENvdW50ID0gODsKKyAgICAgICAgLy8gZ2V0
V2Vla2RheXMgcmV0dXJucyBhbiBhcnJheSB3aGVyZSB0aGUgemVyb2V0aCBlbGVtZW50IGlzIGVt
cHR5OyB0aGUgZmlyc3QgbGFiZWwgaXMgcGxhY2VkIGluIGluZGV4IDEKKyAgICAgICAgbGFiZWxz
ID0gJihkYXRlU3ltYm9scy5nZXRXZWVrZGF5cyhsYWJlbENvdW50LCBEYXRlRm9ybWF0U3ltYm9s
czo6U1RBTkRBTE9ORSwgRGF0ZUZvcm1hdFN5bWJvbHM6OldJREUpKVsxXTsgLy8gc2tpcCB6ZXJv
ZXRoIGVsZW1lbnQKKyAgICAgICAgLS1sYWJlbENvdW50OworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFVEQVRfQU1fUE1TOgorICAgICAgICBsYWJlbENvdW50ID0gMjsKKyAgICAgICAgbGFiZWxz
ID0gZGF0ZVN5bWJvbHMuZ2V0QW1QbVN0cmluZ3MobGFiZWxDb3VudCk7CisgICAgICAgIGJyZWFr
OworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVCgwKTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorCisgICAgU3RyaW5nQnVpbGRlciBwcmludGVkTGFiZWxzOworICAgIHByaW50ZWRMYWJlbHMu
YXBwZW5kTGl0ZXJhbCgiWyIpOworICAgIGZvciAoaW50MzJfdCBpID0gMDsgaSA8IGxhYmVsQ291
bnQ7ICsraSkgeworICAgICAgICBTdHJpbmcgZXNjYXBlZExhYmVsID0gU3RyaW5nKGxhYmVsc1tp
XS5nZXRCdWZmZXIoKSwgbGFiZWxzW2ldLmxlbmd0aCgpKS5yZXBsYWNlKCdcXCcsICJcXFxcIiku
cmVwbGFjZSgnXCcnLCAiXFwnIik7IC8vIFRPRE8gUFIgMjQzNTQ3OiByZWZhY3RvciBlc2NhcGlu
ZyBvZiBzdHJpbmdzIGZvciBEYXRlUGlja2VyQ2xpZW50IGFuZCBTZWxlY3RQb3B1cENsaWVudAor
ICAgICAgICBwcmludGVkTGFiZWxzLmFwcGVuZCgiJyIgKyBlc2NhcGVkTGFiZWwgKyAiJyIpOwor
ICAgICAgICBpZiAoaSA8IGxhYmVsQ291bnQgLSAxKQorICAgICAgICAgICAgcHJpbnRlZExhYmVs
cy5hcHBlbmRMaXRlcmFsKCIsIik7CisgICAgfQorICAgIHByaW50ZWRMYWJlbHMuYXBwZW5kTGl0
ZXJhbCgiXSIpOworICAgIHJldHVybiBwcmludGVkTGFiZWxzLnRvU3RyaW5nKCk7Cit9CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBp
Y2tlckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Rh
dGVQaWNrZXJDbGllbnQuaAppbmRleCA0NGMyZGM2Li40YzVjZjhkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRlUGlja2VyQ2xp
ZW50LmgKQEAgLTIxLDYgKzIxLDcgQEAKIAogI2luY2x1ZGUgIlBhZ2VQb3B1cENsaWVudC5oIgog
I2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybUlucHV0RXZlbnRzLmg+CisjaW5jbHVkZSA8dW5p
Y29kZS91ZGF0Lmg+CiAKIG5hbWVzcGFjZSBCbGFja0JlcnJ5IHsKIG5hbWVzcGFjZSBQbGF0Zm9y
bSB7CkBAIC01Myw2ICs1NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsb3NlUG9wdXAoKTsKIAog
cHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5nIGdlbmVyYXRlRGF0ZUxhYmVscyhVRGF0
ZUZvcm1hdFN5bWJvbFR5cGUpOworCiAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkJsYWNrQmVy
cnlJbnB1dFR5cGUgbV90eXBlOwogICAgIFN0cmluZyBtX3NvdXJjZTsKICAgICBCbGFja0JlcnJ5
OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiBtX3dlYlBhZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvU2VsZWN0UG9wdXBDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L1NlbGVjdFBvcHVwQ2xpZW50
LmNwcAppbmRleCBhM2UwMDFlLi5iNzI0ZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvU2VsZWN0UG9wdXBDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9TZWxlY3RQb3B1cENsaWVudC5jcHAK
QEAgLTM0LDEyICszNCwxNiBAQAogI2luY2x1ZGUgIldlYlBhZ2VfcC5oIgogCiAjaW5jbHVkZSA8
QmxhY2tCZXJyeVBsYXRmb3JtU3RyaW5nLmg+CisjaW5jbHVkZSA8TG9jYWxlSGFuZGxlci5oPgor
I2luY2x1ZGUgPExvY2FsaXplUmVzb3VyY2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdC
dWlsZGVyLmg+CiAKICNkZWZpbmUgQ0VMTF9IRUlHSFQgMzAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitERUZJTkVfU1RBVElDX0xPQ0FMKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2NhbGl6ZVJl
c291cmNlLCBzX3Jlc291cmNlLCAoKSk7CisKIFNlbGVjdFBvcHVwQ2xpZW50OjpTZWxlY3RQb3B1
cENsaWVudChib29sIG11bHRpcGxlLCBpbnQgc2l6ZSwgY29uc3QgU2NvcGVBcnJheTxCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6U3RyaW5nPiYgbGFiZWxzLCBib29sKiBlbmFibGVkcywKICAgICBjb25z
dCBpbnQqIGl0ZW1UeXBlLCBib29sKiBzZWxlY3RlZHMsIEJsYWNrQmVycnk6OldlYktpdDo6V2Vi
UGFnZVByaXZhdGUqIHdlYlBhZ2UsIEhUTUxTZWxlY3RFbGVtZW50KiBlbGVtZW50KQogICAgIDog
bV9tdWx0aXBsZShtdWx0aXBsZSkKQEAgLTc1LDE1ICs3OSwxOCBAQCB2b2lkIFNlbGVjdFBvcHVw
Q2xpZW50OjpnZW5lcmF0ZUhUTUwoYm9vbCBtdWx0aXBsZSwgaW50IHNpemUsIGNvbnN0IFNjb3Bl
QXJyYXk8QgogICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCI8L3N0eWxlPlxuPHN0eWxlPiIpOwog
ICAgIHNvdXJjZS5hcHBlbmQoc2VsZWN0Q29udHJvbEJsYWNrQmVycnlDc3MsCiAgICAgICAgICAg
ICBzaXplb2Yoc2VsZWN0Q29udHJvbEJsYWNrQmVycnlDc3MpKTsKLSAgICBzb3VyY2UuYXBwZW5k
TGl0ZXJhbCgiPC9zdHlsZT48L2hlYWQ+PGJvZHk+XG4iCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIjxzY3JpcHQ+XG4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgIndpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24gKCkgeyIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRl
cmFsKCI8L3N0eWxlPjwvaGVhZD48Ym9keT5cbiIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFs
KCI8c2NyaXB0PlxuIik7CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIndpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24gc2hvd0l0KCkgeyIpOworICAgIHNvdXJjZS5hcHBl
bmRMaXRlcmFsKCJ3aW5kb3cuc2VsZWN0LnNob3coeyIpOworICAgIC8vIEluZGljYXRlIGlmIGl0
IGlzIGEgbXVsdGlzZWxlY3QuCisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoImlzTXVsdGlTZWxl
Y3Q6Iik7CiAgICAgaWYgKG1fbXVsdGlwbGUpCi0gICAgICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFs
KCJ3aW5kb3cuc2VsZWN0LnNob3codHJ1ZSwgIik7CisgICAgICAgIHNvdXJjZS5hcHBlbmRMaXRl
cmFsKCJ0cnVlLCIpOwogICAgIGVsc2UKLSAgICAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIndp
bmRvdy5zZWxlY3Quc2hvdyhmYWxzZSwgIik7CisgICAgICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFs
KCJmYWxzZSwiKTsKICAgICAvLyBBZGQgbGFiZWxzLgotICAgIHNvdXJjZS5hcHBlbmQoJ1snKTsK
KyAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgibGFiZWxzOiBbIik7CiAgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBzaXplOyBpKyspIHsKICAgICAgICAgc291cmNlLmFwcGVuZCgiJyIgKyBTdHJpbmco
bGFiZWxzW2ldKS5yZXBsYWNlV2l0aExpdGVyYWwoJ1xcJywgIlxcXFwiKS5yZXBsYWNlV2l0aExp
dGVyYWwoJ1wnJywgIlxcJyIpICsgIiciKTsKICAgICAgICAgLy8gRG9uJ3QgYXBwZW5kICcsJyB0
byBsYXN0IGVsZW1lbnQuCkBAIC05Miw3ICs5OSw3IEBAIHZvaWQgU2VsZWN0UG9wdXBDbGllbnQ6
OmdlbmVyYXRlSFRNTChib29sIG11bHRpcGxlLCBpbnQgc2l6ZSwgY29uc3QgU2NvcGVBcnJheTxC
CiAgICAgfQogICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJdLCAiKTsKICAgICAvLyBBZGQgZW5h
Ymxlcy4KLSAgICBzb3VyY2UuYXBwZW5kKCdbJyk7CisgICAgc291cmNlLmFwcGVuZCgiZW5hYmxl
ZHM6IFsiKTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7IGkrKykgewogICAgICAgICBp
ZiAoZW5hYmxlZHNbaV0pCiAgICAgICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgidHJ1ZSIp
OwpAQCAtMTA0LDcgKzExMSw3IEBAIHZvaWQgU2VsZWN0UG9wdXBDbGllbnQ6OmdlbmVyYXRlSFRN
TChib29sIG11bHRpcGxlLCBpbnQgc2l6ZSwgY29uc3QgU2NvcGVBcnJheTxCCiAgICAgfQogICAg
IHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJdLCAiKTsKICAgICAvLyBBZGQgaXRlbVR5cGUuCi0gICAg
c291cmNlLmFwcGVuZCgnWycpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJpdGVtVHlwZXM6
IFsiKTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7IGkrKykgewogICAgICAgICBzb3Vy
Y2UuYXBwZW5kTnVtYmVyKGl0ZW1UeXBlW2ldKTsKICAgICAgICAgLy8gRG9uJ3QgYXBwZW5kICcs
JyB0byBsYXN0IGVsZW1lbnQuCkBAIC0xMTMsNyArMTIwLDcgQEAgdm9pZCBTZWxlY3RQb3B1cENs
aWVudDo6Z2VuZXJhdGVIVE1MKGJvb2wgbXVsdGlwbGUsIGludCBzaXplLCBjb25zdCBTY29wZUFy
cmF5PEIKICAgICB9CiAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIl0sICIpOwogICAgIC8vIEFk
ZCBzZWxlY3RlZHMKLSAgICBzb3VyY2UuYXBwZW5kKCdbJyk7CisgICAgc291cmNlLmFwcGVuZExp
dGVyYWwoInNlbGVjdGVkczogWyIpOwogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZTsgaSsr
KSB7CiAgICAgICAgIGlmIChzZWxlY3RlZHNbaV0pCiAgICAgICAgICAgICBzb3VyY2UuYXBwZW5k
TGl0ZXJhbCgidHJ1ZSIpOwpAQCAtMTIzLDEyICsxMzAsMTggQEAgdm9pZCBTZWxlY3RQb3B1cENs
aWVudDo6Z2VuZXJhdGVIVE1MKGJvb2wgbXVsdGlwbGUsIGludCBzaXplLCBjb25zdCBTY29wZUFy
cmF5PEIKICAgICAgICAgaWYgKGkgIT0gc2l6ZSAtIDEpCiAgICAgICAgICAgICBzb3VyY2UuYXBw
ZW5kTGl0ZXJhbCgiLCAiKTsKICAgICB9Ci0gICAgc291cmNlLmFwcGVuZExpdGVyYWwoIl0gIgot
ICAgICAgICAgICAgICAgICAgICAgICAgICIsICdDYW5jZWwnIik7Ci0gICAgLy8gSWYgbXVsdGkt
c2VsZWN0LCBhZGQgT0sgYnV0dG9uIGZvciBjb25maXJtLgotICAgIGlmIChtX211bHRpcGxlKQot
ICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiLCAnT0snIik7Ci0gICAgc291cmNlLmFwcGVu
ZExpdGVyYWwoIik7IFxuIH0pOyBcbiIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJdLCAi
KTsKKyAgICAvLyBBZGQgVUkgdGV4dAorICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ1aVRleHQ6
IHsiKTsKKyAgICBzb3VyY2UuYXBwZW5kKCJ0aXRsZTonIiArIFN0cmluZzo6ZnJvbVVURjgoc19y
ZXNvdXJjZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OlBJQ0tFUl9TRUxFQ1RfVElU
TEUpKSArICInLCIpOworICAgIHNvdXJjZS5hcHBlbmQoImRvbmVCdXR0b25MYWJlbDonIiArIFN0
cmluZzo6ZnJvbVVURjgoc19yZXNvdXJjZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06
OlBJQ0tFUl9ET05FX0JVVFRPTl9MQUJFTCkpICsgIicsIik7CisgICAgc291cmNlLmFwcGVuZCgi
Y2FuY2VsQnV0dG9uTGFiZWw6JyIgKyBTdHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3Ry
aW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpQSUNLRVJfQ0FOQ0VMX0JVVFRPTl9MQUJFTCkpICsg
IicsIik7CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIn0sIik7CisgICAgLy8gQWRkIGRpcmVj
dGlvbmFsaXR5CisgICAgYm9vbCBpc1J0bCA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2NhbGVI
YW5kbGVyOjppbnN0YW5jZSgpLT5pc1J0bExvY2FsZSgpOworICAgIHNvdXJjZS5hcHBlbmQoImRp
cmVjdGlvbjonIiArIFN0cmluZyhpc1J0bCA/ICJydGwiIDogImx0ciIpICsgIicsIik7CisgICAg
c291cmNlLmFwcGVuZExpdGVyYWwoIn0pO1xuIik7CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwo
IiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZCcsIHNob3dJdCk7IH0pOyBcbiIpOwog
ICAgIHNvdXJjZS5hcHBlbmQoc2VsZWN0Q29udHJvbEJsYWNrQmVycnlKcywgc2l6ZW9mKHNlbGVj
dENvbnRyb2xCbGFja0JlcnJ5SnMpKTsKICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiPC9zY3Jp
cHQ+XG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgIjwvYm9keT4gPC9odG1sPlxuIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201240</attachid>
            <date>2013-05-09 08:33:25 -0700</date>
            <delta_ts>2013-05-09 08:50:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>114608.diff</filename>
            <type>text/plain</type>
            <size>107681</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZTc5MGQ1Li4zMGQzMjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODcg
QEAKKzIwMTMtMDUtMDkgIEFsYmVydG8gR2FyY2lhICA8YWdhcmNpYUBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtCbGFja0JlcnJ5XSBVcHN0cmVhbSB0aGUgaW5wdXQgcG9wdXBzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTQ2MDgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNvbnRhaW5z
IGNvbnRyaWJ1dGlvbnMgZnJvbSBtYW55IG1lbWJlcnMgb2YgdGhlCisgICAgICAgIEJsYWNrQmVy
cnkgV2ViS2l0IHRlYW0sIGluY2x1ZGluZzoKKworICAgICAgICBDaHJpcyBIdXR0ZW4tQ3phcHNr
aQorICAgICAgICBEYXZpZCBIb29uCisgICAgICAgIEplc3NpY2EgQ2FvCisgICAgICAgIFJvYiBC
dWlzCisgICAgICAgIFRpYW5jaGVuZyBKaWFuZworCisgICAgICAgICogUmVzb3VyY2VzL2JsYWNr
YmVycnkvY29sb3JDb250cm9sQmxhY2tCZXJyeS5jc3M6IEFkZGVkLgorICAgICAgICAoLmNvbG9y
LXBpY2tlci1wb3B1cC1hcmVhKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItY29udGVudCk6Cisg
ICAgICAgICguY29sb3ItcGlja2VyLWJsb2NrKToKKyAgICAgICAgKCNjb2xvci1waWNrZXItc3dh
dGNoLWJsb2NrKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItc3dpdGNoZXIpOgorICAgICAgICAo
LmNvbG9yLXBpY2tlci1jaGVjay1tYXJrKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItb3B0aW9u
KToKKyAgICAgICAgKC5jb2xvci1waWNrZXItYnV0dG9uKToKKyAgICAgICAgKC5jb2xvci1waWNr
ZXItaGlnaGxpZ2h0KToKKyAgICAgICAgKGlucHV0KToKKyAgICAgICAgKC5jb2xvci1waWNrZXIt
c2hhcnApOgorICAgICAgICAoLmNvbG9yLXBpY2tlci1vZmYpOgorICAgICAgICAoLmNvbG9yLXBp
Y2tlci1pbmFjdGl2ZS1mb250KToKKyAgICAgICAgKC5jb2xvci1waWNrZXItcm93KToKKyAgICAg
ICAgKC5jb2xvci1waWNrZXItaGV4LXN0eWxlKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItaW5w
dXQpOgorICAgICAgICAoLmNvbG9yLXBpY2tlci13ZWxsKToKKyAgICAgICAgKC5jb2xvci1waWNr
ZXItaW5wdXQgLmNvbG9yLXBpY2tlci13ZWxsKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItc2xp
ZGVyKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItc2xpZGVyLW91dHB1dCk6CisgICAgICAgICgu
Y29sb3ItcGlja2VyLXJhbmdlKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItcmFuZ2U6Oi13ZWJr
aXQtc2xpZGVyLXRodW1iKToKKyAgICAgICAgKC5jb2xvci1waWNrZXItcmFuZ2U6Oi13ZWJraXQt
c2xpZGVyLXRodW1iOmFjdGl2ZSk6CisgICAgICAgICgucmVkLXJhbmdlci1iZyk6CisgICAgICAg
ICguZ3JlZW4tcmFuZ2VyLWJnKToKKyAgICAgICAgKC5ibHVlLXJhbmdlci1iZyk6CisgICAgICAg
IChAbWVkaWEgb25seSBzY3JlZW4gYW5kIChoZWlnaHQ6IDc2OHB4KSk6CisgICAgICAgIChAbWVk
aWEgb25seSBzY3JlZW4gYW5kIChoZWlnaHQ6IDcyMHB4KSk6CisgICAgICAgICogUmVzb3VyY2Vz
L2JsYWNrYmVycnkvY29sb3JDb250cm9sQmxhY2tCZXJyeS5qczogQWRkZWQuCisgICAgICAgICgu
KToKKyAgICAgICAgKiBSZXNvdXJjZXMvYmxhY2tiZXJyeS9wb3B1cENvbnRyb2xCbGFja0JlcnJ5
LmNzczoKKyAgICAgICAgKGJvZHkpOgorICAgICAgICAoLnBvcHVwLWFyZWEpOgorICAgICAgICAo
LnBvcHVwLWhlYWRlcik6CisgICAgICAgICgucG9wdXAtY29udGVudCk6CisgICAgICAgICgucG9w
dXAtYnV0dG9ucyk6CisgICAgICAgICgucG9wdXAtYnV0dG9uKToKKyAgICAgICAgKEBtZWRpYSBv
bmx5IHNjcmVlbiBhbmQgKHdpZHRoOiA3MjBweCkgYW5kIChoZWlnaHQ6IDcyMHB4KSk6CisgICAg
ICAgICogUmVzb3VyY2VzL2JsYWNrYmVycnkvc2VsZWN0Q29udHJvbEJsYWNrQmVycnkuY3NzOgor
ICAgICAgICAoLnBvcHVwLWNvbnRlbnQpOgorICAgICAgICAoQG1lZGlhIChtaW4taGVpZ2h0OiA5
MThweCkpOgorICAgICAgICAoLm9wdGlvbik6CisgICAgICAgIChAbWVkaWEgb25seSBzY3JlZW4g
YW5kICh3aWR0aDogNzIwcHgpIGFuZCAoaGVpZ2h0OiA3MjBweCkpOgorICAgICAgICAoLmNvbnRl
bnRzKToKKyAgICAgICAgKC5vcHRpb246YWN0aXZlKToKKyAgICAgICAgKC5zZWxlY3RlZCk6Cisg
ICAgICAgICguc2VsZWN0ZWQgLmNvbnRlbnRzOjphZnRlcik6CisgICAgICAgICgudGV4dCk6Cisg
ICAgICAgICguZGlzYWJsZWQpOgorICAgICAgICAoLm9wdGdyb3VwKToKKyAgICAgICAgKC5vcHRn
cm91cC1vcHRpb24pOgorICAgICAgICAqIFJlc291cmNlcy9ibGFja2JlcnJ5L3NlbGVjdENvbnRy
b2xCbGFja0JlcnJ5LmpzOgorICAgICAgICAoLik6CisgICAgICAgICogUmVzb3VyY2VzL2JsYWNr
YmVycnkvdGltZUNvbnRyb2xCbGFja0JlcnJ5LmNzczogQWRkZWQuCisgICAgICAgICgjcG9wdXAt
Y29udGVudC10aW1lKToKKyAgICAgICAgKC5jb2x1bW4pOgorICAgICAgICAoLmNvbHVtbjpub3Qo
Omxhc3QtY2hpbGQpKToKKyAgICAgICAgKC5jZWxsKToKKyAgICAgICAgKC55ZWFybW9udGhkYXRl
IC5jZWxsIGRpdjpsYXN0LWNoaWxkKToKKyAgICAgICAgKC5yb3ctaGlnaGxpZ2h0LWNvbnRhaW5l
cik6CisgICAgICAgICgucm93LWhpZ2hsaWdodC1maWxsZXIpOgorICAgICAgICAoLnJvdy1oaWdo
bGlnaHQpOgorICAgICAgICAoLnRhbGwtYml0KToKKyAgICAgICAgKEBtZWRpYSBvbmx5IHNjcmVl
biBhbmQgKHdpZHRoOiA3MjBweCkgYW5kIChoZWlnaHQ6IDcyMHB4KSk6CisgICAgICAgICogUmVz
b3VyY2VzL2JsYWNrYmVycnkvdGltZUNvbnRyb2xCbGFja0JlcnJ5LmpzOiBBZGRlZC4KKyAgICAg
ICAgKC4pOgorCiAyMDEzLTA1LTA5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBidWlsZCBmaXggYWZ0ZXIgcjE0OTc5Ni4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9ibGFja2JlcnJ5L2NvbG9yQ29udHJv
bEJsYWNrQmVycnkuY3NzIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvY29s
b3JDb250cm9sQmxhY2tCZXJyeS5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYzk0MTI3MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9i
bGFja2JlcnJ5L2NvbG9yQ29udHJvbEJsYWNrQmVycnkuY3NzCkBAIC0wLDAgKzEsMTk0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEyLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICovCisuY29sb3ItcGlja2VyLXBvcHVwLWFyZWEgeworICAgIG1h
eC1oZWlnaHQ6IG5vbmU7Cit9CisKKy5jb2xvci1waWNrZXItY29udGVudCB7CisgICAgaGVpZ2h0
OiA4MzVweDsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworfQorCisuY29sb3ItcGlja2VyLWJsb2Nr
IHsKKyAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsKK30KKworI2NvbG9yLXBpY2tlci1zd2F0Y2gt
YmxvY2sgeworICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOworfQorCisuY29s
b3ItcGlja2VyLXN3aXRjaGVyIHsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgbWFyZ2lu
OiAyNXB4IDI1cHggNDBweCAyNXB4OworICAgIGhlaWdodDogODRweDsKKyAgICBib3JkZXItd2lk
dGg6IDhweDsKKyAgICBib3JkZXItaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZC
T1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUIwQUFBQlJDQVlBQUFBdUNhMFlBQUFBR1hSRldIUlRiMlow
ZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTJacFZGaDBXRTFNT21OdmJTNWha
RzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1F
MXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQw
aVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1
TUMxak1EWXdJRFl4TGpFek5EYzNOeXdnTWpBeE1DOHdNaTh4TWkweE56b3pNam93TUNBZ0lDQWdJ
Q0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5
OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEds
dmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlp
WlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZ
V1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6
cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2s5
eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRveE1rVkJNRFZHTnpBNE1qQTJPREV4
UVVJd09FWTBNekJFTVRjME5rTTRRU0lnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBa
RHBGUlRZeFJVTXhRekUzT0VFeE1VVXlRVVkwUWpoRlJEbEJSVVEyUmpGRlJDSWdlRzF3VFUwNlNX
NXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcEZSVFl4UlVNeFFqRTNPRUV4TVVVeVFVWTBRamhGUkRs
QlJVUTJSakZGUkNJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0Fn
UTFNMUlFMWhZMmx1ZEc5emFDSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBi
bk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPakJHTURaRE1FSkdSVVl5TURZNE1URTVOVVpGUlRNMk1U
VTRORGN4UkVRNUlpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qRXlSVUV3TlVZ
M01EZ3lNRFk0TVRGQlFqQTRSalF6TUVReE56UTJRemhCSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIw
YVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQ
U0p5SWo4K0RGRlZVZ0FBQkFsSlJFRlVlTnJzV3MxUEUwRVUzOWx1ditpSFNOR0RndFZFRDE3MHlK
a1lEaVFRRFFteEVrOGM5UDhnL0JONjRLVEdLQklOSkp3TVo4NWNPUGhKUFNtZ2ROdXlueDNmRzk2
VXNiWmFZTnVTc0pQOE10dmRtZmViOXpHemI3ckRPT2Rhcy9MMTg5Y0VWSEZBREJEVjJpOHV3QUhZ
K1d0NXExa0Qxa2dLWkVpU0ljS1RGaHRnQXJuVGtoUUlNMFNvdlgzM052N2s2Wk1MeFdJeFV5NlhV
OWkyRFJLZVRxY3J3OFBENXVOSGozL2N1M3ZQcHZ0SWJQNUZ1dlZscXgrcVByd3V6QlF1cnErdkQ5
VnFOVW5FajZDZDZLUHJPaDhaR2ZuMjhzWEw3M1MvZXVYcWxWOTFVaUJNd3ZYNVVxbWtqZDRadmI2
OXZYMk9pS3FBZmZJUi84Y0FtRktqZTVLa0FCc2NITnhiZTcvMkladk40dk5kSUxaMGFvem0wNmJ2
VDE4R3dpejVZb2RnRXJHRTFRVHFjMVBwYTZPOG1ZY3pROFNURmxZZ0xXUFBuaitMYjI1dVhxRG8y
d2FnS1NxQXNnTHpIMURiVmFnL0Vyc2JHeHVEcjE2L0VqTUIrQkk2R0NTT1JsbDhzNGlFSG1DUGhG
UUkxZjlvMmFodFZlbGJJbm1la00rRUF4SUcweGo2UUN0dUZUUGt1NS9VMGFWQjFBai9DeWpwVjUz
Z0V5S0F4S2VQbjlMc29Fbk1vSnVhV1RZNWtWYW9kaFRDbzBhdkpPVlNubVZiU1hvZU1lUUliZHYy
bE5YRVVUcnhJeTRJWEJtb1EvSmQwelFOT1NoRG1mS2VBbDh4NlhHS0hDejdReTV4R2V5UVZmaUFN
ZVlmUTd0V0JRZnV3MXB3SUp1NERLV0JyL2l3RmhBcFYrVDU4cVpxWGg2Z2hzM04zY1M4L0JqcmJM
dUVvcFpjdXRhRFlyVDF3Z3FxTkRGdkZ6aEQ4M2JCdkVhTDVZc0hQa2REODlZZnN1QUcwaXlaUDB2
bTdZR212Vm1SbEtEaEhaNm5YSEwxU05Nd2tMb1VTSjFYbERVc2cvSUcxcDBlU0QyUStNRWlpV0Vk
K0pTcHl3NERxUnVCRkdyYXRieTM0MitaMDVHWXFiNE5PakZybEhjMkE2bW5LV2dub3ZjVTdFL0RR
QXIvNk9pSWVZTk96RkJXZlkvYTRtKzZlaElWWkZaVzM4dWN3Y1FzM0VDRjVnMWlHV3ljVDUzY1FJ
WFIyN3ZvN1ZRMmNmaHFZd2ZwZmlxVlluOGFJYkFpck5uZjM4L28reW1Ybnh5MWZENHZRODNRZ2cz
ZGlDb2YrWkJVbkVFWUh4K1hHcVlDMWxUSUd4c2JrNzhkSFhTMlVlOEhoUWN1amF6UDg3eG9FR3dv
QitRSjBzTDlnc2VFVjVtdHgrS3hmYmh5YnQyK1ZaNmJtOE9QNWF4V3F3MjRycHM4Q1NIMlJ6bDRQ
VDgvbjBENXlDUDRjTEd3YlRzSnVHUloxczNaMmRrYjBHNFlNQVJSbk5OMVBSR0x4ZlIyZ2UyeEgv
WkhPU2dQNWFKODVCRzdPSm0vT0k2REp6cFNrVWdrdDdLeTRrSGowdTd1N3JHWHc0R0JBYmF3c0pD
ZG1KZ3dmTi9Ib3djVkdOVGhpWTY2aHgxSG5GMkIwV1oyZG5iNmxwZVhyZFhWMWYybHBTVzNYYktw
cWFrb0JHVnljbkl5a2N2bHFtQmljUTRDQ1A4K3U2TDRRcHpTQVJPbENQSjRVTHZGQVprMm9JSkF3
bWcwMnZxVVRnUDVpYzhqZ1haV00vbS9CUmdBN0xINDJnTTdHRDRBQUFBQVNVVk9SSzVDWUlJPSkg
OCA4IDggOCBmaWxsIHN0cmV0Y2g7Cit9CisKKy5jb2xvci1waWNrZXItY2hlY2stbWFyayB7Cisg
ICAgd2lkdGg6IDgxcHg7CisgICAgaGVpZ2h0OiA4MXB4OworICAgIGJhY2tncm91bmQtaW1hZ2U6
IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUZFQUFB
QlJDQVlBQUFDcWowbzJBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdS
NWNjbGxQQUFBQTJacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRs
ZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJ
ajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVH
MXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TUMxak1EWXdJRFl4TGpFek5EYzNOeXdnTWpB
eE1DOHdNaTh4TWkweE56b3pNam93TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02
Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZ
WGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2Ju
TTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUho
dGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1
Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWla
UzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVH
MXdMbVJwWkRvMVJqSkRNREk1UVRGQk5EaEZNVEV4T1RoQ09UZzVNekZFTVVRNE9ERkNRaUlnZUcx
d1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG95T0VFMVFqYzRNa0UwTnpReE1VVXhRVGsz
TWpsRVJqRTJSakk0TkRJeU15SWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEb3lP
RUUxUWpjNE1VRTBOelF4TVVVeFFUazNNamxFUmpFMlJqSTROREl5TXlJZ2VHMXdPa055WldGMGIz
SlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnUTFNMUlFMWhZMmx1ZEc5emFDSStJRHg0YlhC
TlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa1JF
TWpCQlJrSkZOREF5TWpZNE1URTRSall5T1VKRVJqa3pORGRGUlRJd0lpQnpkRkpsWmpwa2IyTjFi
V1Z1ZEVsRVBTSjRiWEF1Wkdsa09qVkdNa013TWpsQk1VRTBPRVV4TVRFNU9FSTVPRGt6TVVReFJE
ZzRNVUpDSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURw
NGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K0NJMk1FQUFBQ25oSlJFRlVlTnJz
bkh0TWsxa1d3TnZTRm1pcGdBakVFUkJaYVRCTUZoMGdzMFlFbzFISWFseERqSXFLVDJLSVQ5Q284
UThmMGZoTWZLS0pHbzJKWktPSmhoajlRMEZCQlJNeW1YRW5ia0ppV0dSRVlEYUlXQXIwVGRzOXAz
TnZ2ZFkrNk9OcnkreDNrNVAyZ3o3dS9mV2NlODY1OTl4UGFMVmFCWHp6cjRsNEJEeEVIaUlQa1c4
OFJCNGlENUdIeURjZUlqZE5IQVo5RURLUHpvUnRWaGNpWUI3L2J5Q3lrTkFhSXBoSCtsemtBSklD
c3hBeEU3RXdqNDVnLzNRUWhjd1VRb0dKaVVnWUVUdkFaQ0d5OEVaQlRJeU1FakV6b0lPaW9lSWdB
cVR3S0N3cFNDU1JLT2FhaGVrTUlndlBBR0lFMFpQblZPaHJiREJUVWxLc1BUMDkzQTJPNDFVY2Fv
NVU2NlFFR0lvTVJFNGVvOSs4ZVJQWDNOd2MzOWJXSnYvdzRZTllxOVdLNEZGcU5CcHRFS1ZTcVRV
dExjMG9rOGtzOERpYW5aMnRLU3dzVk9YazVBekN2M1VnR2hBdEVSMERtR29uWjJiT0pVUWhZNVpT
Qmx3TWlBS2xwYVVscWE2dUxxbXBxVWsrTUREZ2sxVWtKQ1NNenA4L1g3Tml4WXErMmJObjk4T2Zo
b21NRUtCNkF0UFJ6TU1hSXF0OUVtS2lNZ0p1QWtqYy9mdjNVNjVldlpyODl1M2J5RUIrY1ZaV2xx
R3lzckp2K2ZMbGFMdW9vVU1FcUpab3Bva0xyUXcwUkJZZ2FsODAwYnhZa0ltdlhyMmFjdWpRb2RU
Mjl2WklMdWNRcFZKcE9IcjBhSGRCUVVFdlhLb0kwQkZpNXNaQWd3d2tSQXBRekdnZmFsNzg4UEJ3
RXNETHZIZnZYbXd3UTQvUzBsTDE4ZVBILzZOUUtENFNtRU9NVm80R0NtU2dJRG9DUkljUmgxTVdP
SXlVSFR0Mi9LV3pzMU1haW9BMEl5UERXRk5UOHc0Y0VKcjRBTkZLVFNCQkJnb2lqZnVpR0lDSkRR
ME4wM2J1M0RsMVpHUWtJcFFwVVV4TWpQblNwVXRkaXhZdCtnMHUreG1RZXNiaGhEUjNadWRBR1FV
SXBqc2RKdmxwb1FhSURmdUFmUUdIbG9sOUkzMlVrVDVIT0Vrdmc2cUpyQmRHRFl3SHdaQWxvNktp
SW9QR2VPSFNNTmE4Y2VOR0o0UkVuWEJKNTBtdGc3TUpPa1NhZ2NpSUIwNkNPWERheXBVcmxlR2dn
YzRhQnV0Mzd0eHB6ODNOcFNEVkJLVEpWN1AyQnlKMUpGSEVDMC9TNlhRcHhjWEZPYUZ5SXQ0NG0v
cjYramZSMGRIb2JENFJyNjFuSEUxUTVrU2FDMU9JR0VoUDNMOS92ekxjQVdMRFBtSmZzYytrNzFG
T2N2V2dPQllSNDB3bVlDRDk0TUdEQ1lKeDByQ3YyR2RpUmRUSmlJSnB6aEVrSG93aDNtNEttUEVQ
YlcxdFVlRUFLRDA5WFZGU1VwTGEzOSt2Zi9qdzRYdVR5ZVIwcnN2T3p0YURXZjhMbnZhUzBHZUV4
STltcnBmQ1dGUEd0RTV4OSs3ZGxEQUJLS3FxcXZwaCsvYnRDNk9pb216VENwanR3T3JWcS8vWjBk
R2hjbnd4OWhuN3ZtclZxaUVDVU04NEdDdVg1aXhrTk5HMnNIRHIxcTJrY0FDNFo4K2VINnVycS84
ZUdSa3BSUXREbVR4NWNzTFpzMmYvWWJGWUpNN2VSUHF1SUdPSjlDVnU5QldpUFQ5dWFXbEpEQU10
dEFHRTdHaWhTQ1Q2QnNETW1UUFR6R1p6dExNM1l0OXhEQXhFTWRjUVdWTzI1Y2gxZFhYSm9RYTRl
L2Z1SHlFL1h5aUVSaldRRlloWmdhSFo1Y29SR1lPY2dlaVZsL1psVHFRWkNtcGY5SXNYTCtUaEJO
Qlp1MzM3ZGcvKzI5V0hrREZFa3pGSnlCaEh1ZFpFMng0Skx1bURCeFNIR3FBekU2YXRvYUZoOFBE
aHc3OUdSRVRvWEwwR3g0QmpJV0dPeEZ0TjlBV2lmY1g2K2ZQbjhTSDB3dm5vaFYyWk1BcUVMK3F5
c3JKV0FQZzdnTmE3KzBBeWxraEdFemt6NTY4Mm5kNjlleWNMQmNCZHUzYmxnd1lXdXpOaDBFRDFt
alZyV3NWaThYdUpSRElJRU4zR2ZtUXM3Sll0cHhEdGU4Ynd4Wkp3QmJoMjdWb0UrSnRVS3YwTUFE
M09iMTFkWFJKR0N6azNaenZFdnI0K1NTZ0FlcGdEdlFhSXJiZTNsOVZDRWRlYWFBZXBWcXVEVlJB
bGdoZ1E1MEMzR3ZqMDZWT2ZBR0xUYURSc2dZR1E2eERIWGtlajErdEY0UVN3dkx6Y0o0RFl5RmlF
M2dMMEZhSlBDeDF6NXN4Sm5qVnJWakprQnowUVRneU1GU0NZYi82MmJkczhBbHkzYnAzUEFQMXR2
a0MwVjE1QmttL3hwSTBRWGtocWEydEw4L0x5c3ZBYU5NcjY2TkdqbnlCTmUrYkJZNDRKNExObnp3
SUNFTWNpOExHcVRPUWpRRnQxVm14c3JOdmxkQmk0YU4rK2ZYTnpjM096YU95R1FKWXVYZnEzNjll
dkw3TllMSzYyRUVRQU8zL3IxcTNGN3VMQVFHcWdYQzVueS9hOEF1a0xSSHQ1VzFKU2t0dE9ZNzZh
azVPVDZRekF2SG56dnI5Mjdab3prS0xLeXNxOHNRQmN2MzU5d0V5WWpJVXR6UXNLUk5QMDZkT043
bDRNZ0tRcWxjcmlDb1FUa0RhQVlNWWxuZ0J1MkxBaG9ITWdHVXZRSU5JQ1N5TjhzYzZ0TnhFS0xa
RDhkN2w3RFFOU1FnRzZpd054RHR5NGNXUEFuUWdaaTJNcEhxY1FjZlhYV0ZCUW9QTGdWQXd3Nkk0
elo4NjhkNlZWS0VWRlJkL1gxZFZ0Z0huUXJRWnlCUkFiR1l0UjhIWGxHS2ZtYkt0U0JZZWhTa3hN
ZERrUUdLUUpCdnZwNHNXTHIwK2RPdFh0RHVTTUdUTytDeFZBSEFPT1JmQ2wvSTd6N1FHcWliZ3Fv
Z056MUxpRERvTWVnZkNoNS9MbHl6K2ZQbjNhTFVoM0FEZHQyc1JaSEVqR29CTjgyWHYyYXFQS1Yw
MGNKYithdHJTMDlLT25lVkVpa1F3QnlHNEVDYWJkN2MwWE5qWTJxamR2M3N4cElFM0dvQTJtSmxv
WmlKcTVjK2QreEFwVmIwQ09WU09EQVJBTFFuRU1nbS9MN1FSY1F6U1RTUmgvdmVHS2lvbytqM2tm
QS9MS2xTczJqUXcxUUd4YnRtekJ2ZzhMdnEyaUhYdE82K2ZtUFc0MVRnS1pVbGhZbURlV0VoTE1Z
a3dtMHdSSUYxTWhwY3ZmdTNkdnF1TnJtcHFhMVBERGNBNFFhM0thbTV0L0VmeXhlZitKd1BSNjh6
N2l5SkVqZmkwc0VHMldaR1ptaWlGTWlRZElRZzhhYVFVb1JoQkRhMnZyaUZhcmxlWG41OGRDT0dS
N1gzMTkvU0JrS3ovQk5hY0E0WE90TlRVMTc5UFQwMytIeTg4Q0g2c2YvTkZFQ2c4MUQwdEpFa0Ft
UTV3M2E2ejFPRlFqRFFiRGR6RXhNVk1nMkkyRDdFWVAydHlMM3B6cjFaaGx5NVlOd2Z6OEt6ejly
K0NQTXVRUllzNldZSmt6QmNtVzFpVU9EdytuTEY2OCtLOWpyUXhEa0xpcFBqbzZHZ01aQzA0UFpn
eUpRRFJjQWdUdE16NSsvUGpmQ29VQ1MrdXdCc2V2MHJwQUYza212Mzc5ZWxwWldaa1NUMFI1OHpr
QTBSWnJvd1BpY3UyUEtmTEUrbTMweW9NQ1A0czgvVjJacHA3YVFNemhNM1N1RzR2TXNiVFhpOCt4
NE5vaTF3Q3hUK2ZPbmV2Q1BwSjVrSFVrVm44MHlWK0lOQTNVRWJNWUtDa3A2VHh4NGtTM2x5QUZY
QVBFUGkxWnNxU1R6SUZEcE04bVgrYkJRSm96KzJPd1J6QndJM3pTa3lkUE1xcXFxdExDNFFqR2hR
c1hQdUNQUzBJWmxVTnc3WmNGY0g0WUNPYkkxT3JxNm94UUhnWTZmLzU4SnpIaHNENE01QXdrUFpZ
MkVieDI0b0VEQjVUQkxrZkdNT2JreVpQdDRJWDd5UndZMXNmU0hFR3lCeVFWeEhQSHYzejVNdVhn
d1lPcFhHc2xhdCt4WThlNmk0cUtlb2pwcWwya2RtRjNRTklaU01lanVnZ3pycmEyTnZYbXpadUpI
UjBkQVQxdENnRzdBZkx0L3ZMeThtNWl0aFRldURxcTYraHNSQUxYaDhZbmdHYmFEbzAzTmpiS0J3
Y0hmWEkrY1hGeDVnVUxGbWh3T1FzMDc2UGd5eG5uY1gxbzNKVldzcmN2aUNaQTdRSU9LQTZneHJl
M3Q4dXd1RWlqMFlnY3pSN05WQzZYVzZaT25XcFNLcFZhZ0tZQ2gwR0RaVlowREx4eGZmc0NaN2sy
aGVuc1JocVI1RyswMEpMZStrRG9FTmpiOTNpSUdBUmYzMGlEN3BQWWQrN0crNDAwSEVFNm1qbDdP
eGV4d0xkYnVyQjNKd25KTFYyRUlicW43Si9xNWtMQ01MZ3hMMyticXdDMGtFTUlSQmpDTng0aUQ1
R0h5RGNlSWcrUmg4aEQ1QnNQa1ljWW51MS9BZ3dBU0JpYkdETGxPVElBQUFBQVNVVk9SSzVDWUlJ
PSk7Cit9CisKKy5jb2xvci1waWNrZXItb3B0aW9uIHsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgd2lkdGg6IDIwMHB4OworICAgIGNvbG9yOiAjMjYyNjI2OworICAgIGRpc3BsYXk6IC13
ZWJraXQtYm94OworICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CisgICAgLXdlYmtpdC1ib3gtYWxp
Z246IGNlbnRlcjsKKyAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7Cit9CisKKy5jb2xvci1w
aWNrZXItYnV0dG9uIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgaGVpZ2h0OiA1OHB4
OworICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoNTAlIC0gMjhweCk7IC8qIG1pbnVzIHR3byBib3Jk
ZXIgd2lkdGhzICovCisgICAgYm9yZGVyLXdpZHRoOiAxNHB4OworICAgIGJvcmRlci1pbWFnZTog
dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQjBBQUFC
UkNBWUFBQUF1Q2EwWUFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1
Y2NsbFBBQUFBMlpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxk
Q0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lq
OCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcx
d2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNQzFqTURZd0lEWXhMakV6TkRjM055d2dNakF4
TUM4d01pOHhNaTB4Tnpvek1qb3dNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZj
bVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlY
Z3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5N
NmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0
Ykc1ek9uTjBVbVZtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVj
R1V2VW1WemIzVnlZMlZTWldZaklpQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpT
NWpiMjB2ZUdGd0x6RXVNQzhpSUhodGNFMU5Pazl5YVdkcGJtRnNSRzlqZFcxbGJuUkpSRDBpZUcx
d0xtUnBaRG94TWtWQk1EVkdOekE0TWpBMk9ERXhRVUl3T0VZME16QkVNVGMwTmtNNFFTSWdlRzF3
VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEcEZSVFl4UlVNeU1ERTNPRUV4TVVVeVFVWTBR
amhGUkRsQlJVUTJSakZGUkNJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwRlJU
WXhSVU14UmpFM09FRXhNVVV5UVVZMFFqaEZSRGxCUlVRMlJqRkZSQ0lnZUcxd09rTnlaV0YwYjNK
VWIyOXNQU0pCWkc5aVpTQlFhRzkwYjNOb2IzQWdRMU0xSUUxaFkybHVkRzl6YUNJK0lEeDRiWEJO
VFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qQkdN
RFpETUVKR1JVWXlNRFk0TVRFNU5VWkZSVE0yTVRVNE5EY3hSRVE1SWlCemRGSmxaanBrYjJOMWJX
VnVkRWxFUFNKNGJYQXVaR2xrT2pFeVJVRXdOVVkzTURneU1EWTRNVEZCUWpBNFJqUXpNRVF4TnpR
MlF6aEJJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0
YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrcXRPSDRnQUFBZE5KUkVGVWVOcnNX
c3RLdzBBVXpXaEpMQzFkU0NxQzJJaUNVc2lpR3JweW0xL29SL1NMK2grRmZrSlg2YVpiUVNHNDhG
V1ZCaVhTMm83M1lBc2hKRTBqYWwvM3dnbk16SDNNZmN5MDRVWklLWlgvcGkxbEFjUkcxODlvSm01
QkNCRWM3aEZ5aEh5TXpDZmhqZkJPZUp4T3hwME1FYnZ3YlZRbEhCSUtLUnp4Q0xlRVFaenVwUENX
WU5DeUxOVnhITVB6dkROU1pJYUJlYXlEYjdMQm8xbEtaM21La0I3WXRyM1RiRGFQczluc0U0MWY0
RUVFTzR6dCtyNWZyTlZxTjYxVzY0UEdkNlQ3UHEzUkUreTYwK25BQStUcllZN1FGcnZkYnFGU3Fi
Z0lNK20rVGh0ZUZJMWltaVlLNkhuT2ZMNld5K1Y4VUQ1VjlVNDNwR2thS21vNHA5R2hxcXFKRGkz
WE9RMlJYTjhiS2VSbEdrOGxlOHJoNWZDdS9vM0VPZVdjcm01T3VYbzM4OExuSThQaDVYUEsxY3ZW
eXpubE4zRTJ1bW1YQTFjdi8zUGc5MU0rTXZ4N3lvVzBHRS9IZVBpK1AwNVJjQm5pbDBINXRFYlJY
MVBhN1RhRTlZREhzNkFUL3lnb0h4MExLU05CdEU4NHR5enJvdC92WDlKY2lhQVJSQVF3WHdJZitD
RUgrVGpkU1UzYlUwTE9NQXpSYURUVWFyVXFkRjBYWWQ1ZXJ5Y2R4NUgxZW4zZ3VpNFVvbU44dFZT
ZDRpU2pVMElETnovQmRnVDdhSkpENE9jOThiOGsvcmlDamY0S2ZRa3dBQTlNVnNpRXZvQU5BQUFB
QUVsRlRrU3VRbUNDKSAxNCAxNCAxNCAxNCBmaWxsIHN0cmV0Y2g7CisgICAgLXdlYmtpdC10cmFu
c2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTsKKyAgICAtd2Via2l0LXRyYW5zaXRp
b24tZHVyYXRpb246IDIwMG1zOworfQorCisuY29sb3ItcGlja2VyLWhpZ2hsaWdodCB7CisgICAg
bWFyZ2luOiAtMTRweDsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAg
Ym9yZGVyLXdpZHRoOiAxNHB4OworICAgIGJvcmRlci1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5n
O2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQjBBQUFCUkNBWUFBQUF1Q2EwWUFBQUFH
WFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBMlpwVkZoMFdF
MU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlC
cFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0Vn
ZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5V
Q0JEYjNKbElEVXVNQzFqTURZd0lEWXhMakV6TkRjM055d2dNakF4TUM4d01pOHhNaTB4Tnpvek1q
b3dNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNk
M0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBF
WlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZM
eTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RI
UndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZ
aklpQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhp
SUhodGNFMU5Pazl5YVdkcGJtRnNSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG94TWtWQk1EVkdO
ekE0TWpBMk9ERXhRVUl3T0VZME16QkVNVGMwTmtNNFFTSWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJE
MGllRzF3TG1ScFpEcEZSVFl4UlVNeU5ERTNPRUV4TVVVeVFVWTBRamhGUkRsQlJVUTJSakZGUkNJ
Z2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwRlJUWXhSVU15TXpFM09FRXhNVVV5
UVVZMFFqaEZSRGxCUlVRMlJqRkZSQ0lnZUcxd09rTnlaV0YwYjNKVWIyOXNQU0pCWkc5aVpTQlFh
RzkwYjNOb2IzQWdRMU0xSUUxaFkybHVkRzl6YUNJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJT
QnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qQkdNRFpETUVKR1JVWXlNRFk0TVRF
NU5VWkZSVE0yTVRVNE5EY3hSRVE1SWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xr
T2pFeVJVRXdOVVkzTURneU1EWTRNVEZCUWpBNFJqUXpNRVF4TnpRMlF6aEJJaTgrSUR3dmNtUm1P
a1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lX
TnJaWFFnWlc1a1BTSnlJajgrYmt4MTBnQUFBTGhKUkVGVWVOcnMyakVMZ3pBUWhtRlBwWm5hcWYv
L0Z6cTVWV3JTcjVDaGc5WWNCa1Y0QTRmTGtTZTVNeTdSVWtyTjBhTnRUaGlnb05kRis1SWtNK3Yw
ZUNodWltNGhaVlpNaWxIbmZ0NmNiK3ZqSVBDN3NHZGhWYUppMEp6dnZlVzlPOXJRNW9yczdtbHd0
aXpVUUwwdm0zRmtRRUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQnI0Tkc1NXlwQmpvNTBW
Y05kSFRzTnViOHY4TksvblA0dVQ4Tkt3dU5lWWQxN2s4NU1xQ2dwNk1mQVFZQVJWWW9sVmphY2Z3
QUFBQUFTVVZPUks1Q1lJST0pIDE0IDE0IDE0IDE0IGZpbGwgc3RyZXRjaDsKK30KKworaW5wdXQg
eworICAgIGZvbnQtc2l6ZTogNDBweDsKKyAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwor
fQorCisuY29sb3ItcGlja2VyLXNoYXJwIHsKKyAgICBmb250LXNpemU6IDQwcHg7CisgICAgLXdl
YmtpdC1tYXJnaW4tc3RhcnQ6IDIwcHg7Cit9CisKKy5jb2xvci1waWNrZXItb2ZmIHsKKyAgICBk
aXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CisgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRh
bnQ7Cit9CisKKy5jb2xvci1waWNrZXItaW5hY3RpdmUtZm9udCB7CisgICAgY29sb3I6ICM1NTU1
NTU7Cit9CisKKy5jb2xvci1waWNrZXItcm93IHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsK
KyAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOworICAgIG1hcmdpbi10b3A6IC01cHg7Cit9
CisKKy5jb2xvci1waWNrZXItc3dpdGNoZXIgeworICAgIGRpc3BsYXk6IC13ZWJraXQtYm94Owor
fQorCisuY29sb3ItcGlja2VyLWNvbnRlbnQgeworICAgIGRpc3BsYXk6IC13ZWJraXQtYm94Owor
ICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CisgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNh
bDsKK30KKworLmNvbG9yLXBpY2tlci1oZXgtc3R5bGUgeworICAgIGhlaWdodDogODVweDsKKyAg
ICBjb2xvcjogIzI2MjYyNjsKKyAgICBmb250LXNpemU6IDQwcHg7CisgICAgZGlzcGxheTogYmxv
Y2s7CisgICAgLXdlYmtpdC1ib3gtZmxleDogMTsKKyAgICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6
IDIwcHg7CisgICAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IDIwcHg7CisgICAgLXdlYmtpdC1tYXJn
aW4tZW5kOiAwOyAvKiBvdmVycmlkZSBkZWZhdWx0IHN0eWxlc2hlZXQgbWFyZ2luICovCit9CisK
Ky5jb2xvci1waWNrZXItaW5wdXQgeworICAgIG1hcmdpbjogNDBweCAyNXB4IDIwcHggMjVweDsK
KyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVy
OworfQorCisuY29sb3ItcGlja2VyLXdlbGwgeworICAgIG1hcmdpbjogMjBweDsKKyAgICB3aWR0
aDogMTI2cHg7CisgICAgaGVpZ2h0OiAxMjZweDsKKyAgICBib3JkZXI6IDJweCAjYWFhYWFhIHNv
bGlkOworICAgIGJvcmRlci1yYWRpdXM6IDZweDsKKyAgICBib3gtc2hhZG93OiBpbnNldCAjZmVm
ZWZlIDAgMCAwIDNweDsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKKyAgICAtd2Via2l0LWJv
eC1hbGlnbjogY2VudGVyOworICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKK30KKworLmNv
bG9yLXBpY2tlci1pbnB1dCAuY29sb3ItcGlja2VyLXdlbGwgeworICAgIG1hcmdpbjogMDsKK30K
KworLmNvbG9yLXBpY2tlci1zbGlkZXIgeworICAgIG1hcmdpbjogMjBweCAyNXB4OworICAgIGRp
c3BsYXk6IC13ZWJraXQtYm94OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7Cit9CisK
Ky5jb2xvci1waWNrZXItc2xpZGVyLW91dHB1dCB7CisgICAgd2lkdGg6IDEwMXB4OworICAgIGhl
aWdodDogODVweDsKKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgLXdlYmtpdC1tYXJnaW4t
c3RhcnQ6IDIwcHg7Cit9CisKKy5jb2xvci1waWNrZXItcmFuZ2UgeworICAgIGRpc3BsYXk6IGJs
b2NrOworICAgIC13ZWJraXQtYm94LWZsZXg6IDE7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBu
b25lICFpbXBvcnRhbnQ7CisgICAgaGVpZ2h0OiAxNHB4OworICAgIGJvcmRlcjogMnB4IHNvbGlk
ICNhYWFhYWE7CisgICAgYm9yZGVyLXJhZGl1czogN3B4OworfQorCisuY29sb3ItcGlja2VyLXJh
bmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25l
ICFpbXBvcnRhbnQ7CisgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFz
ZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEd0FBQUE5Q0FZQUFBRHhvQXJYQUFBQUdYUkZX
SFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5SnBWRmgwV0UxTU9t
TnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQw
aVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFz
Ym5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRi
M0psSURVdU1DMWpNRFl3SURZeExqRXpORGMzTnl3Z01qQXhNQzh3TWk4eE1pMHhOem96TWpvd01D
QWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5j
ekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5q
Y21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZ
V1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxt
RmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5
dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0
Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROU0JOWVdOcGJuUnZj
MmdpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2T1RKR1EwWTVNME5DTnpreE1U
RkZNVGc1T1RGRlJUTTNORVpGTVVOQk9ERWlJSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1
a2FXUTZPVEpHUTBZNU0wUkNOemt4TVRGRk1UZzVPVEZGUlRNM05FWkZNVU5CT0RFaVBpQThlRzF3
VFUwNlJHVnlhWFpsWkVaeWIyMGdjM1JTWldZNmFXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzVN
a1pEUmprelFVSTNPVEV4TVVVeE9EazVNVVZGTXpjMFJrVXhRMEU0TVNJZ2MzUlNaV1k2Wkc5amRX
MWxiblJKUkQwaWVHMXdMbVJwWkRvNU1rWkRSamt6UWtJM09URXhNVVV4T0RrNU1VVkZNemMwUmtV
eFEwRTRNU0l2UGlBOEwzSmtaanBFWlhOamNtbHdkR2x2Ymo0Z1BDOXlaR1k2VWtSR1BpQThMM2c2
ZUcxd2JXVjBZVDRnUEQ5NGNHRmphMlYwSUdWdVpEMGljaUkvUGlWcnJDa0FBQWo5U1VSQlZIamE1
SnQ3VE5SWEZzZC9Nd3dQNXdFelRNY3BWbXNSRmx5Z1dodFlhMzNFWUFSV1kweklHcE45dURiYVJx
TkJZcUxySDVyNHA3Vi9tTGhhdFJDMXRtdi9jSU5FcmFzMUdJUFB4ZTFxMmNxaTYwQmdkUUY1VG5u
SU1Nek1udS9NdWZoajhodkZVWno1Mlp1Y0RBd3o5OTdQNzV4Nzdqbm5YaVRwWjlZMDQ5eS9uc1JP
a2p6R3ozZVJ0SkVNUkMyd3grTVo5WHRNVE14YjlQS21yRytOZ3NpYlQwSEUrNjNVLzhPbmpVL2p2
WHBnR2pTT2ZueFhCcVNGTEY2ODJMcDI3ZHIzVTFOVDA1S1RrMU1zRnNzNytJNVdxOVhoMWV2MUR1
UFY2WFEyZDNSMFBHeHNiSFNVbDVmLzg4S0ZDNTM0TTR0NENQK2lzWVlpRFF5d1dUTEltSTBiTjA1
YnRXcFZRV1ptWnI3UmFKd2NUcWQ5ZlgwUDd0NjllL0hZc1dQZjdkdTNyd0hQVlFaL2k4QzlrUURP
SnBrZ1FJOGVQYnBneVpJbHY3ZGFyVGxLSC9iNWZOQ284bFBUYWlXTlJua3FuWjJkUDU0OWUvYnIx
YXRYVjh2QUh4UDBuWENBdzJrdzMxeVNQSkk1Ky9mdkwrM3U3bTZnQ2ZqazRuYTdmUzZYS3l6QmQ0
UDd3eGdZQzJQeTJMazhsM0Z0Smg1bzlvSUZDNVk0SEk0cSthU0doNGZEaGd3bDZGTStCc2JFMkpn
RHo4WDBQQURQWXcvd3ZHa2t1aTFidG1RZE9uUm92ODFtR3pGZm1saElrMzJSaGo0aE1IczBzOW1j
dW1MRmlnSWE3NGRyMTY1aEc3T3ltZmU5VE9CSkpIQkFPbHFyaTBwS1NqNk5qNDlQRWw1NlBFQ1Z3
T0VIQUI0YkcydFl1SEJoWVhwNitvUEt5c29tbVpaN1g0YlRlb3VCWXk5ZnZ2elJuRGx6MW9vLzBG
cUxTTFJFd0NNL1g3OSt2WHorL1BsSE1CMlMvNUU4ZkJIZ1JKSk1qRUVkZjVLWGwvZEg0WEZod3BG
c09wMXV4TFBmdkhuelMxTEVGd3g5bCtTbmNFdzZqcmNlbUhGQlVWRlJxVEN0U01PS2VmZzFSdENU
SmsxNkx5MHQ3YjlrM28wY3huYndGdlpjd0Fnb2RKczNiODdldEduVExsbzdNY0k1UlV1RHBZbDlP
RHM3KzhPQmdZRWFza1RBMnRpOHgyelNnSTFidEdqUm14VVZGV1Y2dlI0ZFNFTkRRMUdaQWNYRkJi
WmpBbTR2TGk3K3VLcXFxcFYrZFpIY0hnc3d2ajJUSko1aTI4OG1UNTc4UVRUREJrTTNOemRmSS9Q
K0V3UC9nS2sveTZUZmh5a2ZQSGd3bjF6L0tnRUw4NG5taGpVTjgwNUtTcHBDU21vNGMrWU10cXVK
d2FhdFVjaGZjeWpvTnpRMU5YMWxNcG13SlVrVThhZ2l1YWZZSUxBWjkvWStuRHAxNmg4b0NlbW5Y
MytVNTlkYWhZUkFSekZydnRwZzVYUEYzTUVBRm1ZS3FlRmZJUU5xYTJzN1FybHJLc3hZVGNCQ3k5
aXFLTmxvdE52dEh5R3pJcWxSV3NPL0lESHUyTEhqdllLQ2d0L2lqY0hCUWRYVnJMQnRJaWhKU0Vp
d0VQajMxZFhWclp6R2RnV2J0Qmttc0h6NThzTFhwV0RITERwbUMwUm9RZFVMM2JScDB6NVFpMmNP
MVRCM2JGUE1vcE1yVnZ4Z3djOXIxcXhKTlJnTWJ3alRBTEFhUlVTRFlGbTNibDBhY3liTGdaSHJ4
aFFXRnM2VVhyT1duNS8vTHZzcXU5eWtqWGlUZ3ZBcDhpZWw1b1pBaEJPTEtReHNsQVA3eTZvcEtT
bnZ5TTFaelEwTXlKdVpTU3VzV1N2Ymo3Vms4elo1NnFWMkRmTTZ0akduUnE1aFB6RHRYd21pblBv
Nm1EUVl3S1FFN0ljbVY2NlhmL2gxMERBemFaVDI0VkdKdGRxQlE4MWZHN1JodTBUWlJPMU5NQWdt
UlEyNzNlNUI4V1RVcm1IQkFLWlF3RDZuMC9tSUV1Z1VKTktSS3NHK3JDWnFYV0NTbmh6QmpwaTAv
MGl5cTZ1cnhmOFVkRHJWYTFjd01OUEl1Yk1BUm1YQTA5RFEwQVF6Z1Ayck5ZNFdJaGpBSkFWS3R2
MXlZT1NNM2t1WEx0VUZlMnExaW1qTTVHWEdrZjBKNEhOSkV0dmIyLytpMSt1VEJnWUdWTHVPRVZJ
U0E4cTJUcHZOOWpzcGNCSnhGZUR5Tll5Y3l1MXdPRzc1cTNuMEJiVnFGM05IWXhZM3MvbUNuUmFl
d3ZEcDA2Y3ZxdDJjaFlDRllYOFN3SnFnTFFxbjYrYVdscFl5azhsa1I4YlIxOWVuS25NMkdvMStE
OTNiMjl0R21kTEg5RllQeVhVR0h4VnBlZmhOVjFWVjFiZkN0YXROcTJJN1lnWVhNM2xDbFdsUnFj
K3lXQ3h2MU5mWGYwRnJ3WUlnbkRadlZXaVhnaWIvZ1RrNXErN3AwNmQvMHQzZGpZTTFlT2xIb1Fy
eCtNQVFmYkQzeElrVHgvMGZlTW9ObTJpTG5jVzFDTXdkREZMZ1hLbmphWVY0VWRCRGJTdnAzcjE3
dTJrZFpIREVFdFhBeWNtQjI0M2tmKzVsWkdSc1JWUXBCUTdUdWtObVM5eWNiUHNEVzdkdTNVZlp4
bU41aDlGcXlwejh1TFp2My82NUZEaExjakhMNkJoYktjbmdxQ1NGMW5FL0pkQXRjK2ZPL1pCTVJv
T0FQTnFPVFhHMElnN1JqaDgvWHI1NzkrNGJIRWIrWFZLNEJSRHFCZ0Nnc1FhczFkWFZqM0p5Y255
Wm1aa3pBSXl0S3ZoQ2FhUWFpdTNZaHRCcWFtcStXN2x5NVRkUzRQclNxQlBEWjYxaHVibWpYdjFM
aEp3RVhqSnIxcXlGb3JKUCsxeEVZU2xPR0RrRXI2dXJ1ekY3OXV6UE9NREFlWEE5eDgvU1dEVXN0
TnpQOWR5NHlzcktPN2dDTVhIaXhMZWg2UWtUSnNEOVJ3VFdhcldPNUx1MXRiVlhseTVkdW5kd2NO
REpEdXBPS05obkFRdG91SFU3ZFRoOCtQRGhXMWxaV2NOazN0bFkwNGhaWCtVSkk3WWV3SEkyNXox
MTZ0UTN5NVl0TzhLd2NLNy9lQnJzV0lCRncyVXYzSGFMT1hueTVIM0tSaDdrNXViT3BLZ21EcHBH
ZGpMZTRQREVZcjI2WEs3K1BYdjIvTG0wdFBROCt4b281WHZweVJYakZ3YVdPRm9CbFluV2N3dDU4
TnZ6NXMzTG9FbFlZRjdRTnNLNmwzMkFucGlZNkYrdndvUmJXMXNkR3pacytMU3NyT3cyT3lpc1Y4
ZFlZSi9sdEVJNU1nUW1NNlRBSWJQaHdJRUR2eTR1THY1TlFrTENxRnV0UFQwOVlkL3B3b016bTgy
ajNpTUw2cTJvcVBqcit2WHIvOGErQlNaY3krdDJ6RWNsNGNTTVdyWU1uTDJpcW0rdzIrMUp1M2J0
V2x4WVdMalVZRENZZzc4QWNKZzhDZ29LL3lQaFh4TDB3QlJyYWYzOS9UM256NS8vZHR1MmJSZmEy
dHA2ZUx1QnBkMlFubHdZbDhZVFdId1AwRGhMbnM3ZzBIakN6cDA3ODRxS2l1YWxwNmZQSUpENGNE
cEh4SFQvL3YzYWMrZk9YYUgrYmpMZ1kzNnQ1elhyb2FUR0o2S3M4UVlPMWpiT1huRkhCTmRjNDFu
aVNrcEtzbWlkWjVFRjJDZ21mNXZNMUVwUmtVSGVBUndRbVg4bnhjRE5wTUgySzFldTFPM2R1N2VP
QTM4WEM2b1cvNUVDLytJRFVHOXdXUG1xZ0VVZlF1TjZEbFFNWEZDSVpkSHgzN1hTNkgvbEVlVlRy
eXdmZDh2S01saXIvMll6OW5EdDNLY1VSNzh5WUhtdVRJTnJaRnFIaUx2V0FsZ1RBdGduQXhaM25q
MWlqUVpEUmhSNERKclhCcjJHQ25DOFFhL3FQK3VKaHZaL0FRWUFlR25aZkxyRDYyY0FBQUFBU1VW
T1JLNUNZSUk9KTsKKyAgICBoZWlnaHQ6NjFweDsKKyAgICB3aWR0aDo2MHB4OworfQorCisuY29s
b3ItcGlja2VyLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYjphY3RpdmUgeworICAgIGJhY2tn
cm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1Vo
RVVnQUFBRHdBQUFBOUNBWUFBQUR4b0FyWEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JK
YldGblpWSmxZV1I1Y2NsbFBBQUFBeUpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFB
RHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVr
NVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldW
MFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNQzFqTURZd0lEWXhMakV6
TkRjM055d2dNakF4TUM4d01pOHhNaTB4Tnpvek1qb3dNQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNS
RVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxY
SmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhR
OUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2
SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdM
MjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6
RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdS
dlltVWdVR2h2ZEc5emFHOXdJRU5UTlNCTllXTnBiblJ2YzJnaUlIaHRjRTFOT2tsdWMzUmhibU5s
U1VROUluaHRjQzVwYVdRNk9USkdRMFk1TXpoQ056a3hNVEZGTVRnNU9URkZSVE0zTkVaRk1VTkJP
REVpSUhodGNFMU5Pa1J2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2T1RKR1EwWTVNemxDTnpreE1U
RkZNVGc1T1RGRlJUTTNORVpGTVVOQk9ERWlQaUE4ZUcxd1RVMDZSR1Z5YVhabFpFWnliMjBnYzNS
U1pXWTZhVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG81TWtaRFJqa3pOa0kzT1RFeE1VVXhPRGs1
TVVWRk16YzBSa1V4UTBFNE1TSWdjM1JTWldZNlpHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzVN
a1pEUmprek4wSTNPVEV4TVVVeE9EazVNVVZGTXpjMFJrVXhRMEU0TVNJdlBpQThMM0prWmpwRVpY
TmpjbWx3ZEdsdmJqNGdQQzl5WkdZNlVrUkdQaUE4TDNnNmVHMXdiV1YwWVQ0Z1BEOTRjR0ZqYTJW
MElHVnVaRDBpY2lJL1BxeEZ1VTRBQUFqSlNVUkJWSGphNUpzTGJGUG5GY2ZQOWJWako3R2R4SEhT
Skl1WFpoQWVJVUFlaEdWcGlFWTBHSW9pVVNpMFdzbzIwWTFWazFwcG10WUNtcVoxMnRoZ0wwMGFV
aCtEdGFoZFZrb3BLb0pPRkpZV0NnRVMwcVI1RUVoNDVtRWI1NFh0Skk1OWZlL2RkNXhqWkt5OFNV
anNmZWdmTzNHNDMvM2Q4NTN6bmZOOVh3RCt6eG8zeTlkWE14bVk5RXpSVE5xZ2ZtVjZIV1FhWUhJ
dzlURzU1eTN3bjFyc0QzMy95dEtZQlBhU3doUlBnRnhBUDl3b2Zjb0I0UDczQ04vTFpHYlg3eDZ2
ZjliZmxPNVhPUk5QalhXcVlpOFpCQm5IcEVDWlZ1VEY1Vy9hdGl3eFBTTk5HMjlNMUJvU3Z1YWo1
bmxmdjdJb2VuM203ZSsxT0h0c1Z0dnR0cnMxeDk1cjdtaW9WZEtvU0dQWDdpZjROZ1l2ekxXRkVX
d1pVeElOV1VWTzJWYlQ2aTAvTEU3SlhQRXRQbHFmM09NV3dTSElNQ1JLNEJUa2g4YXh2M09ka29N
b3BRTDBLZzZNYWg3RVFZZkZmTFhoWXZXSGg4N1ZuVGpTd1g1Rm9tRnZaV3IrWTR0ZDh0L0FxMU8w
OEtNQXA1UFFFbnpaemozNTJhWFBiRklZbmxqVU9TU0MyU1hDZ0ZlYTFvVzFERDRsa29mVUtCNmt2
bnV0OVo4Y1BYWmkzeTlyMkVjaStmbHRCbjM3Y1FIajhNMG1QK1hYdmJ3N3U3Qjh4M2FuSmlhMXpT
bEFuMGVhMFNCamlGQkFoazRGdW1GN1oxWEZQOTQrL2ZjLzFCTzRtUW5mQzdNSkhNV1V5MlJNWHBJ
VlYvN25nejlXcEM0c2JHU3U1UkFrbU0ybVZ5bGdPUXNWVXVlTnFvcGYvT2lBNVZvVCtuWVAwNWRN
UTVPOURqK1ZoODFVd0JTN2F2TzJqT2YrOHM1dmJrWVlGemN4V0xjb3ovcjhpWDIwTTFlUjlmR205
VnUrVnpUVWEyc3h0elRnOUpYTWhQQ3VtUVEyTWozRkZGbTI4L2VGQlQvZHRldVNrOVBOOVBDZFRN
T1JaUEVxb3RhczIxQWNHMmV3dGw3NHI0MzlPSlVpK2RCTURHbWNWd3R4Q3R2KzVwR3QrdnlTNTJy
NzNPQ1ZZVTRiQyt5UVoxQ0RvNmJ5OE5zdmJqM0Nmb1JUWEJWVDk2TllHS2VhYnpKcFhqaHdyQnhX
Rm0rdHUrOEJDZWErNFQxMHNwa2dJVzFCVm01Qm9iTHUrT0ZteWdPczR3VXlmb0pvbkkrSlJObnV2
VVdhNHFlM1gzVUlNTjlhdDF1Q2VGUDZVbE5DdkxuMS9Ca3JUWk1XZWlaVEFsNkZDVVh1cHZLTVpU
dDI3ZnpLN3VWaG5qYUV6c3pKelJON3pGOVpyalc2YUdSMlRRVVkwOFFGcVZtNUNhVjdEL3k2MnNs
cEpaamZ6ZXFXK1RYZkxzbnR2SHkyeW1HejhPVFRmWk1KV2ppVTF6TEZ2SFN5ZG5lOU9qbG5TSlFo
RkZvVXowSDJzTGwyZjltcWZleGJyR28rQy9ibjBTeThFb2Z5K3ArL1ZtQmZXYko1THFhZTZUWk0x
VVZ0YkVwNm5MYjk1c1hQYldROGEzRHlIMXkvcHFuVW1naFQyYmJuelRqUnM0dUVrcnJZUGVPOUl3
T3lFTk9ZRnNiS3g3amgxVDFyek9uNUpXNUpobEJzVGs2dHpVd3lXTnJPbjJrbnQ3MDNsb1V4bzFJ
YTF6NjkwY0VxSFRtZ0lnOGw0YjBqQTlYN3hyRXNqT25ad3RYbE96SWR1UnMydWxpZ0NsVmdsRXVw
aVVueU9wcTZHcjkwb3RHcHJIekl3bGpFODJuck54ZjNDOHgzUS93Zk1pQUxHVFZwdENVZTMzQWVU
RnFVTFVzUUZnMVpnb2UxMzhJNnpFNHkxMjgwV1RtTlFhSzhMTlNGTEZtbHo2UlI1cVVQQk1ha1c1
RmF1RzdKSUN1RFFtMHFHa3ZJa3J4NjdTTGlOQVFPYWJTd1FrcElUWllodkpyTW1BaFlGd2lNSzJH
OGFFZ3lTV0ZHakV3VXVHSUNnVFU0UVErcHRRWVp3b3NZbVNqNTBBUUNxM3pBb0ZTSG00V1JpWUJW
Z2NDWWR5cTh5b2pJY1BOaFpDSWZqZ2llaHdFTEk1a1BMK0RnWXM4UExQcStDQjYzcEZCcHdpcG9N
YVpBUmord3Iwam1SY0h0RGJNaGpVeUJqTW9IdnMyU0UzbmdmcThVR1pNWVZ2TXdZNkxFYXlndzB4
cjBoV3BIankyVUs2VFJoRXlCakg0TDIzMFd0dHpwa3I2UkYxNlpGbU1pQzlzRExZeXJlK0pRL1Jk
dDRXWmhaS0tBMVJjSWpQVHV6dE1mdFV1dVFXZTRGQS9JZ2t3d2NtYkVIamlrOFdIZ25veGUwZG5h
TEM3SUxnaUxDTTFZYUgyNm14Z2ZXRmltN1FtdjR0TEppK0V5bkpHRmdDM0J3TmpROUE3cjBiZWFw
UUY3VDZqRElnT3kwRnBXKzJpcmx1allHTUlGN3NycFNpd2lRbG5JUU1tR3paOWxCUVBqZzdtQjZh
Zno0R3RubWNQYlE5YTY3TjZSQVZtSVNSNXJJUjZqbVY0U1BGcDFuTkVEQzNOV2htUzBPdjNlQjhP
WFA3M08zdDJaQ0ZpbThHM3kxSjN0VnExOU5ndWk5WEVobFdoMGQ5MGUrTzBQS3NoM01XZ05UN1Na
SnRCK2pFRmx2ZGtCQmFVRlFDZm41bi94SzNqazExOTVYZWk2aFg2TEZ1NEl0TzVZd1BnTGVCeklJ
Rmp1Z01McnNjSHlvandaT0c3ZSsrNnBkOTkzbmZobkhYdmJ5VlFkR0t6R0EvWkRZeXIyaEhpOTFx
bElTcE80dEtWTDVyTnhwYWFxTDl4L2UvazRiYXVjaHpHT01ZMjN2aUVROU5mRjZsUHQzSW9pSXhl
Zmtqb3YvZlpXWTUzblYxdmVvUkx3RWsxRjhsU0JaWHBLcUVUdThuOXV3TExDQkloUFNwbFhzRzMx
VjhUZmJUc2tDeDYwTEo3S3V3VXc5a0dqaVZhdy9GRTdrbDB3V3FwOHZ4a1NUVjQydkJjeGwrYm1s
bFNXcEhNZkhmZnVmZUZEZ3NYcHAyRTgyTWtBKzV1RndydFJydm4wTGdnZUs3ZDRWU2J3U3RYY3JN
d051NlREZnowa3Zidm5ISXdjSnNlVHRvMEVLODhFTURZOHo0am5KZUxsNjFmNnVWc05WN25NZ25T
STBzVThWdGp1cm5aNS84L2VrTTRlYmFIWjVIT0t5aFBDVGhYWTc5TjRiRGRhdm5kWGxFNGVySVlZ
d3lDa1pqd0pTbVhFcklLNlhZTnk1YjgvRnZkOHY0TDFiYU9DNEFJWll0SWJ2TlB4UXdVOXFCd1lP
YzhWemVrTU9uaCtaeEZYVUZvQ2tWcjlqSUs2Qmh6eXBVOHE0Vi83enN2T1BnZEY0bFlZT1NzdFRn
VjJ1c0QrLzRmUW1IWXV4MVFVUnZadTFMRHBwUlhjNnUvbWcybnhFbENxcG1kMWxqRkJ4L1ZyY3ZX
cEdqaTJ2NEZ5L0dIS25CckpxdUtMTlQzeW0vbEdlQnpBd2RiR0RTczhBWVFuYjNXMHJhR0M3NVJu
Y0ZsUExZUzR4SGpBYlV0dHJBRWlOSkhCQVFnRzd2ZEJkNmNGK20yOWN0T0ZHM0Ntb28zeUFBOGxF
cmhpMGV4ZmUyT2dENno2dUlIOTEvQmJIR0dlaEpGRDIwYXl1cEkrNCtrQkJmNHB6NE9za0lhblND
c1V3eFNRTEZUeHVPZ3orU2MxUFE4RnByZW1DUHpJUlFIZGdPK21XZWRlc3NRMUFrd2c0ZDh2eGNM
SW54Q29nb0FGOHN2N05NVjBrL3dQUUFxR2ZGVHJ6RmJ6VzFJUjlEcldEQ0FGdlliYlJ1YmN0UDhK
TUFER3JnUDlHQ0ZJMEFBQUFBQkpSVTVFcmtKZ2dnPT0pOworfQorCisucmVkLXJhbmdlci1iZyB7
CisgICAgYmFja2dyb3VuZDogI2ZmMWUxZTsKK30KKworLmdyZWVuLXJhbmdlci1iZyB7CisgICAg
YmFja2dyb3VuZDogIzI0ZmYyNDsKK30KKworLmJsdWUtcmFuZ2VyLWJnIHsKKyAgICBiYWNrZ3Jv
dW5kOiAjMjEyMWZmOworfQorCitAbWVkaWEgb25seSBzY3JlZW4gYW5kIChoZWlnaHQ6IDc2OHB4
KSB7CisgICAgLmNvbG9yLXBpY2tlci1jb250ZW50IHsKKyAgICAgICAgbWF4LWhlaWdodDogNDc1
cHg7CisgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKKyAgICB9Cit9CisKK0BtZWRpYSBvbmx5
IHNjcmVlbiBhbmQgKGhlaWdodDogNzIwcHgpIHsKKyAgICAuY29sb3ItcGlja2VyLWNvbnRlbnQg
eworICAgICAgICBtYXgtaGVpZ2h0OiA0NzBweDsKKyAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xs
OworICAgIH0KKworICAgIC5jb2xvci1waWNrZXItd2VsbCB7CisgICAgICAgIG1hcmdpbjogMTBw
eDsKKyAgICAgICAgd2lkdGg6IDEwNnB4OworICAgICAgICBoZWlnaHQ6IDEwNnB4OworICAgIH0K
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9ibGFja2JlcnJ5L2NvbG9y
Q29udHJvbEJsYWNrQmVycnkuanMgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvYmxhY2tiZXJy
eS9jb2xvckNvbnRyb2xCbGFja0JlcnJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmUxZTQ5YTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJj
ZXMvYmxhY2tiZXJyeS9jb2xvckNvbnRyb2xCbGFja0JlcnJ5LmpzCkBAIC0wLDAgKzEsMzY5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCwgMjAxMi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqLworCisoZnVuY3Rpb24gKCl7Cit2YXIgX2RyYWdTdGFy
dFBvaW50LAorICAgIF9kcmFnRGVsdGEgPSAwLAorICAgIENPTE9SX1dFTExfV0lEVEggPSAoc2Ny
ZWVuLndpZHRoID09PSA3MjAgJiYgc2NyZWVuLmhlaWdodCA9PT0gNzIwKSA/IDEzMCA6IDE3MCwg
Ly8ga2VlcCBpbiBzeW5jIHdpdGggY29sb3JDb250cm9sQmxhY2tCZXJyeS5jc3MKKyAgICBNQVJH
SU5fT0ZGU0VUID0gMTQ7CisKK3ZhciBzZXRDb2xvcldlbGxDb2xvciA9IGZ1bmN0aW9uICh2YWx1
ZSkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2xvci1waWNrZXItY3VycmVudCcp
LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICcjJyArIHZhbHVlOworfTsKKwordmFyIGhleFRvUiA9
IGZ1bmN0aW9uIChoKSB7cmV0dXJuIHBhcnNlSW50KGguc3Vic3RyaW5nKDAsIDIpLCAxNik7fTsK
KwordmFyIGhleFRvRyA9IGZ1bmN0aW9uIChoKSB7cmV0dXJuIHBhcnNlSW50KGguc3Vic3RyaW5n
KDIsIDQpLCAxNik7fTsKKwordmFyIGhleFRvQiA9IGZ1bmN0aW9uIChoKSB7cmV0dXJuIHBhcnNl
SW50KGguc3Vic3RyaW5nKDQsIDYpLCAxNik7fTsKKwordmFyIGN1dEhleCA9IGZ1bmN0aW9uICho
KSB7cmV0dXJuIChoLmNoYXJBdCgwKSA9PT0gJyMnKSA/IGguc3Vic3RyaW5nKDEsIDcpIDogaDt9
OworCit2YXIgdG9IZXggPSBmdW5jdGlvbiAobikgeworICAgIG4gPSBwYXJzZUludChuLCAxMCk7
CisgICAgaWYgKGlzTmFOKG4pKSB7CisgICAgICAgIHJldHVybiAnMDAnOworICAgIH0KKyAgICBu
ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4obiwgMjU1KSk7CisgICAgcmV0dXJuICcwMTIzNDU2Nzg5
QUJDREVGJy5jaGFyQXQoKG4gLSBuICUgMTYgKSAvIDE2KSArICcwMTIzNDU2Nzg5QUJDREVGJy5j
aGFyQXQobiAlIDE2KTsKK307CisKK3ZhciByZ2JUb0hleCA9IGZ1bmN0aW9uICgpIHsKKyAgICB2
YXIgY29sb3IsCisgICAgICAgIHJlZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWQtcmFu
Z2UnKSwKKyAgICAgICAgZ3JlZW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3JlZW4tcmFu
Z2UnKSwKKyAgICAgICAgYmx1ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdibHVlLXJhbmdl
Jyk7CisKKyAgICByZXR1cm4gY29sb3IgPSB0b0hleChyZWQudmFsdWUpICsgdG9IZXgoZ3JlZW4u
dmFsdWUpICsgdG9IZXgoYmx1ZS52YWx1ZSk7Cit9OworCit2YXIgc3dhdGNoVXBkYXRlQ29sb3Ig
PSBmdW5jdGlvbiAoaXRlbSwgY2hlY2tNYXJrKSB7CisgICAgdXBkYXRlSGV4KGl0ZW0ubXljb2xv
cik7CisgICAgc2V0Q29sb3JXZWxsQ29sb3IoaXRlbS5teWNvbG9yKTsKKyAgICBpdGVtLmFwcGVu
ZENoaWxkKGNoZWNrTWFyayk7CisgICAgdmFyIGNoYW5nZSA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50
KCdIVE1MRXZlbnRzJyk7CisgICAgY2hhbmdlLmluaXRFdmVudCgnY2hhbmdlJywgdHJ1ZSwgdHJ1
ZSk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9yLXBpY2tlci1oZXgtaW5wdXQn
KS5kaXNwYXRjaEV2ZW50KGNoYW5nZSk7CisgICAgb2soKTsKK307CisKK3ZhciBoZXhVcGRhdGVD
b2xvciA9IGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgY29sb3JTdHJpbmcgPSBjdXRIZXgodGhpcy52
YWx1ZSk7CisgICAgLy8gT25seSB2YWxpZCAzIGRpZ2l0cyBpbnB1dCBhbmQgNiBkaWdpdHMgaW5w
dXQuCisgICAgaWYgKChjb2xvclN0cmluZy5sZW5ndGggPT09IDMgfHwgY29sb3JTdHJpbmcubGVu
Z3RoID09PSA2KSAmJiAoL14oWzAtOUEtRl17Myw2fSQpL2kudGVzdChjb2xvclN0cmluZykpKSB7
CisgICAgICAgIC8vIEF1dG8gZmlsbCAzIGRpZ2l0cyBpbnB1dC4gI0FCQyB0byAjQUFCQkNDCisg
ICAgICAgIGlmIChjb2xvclN0cmluZy5sZW5ndGggPT09IDMpIHsKKyAgICAgICAgICAgIGNvbG9y
U3RyaW5nID0gY29sb3JTdHJpbmdbMF0gKyBjb2xvclN0cmluZ1swXSArIGNvbG9yU3RyaW5nWzFd
ICsgY29sb3JTdHJpbmdbMV0gKyBjb2xvclN0cmluZ1syXSArIGNvbG9yU3RyaW5nWzJdOworICAg
ICAgICB9CisgICAgICAgIHNldENvbG9yV2VsbENvbG9yKGNvbG9yU3RyaW5nKTsKKyAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlZC1zbGlkZXItb3V0cHV0JykudmFsdWUgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgncmVkLXJhbmdlJykudmFsdWUgPSBoZXhUb1IoY29sb3JTdHJp
bmcpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3JlZW4tc2xpZGVyLW91dHB1
dCcpLnZhbHVlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyZWVuLXJhbmdlJykudmFsdWUg
PSBoZXhUb0coY29sb3JTdHJpbmcpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Ymx1ZS1zbGlkZXItb3V0cHV0JykudmFsdWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmx1
ZS1yYW5nZScpLnZhbHVlID0gaGV4VG9CKGNvbG9yU3RyaW5nKTsKKyAgICB9CisgICAgdmFyIGNv
bG9yID0gcmdiVG9IZXgoKTsKKyAgICB1cGRhdGVIZXgoY29sb3IpOworfTsKKwordmFyIHVwZGF0
ZUhleCA9IGZ1bmN0aW9uIChjb2xvcikgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdj
b2xvci1waWNrZXItaGV4LWlucHV0JykudmFsdWUgPSAnIycgKyBjb2xvcjsKK307CisKK3ZhciBy
YW5nZVVwZGF0ZUNvbG9yID0gZnVuY3Rpb24gKG91dHB1dCwgaW5wdXQpIHsKKyAgICBpZiAoaW5w
dXQudmFsdWUgPCAwKSB7CisgICAgICAgIGlucHV0LnZhbHVlID0gMDsKKyAgICB9IGVsc2UgaWYg
KGlucHV0LnZhbHVlID4gMjU1KSB7CisgICAgICAgIGlucHV0LnZhbHVlID0gMjU1OworICAgIH0K
KworICAgIC8vdXBkYXRlIG91dHB1dAorICAgIG91dHB1dC52YWx1ZSA9IGlucHV0LnZhbHVlOwor
ICAgIC8vdXBkYXRlIGhleCBjb2xvcnMKKyAgICB2YXIgY29sb3IgPSByZ2JUb0hleCgpOworICAg
IHVwZGF0ZUhleChjb2xvcik7CisgICAgLy91cGRhdGUgY29sb3Igd2VsbAorICAgIHNldENvbG9y
V2VsbENvbG9yKGNvbG9yKTsKK307CisKK3ZhciBjYWxjdWxhdGVTd2F0Y2hCbG9ja1BhZGRpbmcg
PSBmdW5jdGlvbiAoKSB7CisgICAgdmFyIHN3YXRjaEJsb2NrID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2NvbG9yLXBpY2tlci1zd2F0Y2gtYmxvY2snKQorICAgICAgICBwYWRkaW5nID0gKHN3
YXRjaEJsb2NrLmNsaWVudFdpZHRoIC0gNCAqIENPTE9SX1dFTExfV0lEVEgpIC8gMiArICdweCc7
CisgICAgc3dhdGNoQmxvY2suc3R5bGUucGFkZGluZ0xlZnQgPSBwYWRkaW5nOworICAgIHN3YXRj
aEJsb2NrLnN0eWxlLnBhZGRpbmdSaWdodCA9IHBhZGRpbmc7Cit9CisKK3ZhciBvcGVuU3dhdGNo
ZXMgPSBmdW5jdGlvbiAoKSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N3YXRjaGVz
JykuY2xhc3NMaXN0LnJlbW92ZSgnY29sb3ItcGlja2VyLWluYWN0aXZlLWZvbnQnKTsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2xpZGVycycpLmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBp
Y2tlci1pbmFjdGl2ZS1mb250Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9y
LXBpY2tlci1zd2F0Y2gtYmxvY2snKS5jbGFzc0xpc3QucmVtb3ZlKCdjb2xvci1waWNrZXItb2Zm
Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9yLXBpY2tlci1zbGlkZXItYmxv
Y2snKS5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItb2ZmJyk7CisgICAgdmFyIG1pZHBvaW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRlLWJ1dHRvbicpLm9mZnNldFdpZHRoOwor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZS1idXR0b24nKS5zdHlsZVsnLXdlYmtp
dC10cmFuc2Zvcm0nXSA9ICd0cmFuc2xhdGUzZCgnICsgbWlkcG9pbnQgKyAncHgsIDAsIDApJzsK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2xpZGUtYnV0dG9uJykudHJhbnNsYXRpb24g
PSBtaWRwb2ludDsKKyAgICBjYWxjdWxhdGVTd2F0Y2hCbG9ja1BhZGRpbmcoKTsKK307CisKK3Zh
ciBvcGVuU2xpZGVycyA9IGZ1bmN0aW9uICgpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnc2xpZGVycycpLmNsYXNzTGlzdC5yZW1vdmUoJ2NvbG9yLXBpY2tlci1pbmFjdGl2ZS1mb250
Jyk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N3YXRjaGVzJykuY2xhc3NMaXN0LmFk
ZCgnY29sb3ItcGlja2VyLWluYWN0aXZlLWZvbnQnKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY29sb3ItcGlja2VyLXN3YXRjaC1ibG9jaycpLmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBp
Y2tlci1vZmYnKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29sb3ItcGlja2VyLXNs
aWRlci1ibG9jaycpLmNsYXNzTGlzdC5yZW1vdmUoJ2NvbG9yLXBpY2tlci1vZmYnKTsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2xpZGUtYnV0dG9uJykuc3R5bGUud2Via2l0VHJhbnNm
b3JtID0gJ3RyYW5zbGF0ZTNkKDAsIDAsIDApJzsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnc2xpZGUtYnV0dG9uJykudHJhbnNsYXRpb24gPSAwOworfTsKKwordmFyIHJvdGF0aW9uSGFu
ZGxlciA9IGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Ns
aWRlLWJ1dHRvbicpLnRyYW5zbGF0aW9uKSB7CisgICAgICAgIHZhciBtaWRwb2ludCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZS1idXR0b24nKS5vZmZzZXRXaWR0aDsKKyAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRlLWJ1dHRvbicpLnN0eWxlWyctd2Via2l0LXRy
YW5zZm9ybSddID0gJ3RyYW5zbGF0ZTNkKCcgKyBtaWRwb2ludCArICdweCwgMCwgMCknOworICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2xpZGUtYnV0dG9uJykudHJhbnNsYXRpb24g
PSBtaWRwb2ludDsKKyAgICB9CisgICAgY2FsY3VsYXRlU3dhdGNoQmxvY2tQYWRkaW5nKCk7Cit9
OworCit2YXIgdG91Y2hTdGFydEhhbmRsZXIgPSBmdW5jdGlvbiAoZXZ0KSB7CisgICAgZXZ0LnN0
b3BQcm9wYWdhdGlvbigpOworICAgIF9kcmFnRGVsdGEgPSAwOworICAgIF9kcmFnU3RhcnRQb2lu
dCA9IGV2dC50b3VjaGVzWzBdLnBhZ2VYOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz
bGlkZS1oaWdobGlnaHQnKS5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItaGlnaGxpZ2h0Jyk7
Cit9OworCit2YXIgdG91Y2hNb3ZlSGFuZGxlciA9IGZ1bmN0aW9uIChldnQpIHsKKyAgICBldnQu
c3RvcFByb3BhZ2F0aW9uKCk7CisgICAgaWYgKCFfZHJhZ1N0YXJ0UG9pbnQpIHsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICBfZHJhZ0RlbHRhID0gZXZ0LnRvdWNoZXNbMF0ucGFnZVggLSBf
ZHJhZ1N0YXJ0UG9pbnQ7CisgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdzbGlkZS1idXR0b24nKTsKKyAgICBpZiAoYnV0dG9uLnRyYW5zbGF0aW9uICsgX2RyYWdEZWx0
YSA+IDAgJiYgYnV0dG9uLnRyYW5zbGF0aW9uICsgYnV0dG9uLm9mZnNldFdpZHRoICsgX2RyYWdE
ZWx0YSA8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzd2l0Y2hlcicpLm9mZnNldFdpZHRoIC0g
TUFSR0lOX09GRlNFVCkgeworICAgICAgICBidXR0b24uc3R5bGVbJy13ZWJraXQtdHJhbnNmb3Jt
J10gPSAndHJhbnNsYXRlM2QoJyArIChidXR0b24udHJhbnNsYXRpb24gKyBfZHJhZ0RlbHRhKSAr
ICdweCwgMCwgMCknOworICAgIH0KK30KKwordmFyIHRvdWNoRW5kSGFuZGxlciA9IGZ1bmN0aW9u
IChldnQpIHsKKyAgICBldnQucHJldmVudERlZmF1bHQoKTsKKyAgICBldnQuc3RvcFByb3BhZ2F0
aW9uKCk7CisgICAgdmFyIG1pZHBvaW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRl
LWJ1dHRvbicpLm9mZnNldFdpZHRoOworICAgIGlmIChfZHJhZ0RlbHRhID09PSAwKSB7CisgICAg
ICAgIGlmIChfZHJhZ1N0YXJ0UG9pbnQgPiBtaWRwb2ludCkgeworICAgICAgICAgICAgb3BlblN3
YXRjaGVzKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBvcGVuU2xpZGVycygpOwor
ICAgICAgICB9CisgICAgfSBlbHNlIGlmIChNYXRoLmFicyhfZHJhZ0RlbHRhKSA+IDgpIHsgLy8g
bm90IGEgdmFsaWQgdG91Y2ggbW92ZSBpZiBfZHJhZ0RlbHRhIDw9IDgKKyAgICAgICAgdmFyIGJ1
dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZS1idXR0b24nKTsKKyAgICAgICAg
aWYgKGJ1dHRvbi50cmFuc2xhdGlvbiArIGJ1dHRvbi5vZmZzZXRXaWR0aCAvIDIgKyBfZHJhZ0Rl
bHRhID4gbWlkcG9pbnQpIHsKKyAgICAgICAgICAgIG9wZW5Td2F0Y2hlcygpOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgb3BlblNsaWRlcnMoKTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICBfZHJhZ1N0YXJ0UG9pbnQgPSB1bmRlZmluZWQ7CisgICAgX2RyYWdEZWx0YSA9IDA7CisgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRlLWhpZ2hsaWdodCcpLmNsYXNzTGlzdC5yZW1v
dmUoJ2NvbG9yLXBpY2tlci1oaWdobGlnaHQnKTsKK30KKwordmFyIG9rID0gZnVuY3Rpb24gKCkg
eworICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29sb3ItcGlja2Vy
LWhleC1pbnB1dCcpLnZhbHVlOworICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gJyc7Cisg
ICAgd2luZG93LnNldFZhbHVlQW5kQ2xvc2VQb3B1cChyZXN1bHQsIHdpbmRvdy5wb3BVcCk7Cit9
OworCit2YXIgY2FuY2VsID0gZnVuY3Rpb24gKCkgeworICAgIGRvY3VtZW50LmJvZHkuaW5uZXJI
VE1MID0gJyc7CisgICAgd2luZG93LnNldFZhbHVlQW5kQ2xvc2VQb3B1cCgnLTEnLCB3aW5kb3cu
cG9wVXApOworfTsKKwordmFyIGNyZWF0ZVJhbmdlID0gZnVuY3Rpb24gKGNvbG9yKSB7CisgICAg
dmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKKyAgICByYW5nZS5z
ZXRBdHRyaWJ1dGUoJ3R5cGUnLCAncmFuZ2UnKTsKKyAgICByYW5nZS5zZXRBdHRyaWJ1dGUoJ2lk
JywgY29sb3IgKyAnLXJhbmdlJyk7CisgICAgcmFuZ2Uuc2V0QXR0cmlidXRlKCdtaW4nLCAnMCcp
OworICAgIHJhbmdlLnNldEF0dHJpYnV0ZSgnbWF4JywgJzI1NScpOworICAgIHJhbmdlLmNsYXNz
TGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1yYW5nZScpOworICAgIHJhbmdlLmNsYXNzTGlzdC5hZGQo
Y29sb3IgKyAnLXJhbmdlci1iZycpOworICAgIHJldHVybiByYW5nZTsKK307CisKK3ZhciBjcmVh
dGVPdXRwdXQgPSBmdW5jdGlvbiAoY29sb3IpIHsKKyAgICB2YXIgb3V0cHV0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnaW5wdXQnKTsKKyAgICBvdXRwdXQuc2V0QXR0cmlidXRlKCd0eXBlJywg
J251bWJlcicpOworICAgIG91dHB1dC5zZXRBdHRyaWJ1dGUoJ21pbicsICcwJyk7CisgICAgb3V0
cHV0LnNldEF0dHJpYnV0ZSgnbWF4JywgJzI1NScpOworICAgIG91dHB1dC5zZXRBdHRyaWJ1dGUo
J2lkJywgY29sb3IgKyAnLXNsaWRlci1vdXRwdXQnKTsKKyAgICBvdXRwdXQuY2xhc3NMaXN0LmFk
ZCgnY29sb3ItcGlja2VyLXNsaWRlci1vdXRwdXQnKTsKKyAgICByZXR1cm4gb3V0cHV0OworfTsK
KwordmFyIGxheW91dCA9IGZ1bmN0aW9uIChwaWNrZXJQYXJhbXMpIHsKKyAgICB2YXIgcG9wdXAg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSwKKyAgICAgICAgaGVhZGVyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2JyksCisgICAgICAgIGJvZHkgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKyAgICBwb3B1cC5jbGFzc05hbWUgPSAncG9wdXAtYXJlYSc7CisgICAg
cG9wdXAuY2xhc3NMaXN0LmFkZCgnY29sb3ItcGlja2VyLXBvcHVwLWFyZWEnKTsKKyAgICBwb3B1
cC5pZCA9ICdwb3B1cC1hcmVhJzsKKyAgICBwb3B1cC5kaXIgPSBwaWNrZXJQYXJhbXMuZGlyZWN0
aW9uOworICAgIGhlYWRlci5jbGFzc05hbWUgPSAncG9wdXAtaGVhZGVyJzsKKyAgICBoZWFkZXIu
aW5uZXJUZXh0ID0gcGlja2VyUGFyYW1zLnVpVGV4dC50aXRsZTsKKyAgICBwb3B1cC5hcHBlbmRD
aGlsZChoZWFkZXIpOworICAgIGJvZHkuY2xhc3NOYW1lID0gJ3BvcHVwLWNvbnRlbnQnOworICAg
IGJvZHkuaWQgPSAncG9wdXAtY29udGVudCc7CisgICAgYm9keS5kaXIgPSAnbHRyJzsgLy8gRklY
TUU6IFJUTCBVSSBzcGVjaWZpY2F0aW9ucyBub3QgZG9uZSB5ZXQKKyAgICBwb3B1cC5hcHBlbmRD
aGlsZChib2R5KTsKKworICAgIHZhciBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50
RnJhZ21lbnQoKTsKKworICAgIHZhciBjb250ZW50ID0gZnJhZ21lbnQuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpOworICAgIGNvbnRlbnQuY2xhc3NMaXN0LmFkZCgn
Y29sb3ItcGlja2VyLWNvbnRlbnQnKTsKKworICAgIC8vIFR3byBidXR0b25zIGF0IHRvcC4KKyAg
ICB2YXIgc3dpdGNoZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBzd2l0
Y2hlci5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItc3dpdGNoZXInKTsKKyAgICBzd2l0Y2hl
ci5pZCA9ICdzd2l0Y2hlcic7CisgICAgY29udGVudC5hcHBlbmRDaGlsZChzd2l0Y2hlcik7CisK
KyAgICB2YXIgc2xpZGVyQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cisg
ICAgc2xpZGVyQnV0dG9uLmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1idXR0b24nKTsKKyAg
ICBzbGlkZXJCdXR0b24uaWQgPSAnc2xpZGUtYnV0dG9uJzsKKyAgICB2YXIgc2xpZGVySGlnaGxp
Z2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgc2xpZGVySGlnaGxpZ2h0
LmlkID0gJ3NsaWRlLWhpZ2hsaWdodCc7CisgICAgc2xpZGVyQnV0dG9uLmFwcGVuZENoaWxkKHNs
aWRlckhpZ2hsaWdodCk7CisgICAgc3dpdGNoZXIuYXBwZW5kQ2hpbGQoc2xpZGVyQnV0dG9uKTsK
KworICAgIHN3aXRjaGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0b3VjaFN0YXJ0
SGFuZGxlcik7CisgICAgc3dpdGNoZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdG91
Y2hNb3ZlSGFuZGxlcik7CisgICAgc3dpdGNoZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQn
LCB0b3VjaEVuZEhhbmRsZXIpOworCisgICAgdmFyIHNsaWRlcnMgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKyAgICBzbGlkZXJzLmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1v
cHRpb24nKTsKKyAgICBzbGlkZXJzLmlkID0gJ3NsaWRlcnMnOworICAgIHN3aXRjaGVyLmFwcGVu
ZENoaWxkKHNsaWRlcnMpOworICAgIHNsaWRlcnMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUocGlja2VyUGFyYW1zLnVpVGV4dC5zbGlkZXJzTGFiZWwpKTsKKworICAgIHZhciBz
d2F0Y2hlcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIHN3YXRjaGVzLmNs
YXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1vcHRpb24nKTsKKyAgICBzd2F0Y2hlcy5pZCA9ICdz
d2F0Y2hlcyc7CisgICAgc3dpdGNoZXIuYXBwZW5kQ2hpbGQoc3dhdGNoZXMpOworICAgIHN3YXRj
aGVzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHBpY2tlclBhcmFtcy51aVRl
eHQuc3dhdGNoZXNMYWJlbCkpOworCisgICAgLy8gU3dhdGNoZXMgYmxvY2sKKyAgICB2YXIgc3dh
dGNoQmxvY2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBzd2F0Y2hCbG9j
ay5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItYmxvY2snKTsKKyAgICBzd2F0Y2hCbG9jay5p
ZCA9ICdjb2xvci1waWNrZXItc3dhdGNoLWJsb2NrJzsKKyAgICBjb250ZW50LmFwcGVuZENoaWxk
KHN3YXRjaEJsb2NrKTsKKworICAgIHZhciBTV0FUQ0hfQ09MT1JTID0gW1snI2ZmZmZmZicsICcj
ZmZmZjAwJywgJyMwMGZmMDAnLCAnIzAwZmZmZiddLCBbJyNmZjAwZmYnLCAnIzAwMDBmZicsICcj
ZmYwMDAwJywgJyMwMDAwODAnXSwgWycjMDA4MDgwJywgJyMwMDgwMDAnLCAnIzgwMDA4MCcsICcj
ODAwMDAwJ10sIFsnIzgwODAwMCcsICcjODA4MDgwJywgJyNjMGMwYzAnLCAnIzAwMDAwMCddXTsK
KworICAgIHZhciBjaGVja01hcmtEaXZUYWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKKyAgICBjaGVja01hcmtEaXZUYWcuY2xhc3NMaXN0LmFkZCgnY29sb3ItcGlja2VyLWNoZWNr
LW1hcmsnKTsKKworICAgIGZvciAodmFyIHJvdyA9IDE7IHJvdyA8PSA0OyByb3crKykgeworICAg
ICAgICB2YXIgcm93RWx0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAg
IHJvd0VsdC5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItcm93Jyk7CisgICAgICAgIHN3YXRj
aEJsb2NrLmFwcGVuZENoaWxkKHJvd0VsdCk7CisgICAgICAgIGZvciAodmFyIGNvbCA9IDE7IGNv
bCA8PSA0OyBjb2wrKykgeworICAgICAgICAgICAgdmFyIGNlbGwgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKyAgICAgICAgICAgIGNlbGwuY2xhc3NMaXN0LmFkZCgnY29sb3ItcGlj
a2VyLXdlbGwnKTsKKyAgICAgICAgICAgIGNlbGwuaWQgPSByb3cgKyAnJyArIGNvbDsKKyAgICAg
ICAgICAgIGNlbGwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gU1dBVENIX0NPTE9SU1tyb3cgLSAx
XVtjb2wgLSAxXTsKKyAgICAgICAgICAgIGNlbGwubXljb2xvciA9IGN1dEhleChTV0FUQ0hfQ09M
T1JTW3JvdyAtIDFdW2NvbCAtIDFdKTsKKyAgICAgICAgICAgIGNlbGwuYWRkRXZlbnRMaXN0ZW5l
cignY2xpY2snLCBmdW5jdGlvbiAoKSB7IHN3YXRjaFVwZGF0ZUNvbG9yKHRoaXMsIGNoZWNrTWFy
a0RpdlRhZyk7IH0sIGZhbHNlKTsKKyAgICAgICAgICAgIHJvd0VsdC5hcHBlbmRDaGlsZChjZWxs
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFNsaWRlcnMKKyAgICB2YXIgc2xpZGVyQmxv
Y2sgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBzbGlkZXJCbG9jay5jbGFz
c0xpc3QuYWRkKCdjb2xvci1waWNrZXItYmxvY2snKTsKKyAgICBzbGlkZXJCbG9jay5pZCA9ICdj
b2xvci1waWNrZXItc2xpZGVyLWJsb2NrJzsKKyAgICBjb250ZW50LmFwcGVuZENoaWxkKHNsaWRl
ckJsb2NrKTsKKworICAgIHZhciBoZXhJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOworICAgIGhleElucHV0LmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1pbnB1dCcpOwor
ICAgIHNsaWRlckJsb2NrLmFwcGVuZENoaWxkKGhleElucHV0KTsKKworICAgIHZhciBjdXJyZW50
Q29sb3JXZWxsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgY3VycmVudENv
bG9yV2VsbC5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItd2VsbCcpOworICAgIGN1cnJlbnRD
b2xvcldlbGwuaWQgPSAnY29sb3ItcGlja2VyLWN1cnJlbnQnOworICAgIGhleElucHV0LmFwcGVu
ZENoaWxkKGN1cnJlbnRDb2xvcldlbGwpOworCisgICAgdmFyIHVzZXJJbnB1dCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7CisgICAgdXNlcklucHV0LnNldEF0dHJpYnV0ZSgndHlw
ZScsICd0ZXh0Jyk7CisgICAgdXNlcklucHV0LnNldEF0dHJpYnV0ZSgnaWQnLCAnY29sb3ItcGlj
a2VyLWhleC1pbnB1dCcpOworICAgIHVzZXJJbnB1dC5zZXRBdHRyaWJ1dGUoJ21heGxlbmd0aCcs
ICc3Jyk7CisgICAgdXNlcklucHV0LmNsYXNzTGlzdC5hZGQoJ2NvbG9yLXBpY2tlci1oZXgtc3R5
bGUnKTsKKyAgICB1c2VySW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgaGV4VXBkYXRl
Q29sb3IsIGZhbHNlKTsKKyAgICBoZXhJbnB1dC5hcHBlbmRDaGlsZCh1c2VySW5wdXQpOworCisg
ICAgdmFyIHJlZFNsaWRlclJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAg
IHJlZFNsaWRlclJvdy5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItc2xpZGVyJyk7CisgICAg
c2xpZGVyQmxvY2suYXBwZW5kQ2hpbGQocmVkU2xpZGVyUm93KTsKKworICAgIHZhciByZWRSYW5n
ZSA9IGNyZWF0ZVJhbmdlKCdyZWQnKTsKKyAgICByZWRTbGlkZXJSb3cuYXBwZW5kQ2hpbGQocmVk
UmFuZ2UpOworCisgICAgdmFyIHJlZE91dHB1dCA9IGNyZWF0ZU91dHB1dCgncmVkJyk7CisgICAg
cmVkU2xpZGVyUm93LmFwcGVuZENoaWxkKHJlZE91dHB1dCk7CisKKyAgICB2YXIgZ3JlZW5TbGlk
ZXJSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBncmVlblNsaWRlclJv
dy5jbGFzc0xpc3QuYWRkKCdjb2xvci1waWNrZXItc2xpZGVyJyk7CisgICAgc2xpZGVyQmxvY2su
YXBwZW5kQ2hpbGQoZ3JlZW5TbGlkZXJSb3cpOworCisgICAgdmFyIGdyZWVuUmFuZ2UgPSBjcmVh
dGVSYW5nZSgnZ3JlZW4nKTsKKyAgICBncmVlblNsaWRlclJvdy5hcHBlbmRDaGlsZChncmVlblJh
bmdlKTsKKworICAgIHZhciBncmVlbk91dHB1dCA9IGNyZWF0ZU91dHB1dCgnZ3JlZW4nKTsKKyAg
ICBncmVlblNsaWRlclJvdy5hcHBlbmRDaGlsZChncmVlbk91dHB1dCk7CisKKyAgICB2YXIgYmx1
ZVNsaWRlclJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGJsdWVTbGlk
ZXJSb3cuY2xhc3NMaXN0LmFkZCgnY29sb3ItcGlja2VyLXNsaWRlcicpOworICAgIHNsaWRlckJs
b2NrLmFwcGVuZENoaWxkKGJsdWVTbGlkZXJSb3cpOworCisgICAgdmFyIGJsdWVSYW5nZSA9IGNy
ZWF0ZVJhbmdlKCdibHVlJyk7CisgICAgYmx1ZVNsaWRlclJvdy5hcHBlbmRDaGlsZChibHVlUmFu
Z2UpOworCisgICAgdmFyIGJsdWVPdXRwdXQgPSBjcmVhdGVPdXRwdXQoJ2JsdWUnKTsKKyAgICBi
bHVlU2xpZGVyUm93LmFwcGVuZENoaWxkKGJsdWVPdXRwdXQpOworCisgICAgcmVkUmFuZ2UuYWRk
RXZlbnRMaXN0ZW5lcignY2hhbmdlJywgZnVuY3Rpb24gKCkgeyByYW5nZVVwZGF0ZUNvbG9yKHJl
ZE91dHB1dCwgcmVkUmFuZ2UpOyB9LCBmYWxzZSk7CisgICAgZ3JlZW5SYW5nZS5hZGRFdmVudExp
c3RlbmVyKCdjaGFuZ2UnLCBmdW5jdGlvbiAoKSB7IHJhbmdlVXBkYXRlQ29sb3IoZ3JlZW5PdXRw
dXQsIGdyZWVuUmFuZ2UpOyB9LCBmYWxzZSk7CisgICAgYmx1ZVJhbmdlLmFkZEV2ZW50TGlzdGVu
ZXIoJ2NoYW5nZScsIGZ1bmN0aW9uICgpIHsgcmFuZ2VVcGRhdGVDb2xvcihibHVlT3V0cHV0LCBi
bHVlUmFuZ2UpOyB9LCBmYWxzZSk7CisgICAgcmVkT3V0cHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2No
YW5nZScsIGZ1bmN0aW9uICgpIHsgcmFuZ2VVcGRhdGVDb2xvcihyZWRSYW5nZSwgcmVkT3V0cHV0
KTsgfSwgZmFsc2UpOworICAgIGdyZWVuT3V0cHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScs
IGZ1bmN0aW9uICgpIHsgcmFuZ2VVcGRhdGVDb2xvcihncmVlblJhbmdlLCBncmVlbk91dHB1dCk7
IH0sIGZhbHNlKTsKKyAgICBibHVlT3V0cHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGZ1
bmN0aW9uICgpIHsgcmFuZ2VVcGRhdGVDb2xvcihibHVlUmFuZ2UsIGJsdWVPdXRwdXQpOyB9LCBm
YWxzZSk7CisKKyAgICBib2R5LmFwcGVuZENoaWxkKGZyYWdtZW50KTsKKworICAgIHZhciBidXR0
b25zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksCisgICAgICAgIGNhbmNlbEJ1dHRv
biA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpLAorICAgICAgICBva0J1dHRvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOworICAgIGJ1dHRvbnMuY2xhc3NOYW1l
ID0gJ3BvcHVwLWJ1dHRvbnMnOworICAgIGNhbmNlbEJ1dHRvbi5jbGFzc05hbWUgPSAncG9wdXAt
YnV0dG9uJzsKKyAgICBjYW5jZWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjYW5j
ZWwpOworICAgIGNhbmNlbEJ1dHRvbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZShwaWNrZXJQYXJhbXMudWlUZXh0LmNhbmNlbEJ1dHRvbkxhYmVsKSk7CisgICAgYnV0dG9ucy5h
cHBlbmRDaGlsZChjYW5jZWxCdXR0b24pOworICAgIG9rQnV0dG9uLmNsYXNzTmFtZSA9ICdwb3B1
cC1idXR0b24nOworICAgIG9rQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb2spOwor
ICAgIG9rQnV0dG9uLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHBpY2tlclBh
cmFtcy51aVRleHQuZG9uZUJ1dHRvbkxhYmVsKSk7CisgICAgYnV0dG9ucy5hcHBlbmRDaGlsZChv
a0J1dHRvbik7CisgICAgcG9wdXAuYXBwZW5kQ2hpbGQoYnV0dG9ucyk7CisKKyAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHBvcHVwKTsKK307CisKK3ZhciBzaG93ID0gZnVuY3Rpb24gKHBp
Y2tlclBhcmFtcykgeworICAgIGxheW91dChwaWNrZXJQYXJhbXMpOworICAgIG9wZW5TbGlkZXJz
KCk7CisgICAgaWYgKHBpY2tlclBhcmFtcy5pbml0aWFsVmFsdWUpIHsKKyAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9yLXBpY2tlci1oZXgtaW5wdXQnKS52YWx1ZSA9IHBpY2tl
clBhcmFtcy5pbml0aWFsVmFsdWU7CisgICAgfQorCisgICAgdmFyIGNoYW5nZSA9IGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7CisgICAgY2hhbmdlLmluaXRFdmVudCgnY2hhbmdl
JywgdHJ1ZSwgdHJ1ZSk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbG9yLXBpY2tl
ci1oZXgtaW5wdXQnKS5kaXNwYXRjaEV2ZW50KGNoYW5nZSk7CisgICAgd2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoJ29yaWVudGF0aW9uY2hhbmdlJywgcm90YXRpb25IYW5kbGVyLCBmYWxzZSk7Cit9
OworCit3aW5kb3cucG9wdXBjb250cm9sID0gd2luZG93LnBvcHVwY29udHJvbCB8fCB7fTsKK3dp
bmRvdy5wb3B1cGNvbnRyb2wuc2hvdyA9IHNob3c7Cit9KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvcG9wdXBDb250cm9sQmxhY2tCZXJyeS5jc3Mg
Yi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS9wb3B1cENvbnRyb2xCbGFja0Jl
cnJ5LmNzcwppbmRleCAzNDBiYzYxLi4yNGU5Zjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS9wb3B1cENvbnRyb2xCbGFja0JlcnJ5LmNzcworKysgYi9T
b3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS9wb3B1cENvbnRyb2xCbGFja0JlcnJ5
LmNzcwpAQCAtNywxMDYgKzcsNzEgQEAgaHRtbCB7CiB9CiAKIGJvZHkgewotICAgIHBhZGRpbmc6
IDA7CisgICAgcGFkZGluZzogMzBweDsKICAgICBtYXJnaW46IDA7Ci0gICAgZm9udC1mYW1pbHk6
ICJNeXJpYWQgUHJvIiwgIkFyaWFsIiwgIkhlbHZldGljYSIsIHNhbnMtc2VyaWY7CisgICAgZm9u
dC1mYW1pbHk6ICJTbGF0ZSBQcm8iLCAiTXlyaWFkIFBybyIsICJBcmlhbCIsICJIZWx2ZXRpY2Ei
LCBzYW5zLXNlcmlmOwogICAgIGZvbnQtc2l6ZTogNDBweDsKLQorICAgIGJhY2tncm91bmQ6IHJn
YmEoMCwgMCwgMCwgMC40KTsKICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwotICAgIHVz
ZXItc2VsZWN0OiBub25lOwotCiAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgLXdlYmtp
dC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwog
ICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKLQotICAgIGRpc3BsYXk6IGJveDsKLSAgICBi
b3gtb3JpZW50OiB2ZXJ0aWNhbDsKLSAgICBib3gtYWxpZ246IGNlbnRlcjsKLSAgICBib3gtcGFj
azogY2VudGVyOwogfQogCiAucG9wdXAtYXJlYSB7CisgICAgYm94LXNpemluZzogYm9yZGVyLWJv
eDsKICAgICB3aWR0aDogMTAwJTsKLSAgICBoZWlnaHQ6IDEwMCU7Ci0KICAgICBkaXNwbGF5OiAt
d2Via2l0LWJveDsKLSAgICBkaXNwbGF5OiBib3g7CiAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2
ZXJ0aWNhbDsKLSAgICBib3gtb3JpZW50OiB2ZXJ0aWNhbDsKIH0KIAotICAgIC5wb3B1cC1hcmVh
PjpmaXJzdC1jaGlsZCB7CisgICAgLnBvcHVwLWhlYWRlciB7CisgICAgICAgIGxpbmUtaGVpZ2h0
OiA5M3B4OworICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3As
IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCksIHJnYmEoMCwgMCwgMCwgMC4yKSksIC13ZWJraXQtbGlu
ZWFyLWdyYWRpZW50KGxlZnQsICMwMDczYmMsICMwMGE4ZGYpOworICAgICAgICBib3JkZXItdG9w
LWxlZnQtcmFkaXVzOiAxMnB4OworICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTJw
eDsKKyAgICAgICAgcGFkZGluZzogMCAzMnB4OworICAgICAgICBmb250LXNpemU6IDEuMmVtOwor
ICAgICAgICBjb2xvcjogI2ZhZmFmYTsKKyAgICAgICAgdGV4dC1zaGFkb3c6IHJnYmEoMCwgMCwg
MCwgMC41KSAwIDJweDsKKyAgICB9CisKKyAgICAucG9wdXAtY29udGVudCB7CiAgICAgICAgIC13
ZWJraXQtYm94LWZsZXg6IDE7Ci0gICAgICAgIGJveC1mbGV4OiAxOworICAgICAgICB3aGl0ZS1z
cGFjZTogbm93cmFwOworICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7
CisgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlW
Qk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFzb0FBQUFPQ0FNQUFBQUJyc3I1QUFBQWhGQk1WRVgvLy84
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QzlLRExoQUFBQUxIUlNUbE1BQWdBSUJBb0dFaEFqRnh0Qk1UQVVQeUVPR1VVZEpRd2ZReFkrS0M1
R04wZzhPa29xTEUwNE5UTkxKb0t4cVVNQUFBTXFTVVJCVkhoZW5OYUxicUpRRUlCaDYrR2lXS0Zx
RWFXdzJncDFwZS8vZmp1WEE4TVp3Nlg3SldoUUF2SDRNMkdodkRBdkNJeWY3Y0VxRE1Na3lTTncy
S0NVbkU2bkhWa2Z4UThvVUlWcVVxSjQ2M3EwL2lKK3ZTQjRJM2ZyUy9rVUg4L2VISzlqenNyN1RI
K0d0TjlmZjRIUE9PNTlsblBQNjVnMzE4ZUFUK3VyN3k3Z24wTDhsNGxIYTJ2RnBMUnFWTEhpaHh5
dE5kcVJ0SE1BVVpRbmVaNG5TYmphNzdNc00zNWdnc0I3SVlzeEhMTG5HZC9ubEVNQTU2S1NDVlRN
SFI5UndhaGdWWEZKNGxpbGUrbmpkYUZsc2tzbm5lbzQ1MFk1bmQ3MTJhM1RrRnRQMDdtNW11OU8w
L3FlcnhIeTJRMU1YVnQvY0FYYTlFMXhWaWJyZDFLWHlXSXp4KzNpNkljdFNkZUVjeGJTTlFVTmhh
VWJCakZIMEhLNFdsSEwwS1VKUEV4NXVWd3V4aXdCSGhnWVFEWHpaRTRTN0prY2tJeG50Qk5yeERP
YVNlS3NacVhBM3VPaHFTMTRBbHkwdXpJMHh1Y1BkRzF3cGsyUGUyMjZuVG5YMWdibXFnYmw2U0hy
VEZwTmo5MUgzMVp3cGJDUnVsTlpFaXZTVTVoUlJ5blpBQnpISUVlUVhnZ2pHV1MrUVFHSFBKa3lv
aWNNWUF4dXhzK2c2UXlMeGxzakpFa3JSeEdUMEVWcW5jVHV5VnJwZnJMY0RFUjJSS1hVam5KQVBO
TVc5UFpjNnJqL05QTVNzak9oSEZKalo0SVdxeEtGcHBmZWVaRDhSMjJkN0VnSUFnRVlIcHRtRVE1
R2lFSjQvd2VkS1dnb0Z3U1h2c3lYYUR5UldQNnBPUGRvM0hNTFU2S1FBVExDYUFNT1JCTCtLclNG
dlVySm00RUxLVVBMYjhBQ0VvdW0xTVpqRTdIR2h5Sy9nclhMeGFOUkcrdVh4NG1VdUpxeG92K20r
Wm4rZThZS2QydzY1QUw4S3Zzczh4WUxkNnpVYnd4bGVVR0tRQU9iVU5qRWNFSENVUzY1blRMby9x
U2FBVWxvWnBFdUVRWDh2S0hPeXc5ZkpnMlNseGgxZzNsR1hTZXZNVmw1WWhJTkxmd2tzYWNQV0VR
UitXQzU0dzZjVDNtVGM3amx3N0JxYkR4aUc0UStZdXQwYXpqaU52NC9pSnVhNDdJdHYrelNNUTdB
TUFoRDBSb0k5ejl5dDFaS0dlSVVwQXk4RTFqeUh6LzQxeFJQRU5QYnNEeldVbjRoWUl0OGc1WVli
V2dKWjlraWhFVG9sR1BnMkFZdm9VMjloTEZBa1VsMnlrS2p0eU9YTlVNeThpZ2haYVI4Qkp5dXlR
bnVkdUNZQUFBQUFHR1EvVk9iWWg4c0JRQnd1aTkrKzliVld0d0FBQUFBU1VWT1JLNUNZSUk9Iiks
IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFzb0FB
QUFPQ0FNQUFBQUJyc3I1QUFBQWhGQk1WRVgvLy84QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQzlLRExoQUFBQUxIUlNUbE1BQWdBSUJBb0dF
aEFqRnh0Qk1UQVVQdzRoR1VVZEpRd2ZReFkrS0VZdU4wZzhPa29xTEUwNE5UTkxKaDREa2JVQUFB
TGpTVVJCVkhoZTdNQXhBUUFBQU1JZys2YzJ4VDVZRFFEZzdOTTdEb0JBREFOUnZMLzdIeGtKMGxE
UWJIWWtGNWtiV0hwdUZzbTlxam0wVFZsdnBFeUc4cWdHUXhtVHJ5ZU9NZzlvSWZXcUx5VHNVZWNw
WjRqNm9KdlZORGxJanZ3MjVYQXJoY3NBK3AzeFB5c3A2S2EyWG5ZWUJJRUFpdlkxTGNMQ0lMRVEv
LzlEbTZFb2lBTVVjTk9UNkpZRTcwelVlWkk1TW9FMWUvMEgxcWg0WGJvRU9qeVBvbmlJbUh6YkRT
bXY2L2V3THNuV0pLV3prakZ2NGM1QzQ4cmpWWlJvb1BxSWVyeU8ydEEzeHIyeHBHUFlaQUk5S09H
VzNHL3JuMU4yZnhGYnhmZ0MwUGJFVktxSjlvZ0xDL0pTNkJqUHZCTElmTTAwa3pObERHZDY5eG5P
TTJXWXREbkpXUGhWUXNKVDI3VDRtU0czekVqRDVJUDA5Mm5ibnZIQm1wMktsSEVqZnlPMklZTUd3
SVNaUFN6YW1mRkl4MHVHS0s1YzFhY1RNMUZPR0FUQ2NOdFU3V0Z2dFlmUmFPcWQ5Mysvd2k2d1Z5
eTAzOFRNQUk3TTRMZS9HenNIQ05CNTZnUU5pSTFpSzFpZTRiR1FCd2NiU2ZqNy9rL2hGalRJc0R6
SDFsME1PS3dOVVd2MDBjOGluWU5YWDZabyt2Ukgzd21tdWd4MGpNOTNhQWVxRUs3Z2NwSEtYbnV2
TUFieEN6Z00wa3BabWFMYVN0UVEwY2IxT2FaZE9FWU9qS1pwNEs3WUsxckJ1bys1NWZrWHhnbXpZ
UGtzWjl4SGZtL0x2SWUxcFhVWEF3NXJUelFDT3UxRDVNaFI1ZWJESVJSTVF0WklGNWdCdWdTbTVI
d3duUXZ1MUlhb3hvNmpVT1g0SDBVMUNCNlBIR2h4eU5va0wvaGFJMVMrcEd1MFZLbHBQV3pnWFBH
MFd5bWJFU2Z2emtTdzZHTmwrVTZjQUJ6UURNM3loVjNpRk5tVmN5Sm9EamJJN0swblZqMHNEQk5G
cHJKc0RZbENvYUFJZGVGZmpZQnJUNzhYVFBPYUlNdEJjTzkxekc5VWVoUVMyb2Z6RUhxTUVwV3h2
NmhRWmQ5UTRFTVd1a3hoSEZKNFJuUU81ak1KelRQWHBpN2VReERJcUcwVnVXaTE2cGNXUUNHTGM4
VDExUit3bjJpWkZKRlJrc2prdWM3MGxpRVRQSDFuQjRiSmJObnk4S3l1S2FOVlNrOFQySVI4UFVF
MGo3RFhxQWJEeXJjWWdGRDNCelpnZnZzakd4Y0xBQUFBQUVsRlRrU3VRbUNDIik7CisgICAgICAg
IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCwgYm90dG9tOworICAgICAgICBiYWNrZ3JvdW5kLXJl
cGVhdDogbm8tcmVwZWF0OworICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsKKyAg
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjkpOwogICAgIH0K
IAogICAgIC5wb3B1cC1idXR0b25zIHsKKyAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRp
dXM6MTJweDsKKyAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czoxMnB4OworICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuOSk7CiAgICAgICAgIGRp
c3BsYXk6IC13ZWJraXQtYm94OwogICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250
YWw7Ci0gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKLSAgICAgICAgLXdlYmtpdC1i
b3gtYWxpZ246IHN0cmV0Y2g7Ci0KLSAgICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCJk
YXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUI4QUFBQjZDQU1B
QUFCd1NYamlBQUFBdlZCTVZFWGMzTnpkM2QzZTN0N2QzZDNjM056ZDNkM2YzOS9lM3Q3ZTN0N2Mz
TnpjM056ZDNkM2MzTnpjM056YzNOemUzdDdkM2QzZTN0N2UzdDdkM2QzYzNOemQzZDNjM056YzNO
emQzZDNjM056ZDNkM2MzTnpkM2QzYzNOemQzZDNlM3Q3YzNOemYzOS9lM3Q3ZDNkM2w1ZVhnNE9E
cTZ1cmo0K1BuNStmcDZlbms1T1RtNXVibzZPamk0dUxoNGVIMDlQVDI5dmI2K3ZyeDhmSHc4UER2
NysvdTd1N3Q3ZTNyNit2MTlmWDUrZm40K1BqejgvUHk4dkwzOS9mczdPeEJ6dVJZQUFBQUlIUlNU
bE1BQU9xSDZxajV4a3NKUDFISnpJY0c1SllERXVGK1ZGZDRjdWQxQ2VTRWs3UEI5OFlBQUFEZVNV
UkJWSGhlek1sSEVZQkFBQVJCSEYxT0pQK3ljRENmcmEyanYzMGtadi9GZnY4bjIvNFAyLzZSMlg4
eSt3ZG0vNHZKZnpQN1p5Wi9ZZmF2VFA3RzVPOU0vcGZKUDVqNlgzZnprWU5BRUFOUjFPN0prWnh6
enR6L2VEUWFJUmhCMThieWhyOTlLaFh0Y2VwK3dvbjlpaFA3RVNmMkMwN3NXNXk2bjNGaVArRFUv
WVlUK3gzMzk3N0RxZnNLcCs0aDVKRE1HbVVvZ2g3UkFucUxZdWd4dFEyNmJ4RDNOdTZHVE53Wk83
azV0YzZaMHpOK09zOGQ3SEhsSFB6a2dGL09ubU50dmFyZlhkYWJEYWhXTXZJLzFKOGs5RlZhNW9X
MUlpL1ROendBSmtpbDYyMWdwSzRBQUFBQVNVVk9SSzVDWUlJPSIpOwotICAgICAgICBib3JkZXIt
aW1hZ2Utc2xpY2U6IDE0IDE0IDE0IDE0IGZpbGw7Ci0gICAgICAgIGJvcmRlci13aWR0aDogMTRw
eDsKLQotICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgICAgIHBhZGRpbmctbGVmdDog
MjBweDsKKyAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDsKICAgICB9CiAKLSAgICAgICAgLnBv
cHVwLWJ1dHRvbi1kaXZpZGVyIHsKLSAgICAgICAgICAgIHdpZHRoOiAycHg7Ci0gICAgICAgICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7Ci0gICAgICAgICAgICBib3Jk
ZXItd2lkdGg6IDE0cHggMDsKLSAgICAgICAgICAgIC8qIGJvcmRlciBpbWFnZSB0YWtlcyBhbiBp
bWFnZSwgc28gdXNlIGEgc29saWQtY29sb3VyIGdyYWRpZW50ICovCi0gICAgICAgICAgICBib3Jk
ZXItaW1hZ2Utc291cmNlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwg
MCwgMC4yKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDAlKTsKLSAgICAgICAgICAgIGJvcmRlci1p
bWFnZS1zbGljZTogMSAwIDEgMDsKLSAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDEg
MCAxIDA7Ci0gICAgICAgIH0KLQogICAgICAgICAucG9wdXAtYnV0dG9uIHsKICAgICAgICAgICAg
IGNvbG9yOiBpbmhlcml0OwogICAgICAgICAgICAgZm9udDogaW5oZXJpdDsKICAgICAgICAgICAg
IHRleHQtc2hhZG93OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCAtMnB4OwotICAgICAgICAg
ICAgcGFkZGluZzogMDsKLSAgICAgICAgICAgIG1hcmdpbjogMDsKLSAgICAgICAgICAgIGJhY2tn
cm91bmQ6IG5vbmU7Ci0gICAgICAgICAgICBsaW5lLWhlaWdodDogMjAwJTsKKyAgICAgICAgICAg
IG1hcmdpbjogMjBweCAxMHB4IDIwcHggMTBweDsKKyAgICAgICAgICAgIGhlaWdodDogOTJweDsK
KyAgICAgICAgICAgIHdpZHRoOiA1MCU7CiAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKLQot
ICAgICAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgICAgICAtd2Via2l0LWJveC1mbGV4OiAxOwot
Ci0gICAgICAgICAgICBib3JkZXI6IDE0cHggc29saWQgdHJhbnNwYXJlbnQ7Ci0gICAgICAgIH0K
LQotICAgICAgICAucG9wdXAtYnV0dG9uOmFjdGl2ZSB7IC8qIGFsbCBjdXJyZW50IHBvcHVwcyBo
YXZlIGF0IG1vc3QgdHdvIGJ1dHRvbnMsIHNvIHRoaXMgaXMgdW51c2VkIGF0bSAqLwotICAgICAg
ICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZC
T1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQjRBUU1BQUFBSjlnckRBQUFBQTFCTVZFVUFBQUNu
ZWozYUFBQUFBWFJTVGxNei96YTVjQUFBQUJWSlJFRlVlRjdsd0lFQUFBQUFnS0Q5cVFlcE1BTUE4
QUFCZDl2V2xRQUFBQUJKUlU1RXJrSmdnZz09Iik7Ci0gICAgICAgICAgICBib3JkZXItaW1hZ2Ut
c2xpY2U6IDEgMCAxIDAgZmlsbDsKLSAgICAgICAgICAgIHBhZGRpbmc6IDE0cHg7Ci0gICAgICAg
ICAgICBtYXJnaW46IC0xNHB4OwotICAgICAgICB9Ci0KLSAgICAgICAgLnBvcHVwLWJ1dHRvbjpm
aXJzdC1jaGlsZDphY3RpdmUgeyAvKiBUT0RPOiBSVEwgKi8KLSAgICAgICAgICAgIGJvcmRlci1p
bWFnZS1zb3VyY2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUFCQUFBQUI0Q0FNQUFBRE1pb0prQUFBQVBGQk1WRVVBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBRFFMeVl3QUFBQUZIUlNUbE16QUM4Qkd5Z2VEekl1RUJvaUdCRXRBaGNOS1NIM2lLWUFBQUJG
U1VSQlZIaGU3Y3k1QVlBd0VNVEEyN1BOLzlOL3IwUVFxQVZXNFFTS1grV2NjODROaENRMFFrZm9D
WVVUcllReUFqUVJOQk8wRUZRSjJuYUFqak5mK0xwcXV5TWVUK3NBOWJzdTZ0OEFBQUFBU1VWT1JL
NUNZSUk9Iik7Ci0gICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDE0IDAgMTQgMTQgZmls
bDsKLSAgICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMSAwIDEgMTsKLSAgICAgICAgICAg
IHBhZGRpbmc6IDE0cHg7Ci0gICAgICAgICAgICBtYXJnaW46IC0xNHB4OwogICAgICAgICB9CiAK
LSAgICAgICAgLnBvcHVwLWJ1dHRvbjpsYXN0LWNoaWxkOmFjdGl2ZSB7IC8qIFRPRE86IFJUTCAq
LwotICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCJkYXRhOmltYWdlL3BuZzti
YXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQjNDQU1BQUFBOTNEQ3hBQUFBTTFC
TVZFVUFBQUFBQUFELy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFDaW45MVhBQUFBRVhSU1RsTXpBQUF2TGhzQ0tCZ3lBUkFlRHlJUkZ4dFF0
VHNBQUFBL1NVUkJWSGhlN2NpM0FZQUFFQUpBOFlNNTdEK3RoWTJ3Z2x4NXc1K1ptWmt0R3FFeGFl
d2FoMFNzRXZQSWtTMnhnYVBBY1lLalFKRVh2aEYzNDQwSFNBUUF3UDlUMm13QUFBQUFTVVZPUks1
Q1lJST0iKTsKLSAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMTQgMTQgMTQgMCBmaWxs
OwotICAgICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAxIDEgMSAwOwotICAgICAgICAgICAg
cGFkZGluZzogMTRweDsKLSAgICAgICAgICAgIG1hcmdpbjogLTE0cHg7Ci0gICAgICAgIH0KLQot
ICAgICAgICAucG9wdXAtYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlIHsKLSAgICAgICAgICAgIGJv
cmRlci1pbWFnZS1zb3VyY2U6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dv
QUFBQU5TVWhFVWdBQUFDQUFBQUI0Q0FNQUFBQ2tlUUJjQUFBQVBGQk1WRVVBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB
QUFBQUFBQUFBRFFMeVl3QUFBQUZIUlNUbE16QUM4YktBRXVBakllRHhBWEdDSVJEU2t0R3RJbXlh
b0FBQUJ6U1VSQlZIaGU3YzVMRHNJd0VBVFI2ckdka0grQSs5K1ZSVVFVQ1d4MnJQcHRwMFpxL3N6
TXpNek16TXh1djg1QlU1QnB5Z3cwRFl3MGpaU2dJUXBhYUZpRVNrZFYxd3Rwb21xU2tQU2tJdWtJ
dFBMVnFuZWdWUGsvQTIyUGozMmJyb0g2T2JpSXVkY0JuZmFVN3dEM25IYWRYaTFaQWMvdkxRRW1B
QUFBQUVsRlRrU3VRbUNDIik7Ci0gICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDE0IDE0
IDE0IDE0IGZpbGw7Ci0gICAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDEgMSAxIDE7Ci0g
ICAgICAgICAgICBwYWRkaW5nOiAxNHB4OwotICAgICAgICAgICAgbWFyZ2luOiAtMTRweDsKLSAg
ICAgICAgfQorQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAod2lkdGg6IDcyMHB4KSBhbmQgKGhlaWdo
dDogNzIwcHgpIHsKKyAgICAucG9wdXAtYnV0dG9uIHsKKyAgICAgICAgbWFyZ2luOiAxMHB4IDEw
cHggMTBweCAxMHB4OworICAgICAgICBoZWlnaHQ6IDc3cHg7CisgICAgfQorfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvc2VsZWN0Q29udHJvbEJsYWNr
QmVycnkuY3NzIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvc2VsZWN0Q29u
dHJvbEJsYWNrQmVycnkuY3NzCmluZGV4IGIyMGJjMzMuLmMyNDNmNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1Jlc291cmNlcy9ibGFja2JlcnJ5L3NlbGVjdENvbnRyb2xCbGFja0JlcnJ5
LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS9zZWxlY3RDb250
cm9sQmxhY2tCZXJyeS5jc3MKQEAgLTEsNjQgKzEsODcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
Ki8KLQotLnNlbGVjdC1hcmVhIHsKKy5wb3B1cC1jb250ZW50IHsKICAgICBvdmVyZmxvdy14OiBo
aWRkZW47CiAgICAgb3ZlcmZsb3cteTogYXV0bzsKLSAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwot
ICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKK30KIAotICAgIGJhY2tncm91
bmQ6IHVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF0
VUFBQUFOQ0FZQUFBQm1RWklBQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZK
bFlXUjVjY2xsUEFBQUEyWnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJo
WTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZ
emxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlI
ZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU1DMWpNRFl3SURZeExqRXpORGMzTnl3
Z01qQXhNQzh3TWk4eE1pMHhOem96TWpvd01DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFz
Ym5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXpl
VzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VH
MXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4
aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2
YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWha
RzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJE
MGllRzF3TG1ScFpEb3dPRGd3TVRFM05EQTNNakEyT0RFeE9FUkNRa1UzUWpaRVJURkNOelZHTnlJ
Z2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRveFF6SXdRMFpGUVRNME9EWXhNVVV4
UWtJMFJrRTBPREJFTnpGR01FVkRSU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBa
RG94UXpJd1EwWkZPVE0wT0RZeE1VVXhRa0kwUmtFME9EQkVOekZHTUVWRFJTSWdlRzF3T2tOeVpX
RjBiM0pVYjI5c1BTSkJaRzlpWlNCUWFHOTBiM05vYjNBZ1ExTTFJRTFoWTJsdWRHOXphQ0krSUR4
NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xr
T2pBNE9EQXhNVGMwTURjeU1EWTRNVEU0UkVKQ1JUZENOa1JGTVVJM05VWTNJaUJ6ZEZKbFpqcGti
Mk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakE0T0RBeE1UYzBNRGN5TURZNE1URTRSRUpDUlRkQ05r
UkZNVUkzTlVZM0lpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3
dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtZWnRPV1FBQUEyNUpSRUZV
ZU5yc25ldHV3eUFNaFlQSDN2K0ZVek5WMnFTcFNzQVhUQ0E1NTBlbHRpbmdDL0JCYVpwS0tSc0VR
UkFFUVJBRVFYYmw5ME5LQ1o2QXRDSzRBSUlnQ0xxeEdDNkFwSHB2VXVlSndleU95YndhaUdKQVFW
NUFFSVR4R2xwM3pPWUgrSDBhR3pPU0ZrQzBhSDVnZ0lZZ0NBSlV3OWYrK1FXNU14azAwVVdKQUND
Q2JmQXpCRUVRQkQxM01VT0JaUStEYXFvODU0UFhTR2dFQ1ozRUhTQ2xoeE1KVURRTkdFcGp3US94
QnhZSEVEUjRVb1d0cW5HQUovSTdCOW00U2o1d2NCNzA4QzkzaUcwTHpGMSt5QTRqYTg5SjZDUnlK
R3NPN09oWGw3dGloNTBGcWlXL3VvMis1VTB5VEN4M0FPbzdRelcrSHIzM3dtbC9XR3c0Y0J6VTNQ
bWdMQXJWZDJzblQ5WnU3WTYwQmRnNXdvNnM2S1FhQUtaR0EraGdJbWJsNE5CamNJODhNK3hwWCtx
UVRMVnZCdkpBKzFqcDl6dnZJait0WHNBa0ZoZlE5YjdqRzlkSHdvVVNEYkJGc3R0N0JuU2ErYjBz
RXFOZE1PK3pzbjBTM3VHRGEzUEQ1aFovaXYyVmxjbEtqUVQ1aEhEYTZrZEJ0RkJOam82V09uUlc2
dFRabzhvYldkYVhzS01uWi8wYzRBTzZzSXhSY0xZS0JDYmpoT0c5RDJoeHR2T3BLb044WnExbjlq
OWU0TUgxV0hmbFdBaURJMnkxemdHc3pJdWpmSDFkSEY4TytneDNLTE5WaG9RUmVrSDExb0JxK3Jm
b09kcGMzSDlmSjJHZllpMVVId0V4VmFBNlZ5Q1VHa0NlakZCTGdVQ3NLU001d0tZSGVGdmdpVHBN
ZnRUNXVyUHJJNkM2QnlETkJ0Vzl5NzBLSWtmOUhnTEh0dUpCandmNWN2Uk9iRmtnQmpOQWRRbndq
ZldjTGcrSVN4RzBtNTMxZUlDWkhUSGpEajdkRmZGcjFjZEtZT2NLY0g5Q3Q4dk8zQmpBcUFMVlI1
Q2RLMUNkS3U5dHd2ZEljTTFYSTlrOE1HZzlBcE1jSUcyZHFOTkpoL2s4NzhzVlg3TEN4bDV3TmdK
TXJ0eXBUaFBiWkMwdmRaeFVwZjd4VHRnUjU5NmZBTldhUlU5eHhpY0szcno1T3Z1WjFsbU9COHgw
VHJjWXkyUmhIMmpCMkNkVUY0ZTlXckNPMmlIV3h2ZGJFWmRkRUpmV2NZNHo3dUtUejFNRnVtc2N5
VFVJcmlVRU53RHNERnJaQ0d6V0ZkbmVhT05ySU9oc0ZiRDFEQlRXSGU2L1dMd09mR0tKVVRLMkl4
THdKTmRxdnRKTGc5bzlHMlN2ZW53a3V1LzJndlRab0xwYzdOdElRSnhsUVRJS05DUHFMcE8wY2ZT
T3N3U3FKV1cvT3ZHTk5DNFdQMG8rdzQ3ODBOU3BPWisrVjhwOGJlZDNwdVBLQXVxUGxmN3ZycE1n
SHppOS8xWVJnaUFJZ2lBSWdpQzdmZ1FZQUxrNkJWbStWS1VGQUFBQUFFbEZUa1N1UW1DQyIpIGJv
dHRvbSBuby1yZXBlYXQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOwotICAgIGJhY2tncm91bmQt
c2l6ZTogMTAwJSBhdXRvOwotICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7Ci0gICAg
Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7Ci0gICAgYm9yZGVyLWltYWdlLXNvdXJjZTog
dXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUIwQUFB
QWNDQVlBQUFDZHo3U3FBQUFBQVhOU1IwSUFyczRjNlFBQUFBWmlTMGRFQVA4QS93RC9vTDJua3dB
QUFBbHdTRmx6QUFBTEV3QUFDeE1CQUpxY0dBQUFBQWQwU1UxRkI5d0dCdzhvS2pZRm02d0FBQU1r
U1VSQlZFakh4WmJCVGh0WEZJYS9NemFlakFzMmFaS3FibkhzU3VuRzZrT3dpSkY0QTRSaEExRWxW
R1hMZ3RlSUtoUWFzVW9SRDVDbUVzNkNSL0NpdTdZdUJrc2pGWlRhNEhvOHRtZE9GN2t6T0lpMkNa
amtTRWRqWDgwOTMvMy9lMmJtaXFvU1JlT2c0UUQzZ0U4WVgvd05IQmVLQlM4YWtBaDZlSEI0MXdD
cFZxdjJrKytmM0cwY05LWmI3ZFlrSU84QjBlbnNkS2RRTExRZWYvZjRwRnd1KzJiOCtIN3gva2tN
UFdvYzVZQnBnRWZmUHZxc1dxMFdWRFVDNlJYVUNZQ0lhTGxjYmp6YmV2YW5HVy9sQzNsWERodUhH
ZURMczdNemVWaCsrTUIxM2R0QUNQaUFCd3hHd1BwL0lIT2RBQnpBQnF4Y0x2ZlhxK3FyMzZhbXBo
Um9Xb0xjRm9US1V1VUwxM1d6QnRJQ1hnTWRBKzZaOVA4am8zczhNKysxcVROd1hUZGJXYXJrQkVH
UVR5MFJTYi80NllWZHE5VStCd0xnR0dpYkJvaXlBNXk5UTNZdXpHc0RKMEJRcTlWeUwzOSttUktS
dENVaWJQMndkY2NBVDgzTlhiUGlkMVY1bVZyUDFPbVl1c0hUcmFkM1JJU2tpRkN2MXpOQTM5alJN
NzhEczdmaEZSckpNamswODl1QVhhL1hzeUxpSmtXRWJyZWJNQ3Z0bW12Zk5FMTRqZTZOb0dyKzl6
M1BtNGlWRGdhRG9XbWdDQmpCOUlvdmhHakJZdW9CREh6ZlQ4UlFZK1h3bXBaZUJvNVV4dlhmUUMx
aEJEaThocVgvRnNISWRTaVdZQm1sbzNhT0U4aUZ1bUZzcjRqb2lLWGpoa1lSQWlweXJsUnZHQmpY
SDIwa3ZVRjczNm8vcXZTRHhVZUVXaDhZR2oweXFWVHE0amR4M0dFQlRFNU9TbXh2UHA5SDM1eGJy
RXVhYWh3cHFxckZZdkc4a2VibjV5T0Z6ZzBwZFFESzVmSzUwdFhWVlFCVlZRZElqaG1ZVk5VMG9N
dkx5N0hTYnFsVTZxMnZyNmNNT2F1cXRvNG5iRlhOQXJxeHNXR1hTcVdlaUhURjg3eU1pSHdWaHVI
TXlzcks2ZTd1cm1mMm9XZStyNE1ycUpzQTBzQXRRQllXRnB6dDdlMk1aVmxOVmYxRFZCVy81K2NT
aWNRREVjazgvL0Y1ZDIxdDdkVHp2T3R2cE9Pd3VibVpXYW9zcFZXMUhRVEI3L1l0MjQwUDI3N3Yz
MHNrRXQrSVNMclpiQTUzZG5hOHZiMDlmMzkvZi9pK3NObloyZVRjM0p5OXVMam96TXpNSkZXMUd3
VEJMN1p0SDc5MXdnZm85L3VPWlZsZmkwaCtiQzlkMWFNd0RIOU5wVkt4ZGY4QVZWdmliT2FDWXk4
QUFBQUFTVVZPUks1Q1lJST0iKTsKLSAgICBib3JkZXItd2lkdGg6IDEycHggMTJweCAwIDEycHg7
Ci0gICAgYm9yZGVyLWltYWdlLXNsaWNlOiAxMiAxMiAxMiAxMiBmaWxsOworLnBvcHVwLWNvbnRl
bnQgeworICAgIG1heC1oZWlnaHQ6IDQ5NXB4OyAvKiA1IHJvd3Mgb2YgOTlweCBlYWNoICovCiB9
CiAKLS5zZWxlY3QtYXJlYTpsYXN0LWNoaWxkIHsKLSAgICAvKiBOb3RoaW5nIGNvbWVzIGFmdGVy
IHVzPyBQdXQgdGhlIGJvdHRvbSBib3JkZXIgYmFjayBhbmQgYWRqdXN0IHRoZSBib3R0b20gc2hh
ZG93ICovCi0gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTJweDsKLSAgICBiYWNrZ3JvdW5kLW9y
aWdpbjogYm9yZGVyLWJveDsKK0BtZWRpYSAobWluLWhlaWdodDogOTE4cHgpIHsgLyogNjkzICsg
OTMgKHBvcHVwIGhlYWRlcikgKyAxMzIgKHBvcHVwIGJ1dHRvbnMpID0gOTE4ICovCisgICAgLnBv
cHVwLWNvbnRlbnQgeworICAgICAgICBtYXgtaGVpZ2h0OiA2OTNweDsgLyogaW4gcG9ydHJhaXQ6
IDcgcm93cyBvZiA5OXB4IGVhY2ggKi8KKyAgICB9CiB9CiAKLSAgICAub3B0aW9uIHsKLSAgICAg
ICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgICAgICAgdGV4dC1vdmVyZmxvdzogLWJsYWNrYmVycnkt
ZmFkZTsKLSAgICAgICAgY29sb3I6ICMyNjI2MjY7Ci0gICAgICAgIHRleHQtc2hhZG93OiByZ2Jh
KDAsIDAsIDAsIDAuMikgMCAtMXB4OworLm9wdGlvbiB7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsK
KyAgICB0ZXh0LW92ZXJmbG93OiAtYmxhY2tiZXJyeS1mYWRlOworICAgIGNvbG9yOiAjNTU1NTU1
OworICAgIHRleHQtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMikgMCAtMXB4OwogCi0gICAgICAg
IGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci0gICAgICAgIGhlaWdodDogOTlweDsKKyAgICBib3gt
c2l6aW5nOiBib3JkZXItYm94OworICAgIGhlaWdodDogOTlweDsKIAotICAgICAgICBib3JkZXI6
IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7Ci0gICAgICAgIGJvcmRlci1ib3R0b20td2lk
dGg6IDA7CisgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNiN2I4Yjk7Cit9CiAKLSAgICAg
ICAgcGFkZGluZy1sZWZ0OiAyNHB4OwotICAgICAgICBwYWRkaW5nLXRvcDogMjhweDsKK0BtZWRp
YSBvbmx5IHNjcmVlbiBhbmQgKHdpZHRoOiA3MjBweCkgYW5kIChoZWlnaHQ6IDcyMHB4KSB7Cisg
ICAgLnBvcHVwLWNvbnRlbnQgeworICAgICAgICBtYXgtaGVpZ2h0OiA0NTVweDsgLyogNSByb3dz
IG9mIDkxcHggZWFjaCAqLwogICAgIH0KIAotICAgIC5vcHRpb246bGFzdC1jaGlsZCwKLSAgICAu
b3B0Z3JvdXA6bGFzdC1jaGlsZCB7Ci0gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsK
KyAgICAub3B0aW9uIHsKKyAgICAgICAgaGVpZ2h0OiA5MXB4OwogICAgIH0KK30KIAotICAgICAg
ICAuc2VsZWN0ZWQgewotICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmlt
YWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNRQUFBQWZDQVlBQUFDUHZX
LzJBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTJa
cFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBp
Nzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRj
RzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2Iy
SmxJRmhOVUNCRGIzSmxJRFV1TUMxak1EWXdJRFl4TGpFek5EYzNOeXdnTWpBeE1DOHdNaTh4TWkw
eE56b3pNam93TUNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3
T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQ
SEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUlt
aDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1W
bVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5
WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndM
ekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvd09U
Z3dNVEUzTkRBM01qQTJPREV4T0VSQ1FrVTNRalpFUlRGQ056VkdOeUlnZUcxd1RVMDZSRzlqZFcx
bGJuUkpSRDBpZUcxd0xtUnBaRG80UWpsRE9FWkVSalJGT0VVeE1VVXhRVFZDTkVFNU56VXlNMEZG
UmpBNU9TSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzRRamxET0VaRVJUUkZP
RVV4TVVVeFFUVkNORUU1TnpVeU0wRkZSakE1T1NJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpH
OWlaU0JRYUc5MGIzTm9iM0FnUTFNMUlFMWhZMmx1ZEc5emFDSStJRHg0YlhCTlRUcEVaWEpwZG1W
a1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa1V6UVVaRlJrUXdORE15
TURZNE1URTVORFUzUkRZeVFUTkNSVEZGUkRVMklpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRi
WEF1Wkdsa09qQTVPREF4TVRjME1EY3lNRFk0TVRFNFJFSkNSVGRDTmtSRk1VSTNOVVkzSWk4K0lE
d3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlB
OFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K0VpMXJ0QUFBQXhsSlJFRlVlTnJFbDg5ckdrRVV4MWRY
VFdJU1BhanhSelFoR2tFQ0llZENEdmJRZzlCYmFRNkJRSzhwOUE5SURpMmwyRDhoSjlFby9raE1j
bWpWSEpKTG9ZY1dvZmFTWHBKRHlhbEpoSUlVa1lJLytuMURWeUx1ckRIUmRlSGh6RGd6KytINzNy
eDVxL0g3L2NJb24vUHo4NDYrWm9SQU50Z2oyRy9ZRjRBMWFGRGJhcldFRWRpNlJxTzVNQmdNSC9S
Ni9XZjB2ME1ZQndIcFJxRE1pL0h4OFlqWmJCWUJ4UWJxOWZweXBWS0pvUGxVUjhScXdreE1UREFZ
NmtqdkZrVlJtSnFhQ3FtdEVGUEdaREtKY2lJWWpjWWFBMUpKSWFZTUQ0YWVsWldWRXhiVWFzTHdK
aXdzTEpUQzRmQjdOUlRhSURjaFBzUm1zOG1GaVVRaVc0RCtObXdnZ29sTlQwOXozVVF3MFdpVVlF
NHB4b2NaMUJ0alkyTTlZV0t4V0FmTXNCUmlNRXB1OG5xOXBkM2QzUzZZWVdUcURXUmZCc09iUThy
RTQzRUdNejgvMzZXR2RoaHU0azBnWlJLSkJCZEd6bVZMc0dWWUVmYXpYNWpKeVVsRk4wa3djM056
M0RpUlhFWVNwN1JhN1E5SXZvZmZDL1RmOXVNbWdsRnlVektaWkRBZWo2ZDErejlaaFFEd0NxbDdI
UnRMNDJLdFZuc05veExoWlM5bHNKYXJqTS9uSzZWU0tRYmpkcnQ3bmlBR1pMRlludUhHN1NCR0Ro
RndHMjlXcTFXQkE3VXV3ZkJPS3NHazAya0dNenM3ZTZmanpJTGFaclBWNWY3RUN3VzRZaFBOSFJt
WUJMbUp0ekhCWkRLWnZtRGFNUlFNQmorUzVIS0dBa3JBcHB1WXR5TVZWeGhMWUV6a3JhR1lrV0Jj
TGxkTEtRWmxGZHJlM3Q0TGhVSlozaUtLTFlMQzFCT0NrZHdrWjNTYTl2ZjMyekQ5NWc0V1EwNm44
eGVlZDlRK1BqNWVrNXRJVUFqK0p6cWRUbENLbVd3MnkyQ3c1NzJ1Z0hZZWNqZ2NaMWRYVnd5cVVD
aklRZ0ZJNEoybXhjWEZOZ3oydXZkOTFKRVk3WGI3MmZYMXRTSVVEK2JnNEdBTHJqekZIZys2SEx0
dWV3bUsybmVCSXBqRHc4T0J3SERMajl0UStYeCtUUzBZeGZKalptYm03T2JtaHJsUERvcGdqbzZP
R0F6bURxeUdVU3pRSkNpY3JIb3VsM3ZlYURUME5CNElCSW9vSWQ0TUdvWjlTbHV0MXA2VHl1WHkw
dVhsNWVOaXNlakNjYTZ1cnE1K3hmQW5aUGptUXdHd2QvOUEveGZTeld1Qy9RWEluMEVwMGdXazhw
ZHJ6K2VmQUFNQW1ZYTlGbUFEOWxVQUFBQUFTVVZPUks1Q1lJST0iKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmFmYWZhIDAl
LCAjZGRkZGRkIDEwMCUpOwotICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQg
MjBweCwgMCUgMCU7IC8qIFRPRE86IFJUTCAqLwotICAgICAgICAgICAgLyogRklYTUU6IHRoZSBh
Ym92ZSBzaG91bGQgcHV0IHRoZSBjaGVja21hcmsgMjBweCBmcm9tIHRoZSByaWdodCBvZiB0aGUg
Ym94LCBidXQgd2Via2l0IGlzbid0IHN1cHBvcnRpbmcgdGhhdCBwYXJ0IG9mIENTUzMgeWV0LiBT
byBmYWtlIGl0ICovCi0gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5NyUgNTAlLCAw
JSAwJTsKLSAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Ci0gICAgICAg
ICAgICBwYWRkaW5nLXJpZ2h0OiA1NnB4OyAvKiB0aGlzIGdldHMgdGhlIG92ZXJmbG93IGFuZCBm
YWRlIHRvIHdvcmsuIDM2cHggZm9yIHRoZSBpbWFnZSwgYWJvdXQgMjBweCBmb3IgdGhlIHJpZ2h0
IHBhZGRpbmcgKi8KLSAgICAgICAgfQorLmNvbnRlbnRzIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0
LWJveDsKKyAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7CisgICAgLXdlYmtpdC1i
b3gtYWxpZ246IGNlbnRlcjsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworfQogCi0gICAg
Lm9wdGdyb3VwIHsKLSAgICAgICAgLyogbmVlZCB0byBkbyBzb21ldGhpbmcgd2l0aCB0aGlzICov
Ci0gICAgICAgIHBhZGRpbmctbGVmdDogMjJweDsKLSAgICB9Cisub3B0aW9uOmFjdGl2ZSB7Cisg
ICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXM7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogIzY2Y2NmZjsKK30KIAotICAgICAgICAub3B0Z3JvdXAgLm9wdGlvbiB7Ci0gICAgICAg
ICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgLyogVE9ETzogUlRMICovCi0gICAgICAgIH0KKy5z
ZWxlY3RlZCB7CisgICAgY29sb3I6ICMyNjI2MjY7Cit9CisKKy5zZWxlY3RlZCAuY29udGVudHM6
OmFmdGVyIHsKKyAgICBjb250ZW50OiAnJzsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAgICBiYWNr
Z3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFO
U1VoRVVnQUFBQ1FBQUFBZkNBWUFBQUNQdlcvMkFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWla
U0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBMlpwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFB
QUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21W
VGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02
YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNQzFqTURZd0lEWXhM
akV6TkRjM055d2dNakF4TUM4d01pOHhNaTB4Tnpvek1qb3dNQ0FnSUNBZ0lDQWdJajRnUEhKa1pq
cFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJ
eUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2
ZFhROUlpSWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndM
ekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwz
aGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZaklpQjRiV3h1Y3pwNGJYQTlJbWgwZEhB
Nkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpSUhodGNFMU5Pazl5YVdkcGJtRnNSRzlq
ZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG93T1Rnd01URTNOREEzTWpBMk9ERXhPRVJDUWtVM1FqWkVS
VEZDTnpWR055SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzRRamxET0VaRVJq
UkZPRVV4TVVVeFFUVkNORUU1TnpVeU0wRkZSakE1T1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQw
aWVHMXdMbWxwWkRvNFFqbERPRVpFUlRSRk9FVXhNVVV4UVRWQ05FRTVOelV5TTBGRlJqQTVPU0ln
ZUcxd09rTnlaV0YwYjNKVWIyOXNQU0pCWkc5aVpTQlFhRzkwYjNOb2IzQWdRMU0xSUUxaFkybHVk
Rzl6YUNJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBT
SjRiWEF1YVdsa09rVXpRVVpGUmtRd05ETXlNRFk0TVRFNU5EVTNSRFl5UVROQ1JURkZSRFUySWlC
emRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pBNU9EQXhNVGMwTURjeU1EWTRNVEU0
UkVKQ1JUZENOa1JGTVVJM05VWTNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmta
anBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrRWkxcnRB
QUFBeGxKUkVGVWVOckVsODlyR2tFVXgxZFhUV0lTUGFqeFJ6UWhHa0VDSWVkQ0R2YlFnOUJiYVE2
QlFLOHA5QTlJRGkybDJEOGhKOUVvL2toTWNtalZISkpMb1ljV29mYVNYcEpEeWFsSmhJSVVrWUkv
K24xRFZ5THVyREhSZGVIaHpEZ3orK0g3M3J4NXEvSDcvY0lvbi9Qejg0Nitab1JBTnRnajJHL1lG
NEExYUZEYmFyV0VFZGk2UnFPNU1CZ01IL1I2L1dmMHYwTVlCd0hwUnFETWkvSHg4WWpaYkJZQnhR
YnE5ZnB5cFZLSm9QbFVSOFJxd2t4TVREQVk2a2p2RmtWUm1KcWFDcW10RUZQR1pES0pjaUlZamNZ
YUExSkpJYVlNRDRhZWxaV1ZFeGJVYXNMd0ppd3NMSlRDNGZCN05SVGFJRGNoUHNSbXM4bUZpVVFp
VzREK05td2dnb2xOVDA5ejNVUXcwV2lVWUU0cHhvY1oxQnRqWTJNOVlXS3hXQWZNc0JSaU1FcHU4
bnE5cGQzZDNTNllZV1RxRFdSZkJzT2JROHJFNDNFR016OC8zNldHZGhodTRrMGdaUktKQkJkR3pt
VkxzR1ZZRWZhelg1akp5VWxGTjBrd2MzTnozRGlSWEVZU3A3UmE3UTlJdm9mZkMvVGY5dU1tZ2xG
eVV6S1paREFlajZkMSt6OVpoUUR3Q3FsN0hSdEw0Mkt0Vm5zTm94TGhaUzlsc0phcmpNL25LNlZT
S1FiamRydDduaUFHWkxGWW51SEc3U0JHRGhGd0cyOVdxMVdCQTdVdXdmQk9Lc0drMDJrR016czdl
NmZqeklMYVpyUFY1ZjdFQ3dXNFloUE5IUm1ZQkxtSnR6SEJaREtadm1EYU1SUU1CaitTNUhLR0Fr
ckFwcHVZdHlNVlZ4aExZRXprcmFHWWtXQmNMbGRMS1FabEZkcmUzdDRMaFVKWjNpS0tMWUxDMUJP
Q2tkd2taM1NhOXZmMzJ6RDk1ZzRXUTA2bjh4ZWVkOVErUGo1ZWs1dElVQWorSnpxZFRsQ0ttV3cy
eTJDdzU3MnVnSFllY2pnY1oxZFhWd3lxVUNqSVFnRkk0SjJteGNYRk5nejJ1dmQ5MUpFWTdYYjcy
ZlgxdFNJVUQrYmc0R0FMcmp6RkhnKzZITHR1ZXdtSzJuZUJJcGpEdzhPQndIRExqOXRRK1h4K1RT
MFl4ZkpqWm1ibTdPYm1ocmxQRG9wZ2pvNk9HQXptRHF5R1VTelFKQ2ljckhvdWwzdmVhRFQwTkI0
SUJJb29JZDRNR29aOVNsdXQxcDZUeXVYeTB1WGw1ZU5pc2VqQ2NhNnVycTUreGZBblpQam1Rd0d3
ZC85QS94ZlN6V3VDL1FYSW4wRXAwZ1drOHBkcnorZWZBQU1BbVlhOUZtQUQ5bFVBQUFBQVNVVk9S
SzVDWUlJPScpOworICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgd2lkdGg6
IDM2cHg7CisgICAgaGVpZ2h0OiAzMXB4OworICAgIG1hcmdpbjogMCAyMHB4OworfQorCisudGV4
dCB7CisgICAgaGVpZ2h0OiA5OXB4OworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgcGFkZGlu
ZzogMCAyMHB4OworICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OworICAgIC13ZWJraXQtYm94LW9y
aWVudDogdmVydGljYWw7CisgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOworICAgIC13ZWJr
aXQtYm94LWZsZXg6IDE7Cit9CisKKy5kaXNhYmxlZCB7CisgICAgY29sb3I6ICNiMGIwYjA7Cit9
CisKKy5vcHRncm91cCB7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKKy5vcHRncm91cC1v
cHRpb24geworICAgIC13ZWJraXQtcGFkZGluZy1zdGFydDogNjBweDsKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9ibGFja2JlcnJ5L3NlbGVjdENvbnRyb2xCbGFja0Jl
cnJ5LmpzIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvc2VsZWN0Q29udHJv
bEJsYWNrQmVycnkuanMKaW5kZXggOWQ4NjhhOS4uYjY0ZmYzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvc2VsZWN0Q29udHJvbEJsYWNrQmVycnkuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvc2VsZWN0Q29udHJvbEJs
YWNrQmVycnkuanMKQEAgLTcsOCArNyw4IEBACiAoZnVuY3Rpb24gKCl7CiAKICAgICB2YXIgc2Vs
ZWN0T3B0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7Ci0gICAgICAgIGZvciAodmFyIG9wdGlvbiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWxlY3QtYXJlYScpLmZpcnN0Q2hpbGQ7IG9wdGlv
bjsgb3B0aW9uID0gb3B0aW9uLm5leHRTaWJsaW5nKSB7Ci0gICAgICAgICAgICBpZiAob3B0aW9u
ID09PSBldmVudC50YXJnZXQpIHsKKyAgICAgICAgZm9yICh2YXIgb3B0aW9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3BvcHVwLWNvbnRlbnQnKS5maXJzdENoaWxkOyBvcHRpb247IG9wdGlv
biA9IG9wdGlvbi5uZXh0U2libGluZykgeworICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gdGhp
cykgewogICAgICAgICAgICAgICAgIGlmIChvcHRpb24uY2xhc3NOYW1lLmluZGV4T2YoJ3NlbGVj
dGVkJykgPT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgIG9wdGlvbi5jbGFzc05hbWUgKz0g
JyBzZWxlY3RlZCc7CiAgICAgICAgICAgICAgICAgfQpAQCAtMjAsNzEgKzIwLDE0OSBAQAogICAg
IH07CiAKICAgICB2YXIgdG9nZ2xlT3B0aW9uID0gZnVuY3Rpb24gKGV2ZW50KSB7Ci0gICAgICAg
IGlmIChldmVudC50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoJ3NlbGVjdGVkJykgPT09IC0xKSB7
Ci0gICAgICAgICAgICBldmVudC50YXJnZXQuY2xhc3NOYW1lICs9ICcgc2VsZWN0ZWQnOworICAg
ICAgICBpZiAodGhpcy5jbGFzc05hbWUuaW5kZXhPZignc2VsZWN0ZWQnKSA9PT0gLTEpIHsKKyAg
ICAgICAgICAgIHRoaXMuY2xhc3NOYW1lICs9ICcgc2VsZWN0ZWQnOwogICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgZXZlbnQudGFyZ2V0LmNsYXNzTmFtZSA9IGV2ZW50LnRhcmdldC5jbGFz
c05hbWUucmVwbGFjZSgnc2VsZWN0ZWQnLCAnJyk7CisgICAgICAgICAgICB0aGlzLmNsYXNzTmFt
ZSA9IHRoaXMuY2xhc3NOYW1lLnJlcGxhY2UoJ3NlbGVjdGVkJywgJycpOwogICAgICAgICB9CiAg
ICAgfTsKIAogICAgIHZhciBkb25lID0gZnVuY3Rpb24gKCkgewogICAgICAgICB2YXIgcmVzdWx0
ID0gJyc7Ci0gICAgICAgIGZvciAodmFyIG9wdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdzZWxlY3QtYXJlYScpLmZpcnN0Q2hpbGQ7IG9wdGlvbjsgb3B0aW9uID0gb3B0aW9uLm5leHRT
aWJsaW5nKSB7CisgICAgICAgIGZvciAodmFyIG9wdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdwb3B1cC1jb250ZW50JykuZmlyc3RDaGlsZDsgb3B0aW9uOyBvcHRpb24gPSBvcHRpb24u
bmV4dFNpYmxpbmcpIHsKICAgICAgICAgICAgIGlmIChvcHRpb24uY2xhc3NOYW1lLmluZGV4T2Yo
J3NlbGVjdGVkJykgPT09IC0xKSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICcwJzsKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICcxJzsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQorICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICcn
OwogICAgICAgICB3aW5kb3cuc2V0VmFsdWVBbmRDbG9zZVBvcHVwKHJlc3VsdCwgd2luZG93LnBv
cFVwKTsKICAgICB9OwogCi0gICAgLyogbXVsdGlwbGUgLSBhIGJvb2xlYW4KKyAgICB2YXIgY2Fu
Y2VsID0gZnVuY3Rpb24gKCkgeworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICcn
OworICAgICAgICB3aW5kb3cuc2V0VmFsdWVBbmRDbG9zZVBvcHVwKCctMScsIHdpbmRvdy5wb3BV
cCk7CisgICAgfTsKKworICAgIC8qIHBpY2tlclBhcmFtcyBpcyBhbiBvYmplY3QgbGl0ZXJhbCB3
aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczoKKyAgICAgKgorICAgICAqIGlzTXVsdGlTZWxl
Y3QgLSBhIGJvb2xlYW4KICAgICAgKiBsYWJlbHMgLSBhbiBhcnJheSBvZiBzdHJpbmdzCiAgICAg
ICogZW5hYmxlZHMgLSBhbiBhcnJheSBvZiBib29sZWFucy4KICAgICAgKiAgIC1JIHdpbGwgYXNz
dW1lIHRoYXQgdGhlIEhUTUwgImRpc2FibGVkIG9wdGdyb3VwcyBkaXNhYmxlIGFsbCBvcHRpb25z
IGluIHRoZSBvcHRncm91cCIgaGFzbid0IGJlZW4gYXBwbGllZCwKICAgICAgKiAgICBzbyBpZiB0
aGUgaW5kZXggY29ycmVzcG9uZHMgdG8gYW4gb3B0Z3JvdXAsIEkgd2lsbCByZW5kZXIgYWxsIG9m
IGl0cyBvcHRpb25zIGFzIGRpc2FibGVkCi0gICAgICogaXRlbVR5cGVzIC0gYW4gYXJyYXkgb2Yg
aW50ZWdlcnMsIDAgPT09IG9wdGlvbiwgMSA9PT0gb3B0Z3JvdXAsIDIgPT09IG9wdGlvbiBpbiBv
cHRncm91cAorICAgICAqIGl0ZW1UeXBlcyAtIGFuIGFycmF5IG9mIGludGVnZXJzLCAwID09PSBz
ZXBhcmF0b3IsIDEgPT09IG9wdGdyb3VwLCAyID09PSBvcHRpb24sIDMgPT09IG9wdGlvbiBpbiBv
cHRncm91cAogICAgICAqIHNlbGVjdGVkcyAtIGFuIGFycmF5IG9mIGJvb2xlYW5zCi0gICAgICog
YnV0dG9uVGV4dCAtIGEgc3RyaW5nIHRvIHVzZSBmb3IgdGhlIGJ1dHRvbiBwcmVzZW50ZWQgd2hl
biBtdWx0aXBsZSBpcyB0cnVlLiBMaWtlICJPSyIgb3IgIkRvbmUiIG9yIHNvbWV0aGluZy4KKyAg
ICAgKiB1aVRleHQgLSBsb2NhbGl6ZWQgdGV4dCB0byBkaXNwbGF5IHRvIHVzZXIKKyAgICAgKiBk
aXJlY3Rpb24gLSBsYXlvdXQgZGlyZWN0aW9uIHRvIHVzZSwgJ2x0cicgb3IgJ3J0bCcKICAgICAg
Ki8KLSAgICB2YXIgc2hvdyA9IGZ1bmN0aW9uIChtdWx0aXBsZSwgbGFiZWxzLCBlbmFibGVkcywg
aXRlbVR5cGVzLCBzZWxlY3RlZHMsIGJ1dHRvblRleHQpIHsKKyAgICB2YXIgc2hvdyA9IGZ1bmN0
aW9uIChwaWNrZXJQYXJhbXMpIHsKICAgICAgICAgdmFyIGksCi0gICAgICAgICAgICBzaXplID0g
bGFiZWxzLmxlbmd0aCwKKyAgICAgICAgICAgIHNpemUgPSBwaWNrZXJQYXJhbXMubGFiZWxzLmxl
bmd0aCwKICAgICAgICAgICAgIHBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyks
Ci0gICAgICAgICAgICBzZWxlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAg
ICAgICAgICAgIGhlYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLAorICAgICAg
ICAgICAgc2VsZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksCisgICAgICAgICAg
ICB0b3BTZWxlY3RlZDsKIAogICAgICAgICBwb3B1cC5jbGFzc05hbWUgPSAncG9wdXAtYXJlYSc7
Ci0gICAgICAgIHNlbGVjdC5jbGFzc05hbWUgPSAnc2VsZWN0LWFyZWEnOwotICAgICAgICBzZWxl
Y3QuaWQgPSAnc2VsZWN0LWFyZWEnOworICAgICAgICBwb3B1cC5kaXIgPSBwaWNrZXJQYXJhbXMu
ZGlyZWN0aW9uOworICAgICAgICBzZWxlY3QuY2xhc3NOYW1lID0gc2VsZWN0LmlkID0gJ3BvcHVw
LWNvbnRlbnQnOworICAgICAgICBoZWFkZXIuY2xhc3NOYW1lID0gJ3BvcHVwLWhlYWRlcic7Cisg
ICAgICAgIGhlYWRlci5pbm5lclRleHQgPSBwaWNrZXJQYXJhbXMudWlUZXh0LnRpdGxlOworICAg
ICAgICBwb3B1cC5hcHBlbmRDaGlsZChoZWFkZXIpOwogICAgICAgICBwb3B1cC5hcHBlbmRDaGls
ZChzZWxlY3QpOwogCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKLSAgICAg
ICAgICAgIC8vIFRPRE86IGhhbmRsZSBpdGVtVHlwZXMKICAgICAgICAgICAgIHZhciBvcHRpb24g
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAgICAgIG9wdGlvbi5jbGFz
c05hbWUgPSAnb3B0aW9uJyArIChlbmFibGVkc1tpXSA/ICcnIDogJyBkaXNhYmxlZCcpICsgKHNl
bGVjdGVkc1tpXSA/ICcgc2VsZWN0ZWQnIDogJycpOwotICAgICAgICAgICAgb3B0aW9uLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGxhYmVsc1tpXSkpOwotICAgICAgICAgICAg
aWYgKCFtdWx0aXBsZSkgewotICAgICAgICAgICAgICAgIG9wdGlvbi5hZGRFdmVudExpc3RlbmVy
KCdjbGljaycsIHNlbGVjdE9wdGlvbik7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGVuYWJsZWRz
W2ldKSB7Ci0gICAgICAgICAgICAgICAgb3B0aW9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg
dG9nZ2xlT3B0aW9uKTsKKyAgICAgICAgICAgIG9wdGlvbi5jbGFzc0xpc3QuYWRkKCdvcHRpb24n
KTsKKworICAgICAgICAgICAgaWYgKCFwaWNrZXJQYXJhbXMuZW5hYmxlZHNbaV0pIHsKKyAgICAg
ICAgICAgICAgICBvcHRpb24uY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTsKKyAgICAgICAgICAg
ICAgICBpZiAocGlja2VyUGFyYW1zLml0ZW1UeXBlc1tpXSA9PT0gMSkgeworICAgICAgICAgICAg
ICAgICAgICAvLyBUT0RPOiBkaXNhYmxlZCBvcHRncm91cAorICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChwaWNrZXJQYXJhbXMuc2VsZWN0ZWRzW2ldKSB7
CisgICAgICAgICAgICAgICAgb3B0aW9uLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7CisgICAg
ICAgICAgICAgICAgaWYgKCF0b3BTZWxlY3RlZCkgeworICAgICAgICAgICAgICAgICAgICB0b3BT
ZWxlY3RlZCA9IG9wdGlvbjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBzd2l0Y2gocGlja2VyUGFyYW1zLml0ZW1UeXBlc1tpXSkgeworICAgICAgICAgICAg
Y2FzZSAxOgorICAgICAgICAgICAgICAgIG9wdGlvbi5jbGFzc0xpc3QuYWRkKCdvcHRncm91cCcp
OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAzOgorICAgICAgICAg
ICAgICAgIG9wdGlvbi5jbGFzc0xpc3QuYWRkKCdvcHRncm91cC1vcHRpb24nKTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBjb250ZW50cyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICAgICAgY29udGVudHMuY2xh
c3NMaXN0LmFkZCgnY29udGVudHMnKTsKKyAgICAgICAgICAgIHZhciB0ZXh0Q29udGFpbmVyID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAgICB0ZXh0Q29udGFpbmVy
LmNsYXNzTGlzdC5hZGQoJ3RleHQnKTsKKyAgICAgICAgICAgIC8vIHdyYXAgbGFiZWwgaW4gPGJk
aT4gYW5kIGRvbid0IHNldCBhbnkgZGlyIGF0dHJpYnV0ZSBvbiBpdCwKKyAgICAgICAgICAgIC8v
IHNvIHRoYXQgaXRzIGRpcmVjdGlvbmFsaXR5IHdpbGwgYmUgZGV0ZXJtaW5lZCBoZXVyaXN0aWNh
bGx5IGFuZCBpc29sYXRlZCBmcm9tIHRoZSByZXN0IG9mIHRoZSBET00KKyAgICAgICAgICAgIHZh
ciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYmRpJyk7CisgICAgICAgICAgICB0ZXh0
LmlubmVyVGV4dCA9IHBpY2tlclBhcmFtcy5sYWJlbHNbaV07CisgICAgICAgICAgICB0ZXh0Q29u
dGFpbmVyLmFwcGVuZENoaWxkKHRleHQpOworICAgICAgICAgICAgY29udGVudHMuYXBwZW5kQ2hp
bGQodGV4dENvbnRhaW5lcik7CisgICAgICAgICAgICBvcHRpb24uYXBwZW5kQ2hpbGQoY29udGVu
dHMpOworCisgICAgICAgICAgICBpZiAoIW9wdGlvbi5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2Fi
bGVkJykgJiYgIW9wdGlvbi5jbGFzc0xpc3QuY29udGFpbnMoJ29wdGdyb3VwJykpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoIXBpY2tlclBhcmFtcy5pc011bHRpU2VsZWN0KSB7CisgICAgICAgICAg
ICAgICAgICAgIG9wdGlvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHNlbGVjdE9wdGlvbik7
CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwaWNrZXJQYXJhbXMuZW5hYmxlZHNbaV0pIHsK
KyAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdG9n
Z2xlT3B0aW9uKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgIHNlbGVjdC5hcHBlbmRDaGlsZChvcHRpb24pOwogICAgICAgICB9CiAKLSAgICAgICAgaWYg
KG11bHRpcGxlKSB7Ci0gICAgICAgICAgICB2YXIgb2tCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdidXR0b24nKSwKLSAgICAgICAgICAgICAgICBidXR0b25zID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAgICAgICAgICBidXR0b25zLmNsYXNzTmFtZSA9ICdwb3B1
cC1idXR0b25zJzsKKyAgICAgICAgdmFyIGNhbmNlbEJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2J1dHRvbicpLAorICAgICAgICAgICAgYnV0dG9ucyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOworICAgICAgICBidXR0b25zLmNsYXNzTmFtZSA9ICdwb3B1cC1idXR0b25z
JzsKKyAgICAgICAgY2FuY2VsQnV0dG9uLmNsYXNzTmFtZSA9ICdwb3B1cC1idXR0b24nOworICAg
ICAgICBjYW5jZWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjYW5jZWwpOworICAg
ICAgICBjYW5jZWxCdXR0b24uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUocGlj
a2VyUGFyYW1zLnVpVGV4dC5jYW5jZWxCdXR0b25MYWJlbCkpOworICAgICAgICBidXR0b25zLmFw
cGVuZENoaWxkKGNhbmNlbEJ1dHRvbik7CisgICAgICAgIGlmIChwaWNrZXJQYXJhbXMuaXNNdWx0
aVNlbGVjdCkgeworICAgICAgICAgICAgdmFyIG9rQnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnYnV0dG9uJyk7CiAgICAgICAgICAgICBva0J1dHRvbi5jbGFzc05hbWUgPSAncG9wdXAt
YnV0dG9uJzsKICAgICAgICAgICAgIG9rQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywg
ZG9uZSk7Ci0gICAgICAgICAgICBva0J1dHRvbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShidXR0b25UZXh0KSk7CisgICAgICAgICAgICBva0J1dHRvbi5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZShwaWNrZXJQYXJhbXMudWlUZXh0LmRvbmVCdXR0b25MYWJl
bCkpOwogICAgICAgICAgICAgYnV0dG9ucy5hcHBlbmRDaGlsZChva0J1dHRvbik7Ci0gICAgICAg
ICAgICBwb3B1cC5hcHBlbmRDaGlsZChidXR0b25zKTsKICAgICAgICAgfQotCisgICAgICAgIHBv
cHVwLmFwcGVuZENoaWxkKGJ1dHRvbnMpOwogICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKHBvcHVwKTsKKyAgICAgICAgaWYgKHRvcFNlbGVjdGVkKSB7CisgICAgICAgICAgICB0b3BT
ZWxlY3RlZC5zY3JvbGxJbnRvVmlldyh0cnVlKTsKKyAgICAgICAgICAgIGlmICh0b3BTZWxlY3Rl
ZC5uZXh0U2libGluZykgeyAvLyBVbmxlc3MgdGhlIHNlbGVjdGVkIGVsZW1lbnQgaXMgdGhlIGxh
c3Qgb25lIGluIHRoZSBsaXN0Li4uCisgICAgICAgICAgICAgICAgLy8gLi4uc2Nyb2xsIHRoZSBz
ZWxlY3RlZCBlbGVtZW50IGZ1cnRoZXIgZG93biBhIGJpdCB0byBzaG93IHRoYXQgd2UncmUgbm90
IGF0IHRoZSB0b3Agb2YgdGhlIGxpc3QKKyAgICAgICAgICAgICAgICBzZWxlY3Quc2Nyb2xsVG9w
IC09IDUwOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgdmFyIF9rZXl1cFRp
bWVvdXQsCisgICAgICAgICAgICBfc2VhcmNoVGV4dCA9ICcnLAorICAgICAgICAgICAgY2xlYXJT
ZWFyY2ggPSBmdW5jdGlvbiAoKSB7IF9zZWFyY2hUZXh0ID0gJyc7IH07CisgICAgICAgIGRvY3Vt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgZnVuY3Rpb24gKGV2dCkgeworICAgICAgICAg
ICAgX3NlYXJjaFRleHQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShldnQua2V5Q29kZSk7CisgICAg
ICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KF9rZXl1cFRpbWVvdXQpOworICAgICAgICAgICAg
X2tleXVwVGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KGNsZWFyU2VhcmNoLCAxMDAwKTsgLy8g
UmVzZXQgc2VhcmNoIHN0cmluZyBpZiB0aGVyZSBpcyBuby4uLgorICAgICAgICAgICAgLy8gLi4u
aW5wdXQgd2l0aGluIDEgc2Vjb25kLiAxIHNlY29uZCBpcyBzdWZmaWNpZW50IGZvciBvbmUgaGFu
ZCBpbnB1dCBmb3IgbW9zdCBjYXNlcyBmcm9tIG15CisgICAgICAgICAgICAvLyBleHBlcmltZW50
cy4gTGV0IHVzIHNldCB0aGUgdGltZSBmb3Igbm93LCBhbmQgY2hhbmdlIGxhdGVyIGlmIHNvbWVv
bmUgaGFzIGEgYmV0dGVyIGlkZWEuCisKKyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21l
LmNhbGwoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgndGV4dCcpLAorICAgICAgICAg
ICAgZnVuY3Rpb24gKHRleHREaXYpIHsKKyAgICAgICAgICAgICAgICBpZiAodGV4dERpdi5pbm5l
clRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKF9zZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpID09
PSAwKSB7CisgICAgICAgICAgICAgICAgICAgIHRleHREaXYuc2Nyb2xsSW50b1ZpZXcodHJ1ZSk7
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7CisgICAgICAg
IH0pOwogICAgIH07CiAKICAgICB3aW5kb3cuc2VsZWN0ID0gd2luZG93LnNlbGVjdCB8fCB7fTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9ibGFja2JlcnJ5L3RpbWVDb250
cm9sQmxhY2tCZXJyeS5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvYmxhY2tiZXJyeS90
aW1lQ29udHJvbEJsYWNrQmVycnkuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjQ0MGI4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMv
YmxhY2tiZXJyeS90aW1lQ29udHJvbEJsYWNrQmVycnkuY3NzCkBAIC0wLDAgKzEsNzYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTIuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKi8KKworI3BvcHVwLWNvbnRlbnQtdGltZSB7CisgICAgZGlzcGxh
eTogLXdlYmtpdC1ib3g7CisgICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOworICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBtYXgtaGVpZ2h0OiA0OTVweDsgLyogNSByb3dzIG9m
IDk5cHggZWFjaCAqLworfQorCisuY29sdW1uIHsKKyAgICAtd2Via2l0LWJveC1mbGV4OiAxOwor
ICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgLXdlYmtpdC1ib3JkZXItZW5kOiAycHggc29saWQg
I2I3YjhiOTsKK30KKworLmNvbHVtbjpub3QoOmxhc3QtY2hpbGQpIHsKKyAgICBib3JkZXI6IDA7
Cit9CisKKy5jZWxsIHsKKyAgICBoZWlnaHQ6IDk5cHg7CisgICAgdGV4dC1hbGlnbjogY2VudGVy
OworICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OworICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVy
dGljYWw7CisgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOworfQorCisueWVhcm1vbnRoZGF0
ZSAuY2VsbCBkaXY6bGFzdC1jaGlsZCB7CisgICAgZm9udC1zaXplOiAwLjVlbTsKKyAgICBjb2xv
cjogIzU1NTU1NTsKK30KKworLnJvdy1oaWdobGlnaHQtY29udGFpbmVyIHsKKyAgICBwb2ludGVy
LWV2ZW50czogbm9uZTsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAg
IHJpZ2h0OiAwOworICAgIGJvdHRvbTogMDsKKyAgICBsZWZ0OiAwOworCisgICAgZGlzcGxheTog
LXdlYmtpdC1ib3g7CisgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKKyAgICAtd2Vi
a2l0LWJveC1wYWNrOiBjZW50ZXI7Cit9CisKKy5yb3ctaGlnaGxpZ2h0LWZpbGxlciB7CisgICAg
LXdlYmtpdC1ib3gtZmxleDogMTsKKyAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7
Cit9CisKKy5yb3ctaGlnaGxpZ2h0IHsKKyAgICBoZWlnaHQ6IDk5cHg7CisgICAgYm9yZGVyLXdp
ZHRoOiA0cHggMDsKKyAgICBib3JkZXItY29sb3I6ICMwMGE4ZGY7CisgICAgYm9yZGVyLXN0eWxl
OiBzb2xpZDsKK30KKworLnRhbGwtYml0IHsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworfQorCitA
bWVkaWEgb25seSBzY3JlZW4gYW5kICh3aWR0aDogNzIwcHgpIGFuZCAoaGVpZ2h0OiA3MjBweCkg
eworICAgICNwb3B1cC1jb250ZW50LXRpbWUgeworICAgICAgICBtYXgtaGVpZ2h0OiA0NTVweDsg
LyogNSByb3dzIG9mIDkxcHggZWFjaCAqLworICAgIH0KKworICAgIC5jZWxsIHsKKyAgICAgICAg
aGVpZ2h0OiA5MXB4OworICAgIH0KKworICAgIC5yb3ctaGlnaGxpZ2h0IHsKKyAgICAgICAgaGVp
Z2h0OiA5MXB4OworICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNl
cy9ibGFja2JlcnJ5L3RpbWVDb250cm9sQmxhY2tCZXJyeS5qcyBiL1NvdXJjZS9XZWJDb3JlL1Jl
c291cmNlcy9ibGFja2JlcnJ5L3RpbWVDb250cm9sQmxhY2tCZXJyeS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDAzMzY2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvUmVzb3VyY2VzL2JsYWNrYmVycnkvdGltZUNvbnRyb2xCbGFja0JlcnJ5LmpzCkBA
IC0wLDAgKzEsNDAxIEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZCwgMjAxMi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqLworKGZ1bmN0aW9uICgpewor
dmFyIF90eXBlLAorICAgIF9jdXJyZW50RGF0ZSwKKyAgICBfdHpIb3VycywKKyAgICBfdHpNaW51
dGVzLAorICAgIF90ek9mZnNldCA9IDAsCisgICAgX21pbiwKKyAgICBfbWF4LAorICAgIF9zdGVw
LAorICAgIF9zaG9ydE1vbnRoTGFiZWxzLAorICAgIF9sb25nTW9udGhMYWJlbHMsCisgICAgX2Rh
eXNPZldlZWtMYWJlbHMsCisgICAgX2FtUG1MYWJlbHMsCisgICAgX2Jhc2VPZmZzZXQsCisgICAg
X2RyYWdnaW5nID0gZmFsc2UsCisgICAgX2ZpcnN0WSA9IDAsCisgICAgX3Njcm9sbExpc3RlbmVy
LAorICAgIF9lbmRTY3JvbGxMaXN0ZW5lcjsKKwordmFyIElURU1fSEVJR0hUID0gKHNjcmVlbi53
aWR0aCA9PT0gNzIwICYmIHNjcmVlbi5oZWlnaHQgPT09IDcyMCkgPyA5MSA6IDk5OyAvLyBpbiBw
eCwgbm8gYm9yZGVyCisKK3ZhciBUSU1FID0gJ1RpbWUnLAorICAgIERBVEVfVElNRSA9ICdEYXRl
VGltZScsCisgICAgREFURV9USU1FX0xPQ0FMID0gJ0RhdGVUaW1lTG9jYWwnLAorICAgIERBVEUg
PSAnRGF0ZScsCisgICAgTU9OVEggPSAnTW9udGgnOworCit2YXIgSE9VUlMgPSAnSG91cnMnLAor
ICAgIE1JTlVURVMgPSAnTWludXRlcycsCisgICAgWUVBUk1PTlRIREFURSA9ICdZZWFyTW9udGhE
YXRlJywKKyAgICBZRUFSID0gJ1llYXInOworCit2YXIgQ09MVU1OUyA9IHt9OworQ09MVU1OU1tU
SU1FXSA9IFtIT1VSUywgTUlOVVRFU107CitDT0xVTU5TW0RBVEVfVElNRV0gPSBbWUVBUk1PTlRI
REFURSwgSE9VUlMsIE1JTlVURVNdOworQ09MVU1OU1tEQVRFX1RJTUVfTE9DQUxdID0gW1lFQVJN
T05USERBVEUsIEhPVVJTLCBNSU5VVEVTXTsKK0NPTFVNTlNbREFURV0gPSBbREFURSwgTU9OVEgs
IFlFQVJdOworQ09MVU1OU1tNT05USF0gPSBbTU9OVEgsIFlFQVJdOworCisvLyBIYXJkIGxpbWl0
cyBmb3IgaW50ZXJuYWwgdHlwZS4gU2VlIFdlYkNvcmUvcGxhdGZvcm0vRGF0ZUNvbXBvbmVudHMu
aAordmFyIExJTUlUX01JTiA9IG5ldyBEYXRlKC02MjEzNTU5NjgwMDAwMC4wKSwKKyAgICBMSU1J
VF9NQVggPSBuZXcgRGF0ZSg4NjQwMDAwMDAwMDAwMDAwLjApOworCitmdW5jdGlvbiBwYXJzZUZy
b21EYXRlU3RyaW5nKHN0cikgeworICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpLAorICAgICAgICBt
YXRjaDsKKyAgICBpZiAoc3RyKSB7CisgICAgICAgIHN3aXRjaCAoX3R5cGUpIHsKKyAgICAgICAg
Y2FzZSBUSU1FOgorICAgICAgICAgICAgbWF0Y2ggPSBzdHIubWF0Y2goLyhcZCspOihcZCspLyk7
CisgICAgICAgICAgICBfdHpIb3VycyA9IG1hdGNoWzFdOworICAgICAgICAgICAgX3R6TWludXRl
cyA9IG1hdGNoWzJdOworICAgICAgICAgICAgX2N1cnJlbnREYXRlID0gbmV3IERhdGUobm93Lmdl
dEZ1bGxZZWFyKCksIG5vdy5nZXRNb250aCgpLCBub3cuZ2V0RGF0ZSgpLCBfdHpIb3VycywgX3R6
TWludXRlcyk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBEQVRFOgorICAgICAg
ICAgICAgbWF0Y2ggPSBzdHIubWF0Y2goLyhcZCspLShcZCspLShcZCspLyk7CisgICAgICAgICAg
ICBfY3VycmVudERhdGUgPSBuZXcgRGF0ZShtYXRjaFsxXSwgbWF0Y2hbMl0gLSAxLCBtYXRjaFsz
XSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBNT05USDoKKyAgICAgICAgICAg
IG1hdGNoID0gc3RyLm1hdGNoKC8oXGQrKS0oXGQrKS8pOworICAgICAgICAgICAgX2N1cnJlbnRE
YXRlID0gbmV3IERhdGUobWF0Y2hbMV0sIG1hdGNoWzJdIC0gMSk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBEQVRFX1RJTUU6IC8vIGZhbGwtdGhyb3VnaAorICAgICAgICBjYXNl
IERBVEVfVElNRV9MT0NBTDoKKyAgICAgICAgICAgIG1hdGNoID0gc3RyLm1hdGNoKC8oXGQrKS0o
XGQrKS0oXGQrKVtUIF0oXGQrKTooXGQrKS8pOworICAgICAgICAgICAgdmFyIHV0Y1RpbWUgPSBu
ZXcgRGF0ZShtYXRjaFsxXSwgbWF0Y2hbMl0gLSAxLCBtYXRjaFszXSwgbWF0Y2hbNF0sIG1hdGNo
WzVdKTsKKyAgICAgICAgICAgIGlmIChtYXRjaCA9IHN0ci5tYXRjaCgvKFxkKyktKFxkKyktKFxk
KylbVCBdKFxkKyk6KFxkKykrKFxkKyk6KFxkKykvKSkgeyAvLyBwb3NpdGl2ZSB0aW1lem9uZSBv
ZmZzZXQKKyAgICAgICAgICAgICAgICBfdHpIb3VycyA9IG1hdGNoWzZdOworICAgICAgICAgICAg
ICAgIF90ek1pbnV0ZXMgPSBtYXRjaFs3XTsKKyAgICAgICAgICAgICAgICBfdHpPZmZzZXQgPSAo
bWF0Y2hbNl0gKiA2MCArIG1hdGNoWzddKSAqIDYwMDAwOworICAgICAgICAgICAgfSBlbHNlIGlm
IChyZXN1bHQgPSBzdHIubWF0Y2goLyhcZCspLShcZCspLShcZCspW1QgXShcZCspOihcZCspLShc
ZCspOihcZCspLykpIHsgLy8gbmVnYXRpdmUgdGltZXpvbmUgb2Zmc2V0CisgICAgICAgICAgICAg
ICAgX3R6SG91cnMgPSBtYXRjaFs2XTsKKyAgICAgICAgICAgICAgICBfdHpNaW51dGVzID0gbWF0
Y2hbN107CisgICAgICAgICAgICAgICAgX3R6T2Zmc2V0ID0gLShtYXRjaFs2XSAqIDYwICsgbWF0
Y2hbN10pICogNjAwMDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBfY3VycmVudERhdGUg
PSBuZXcgRGF0ZSh1dGNUaW1lLmdldFRpbWUoKSArIF90ek9mZnNldCk7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHN3aXRjaCAoX3R5cGUpIHsK
KyAgICAgICAgY2FzZSBUSU1FOgorICAgICAgICBjYXNlIERBVEVfVElNRToKKyAgICAgICAgY2Fz
ZSBEQVRFX1RJTUVfTE9DQUw6CisgICAgICAgICAgICBfY3VycmVudERhdGUgPSBuZXcgRGF0ZShu
b3cuZ2V0RnVsbFllYXIoKSwgbm93LmdldE1vbnRoKCksIG5vdy5nZXREYXRlKCksIG5vdy5nZXRI
b3VycygpLCBub3cuZ2V0TWludXRlcygpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIERBVEU6CisgICAgICAgICAgICBfY3VycmVudERhdGUgPSBuZXcgRGF0ZShub3cuZ2V0RnVs
bFllYXIoKSwgbm93LmdldE1vbnRoKCksIG5vdy5nZXREYXRlKCkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgTU9OVEg6CisgICAgICAgICAgICBfY3VycmVudERhdGUgPSBuZXcg
RGF0ZShub3cuZ2V0RnVsbFllYXIoKSwgbm93LmdldE1vbnRoKCkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyAgICB9Cit9CisKK2Z1bmN0aW9uIHBhZFR3byh2KSB7IHJldHVybiAo
JzAnICsgdikuc3Vic3RyKC0yLCAyKTsgfQorZnVuY3Rpb24gcGFkRm91cih2KSB7IHJldHVybiAo
JzAwMCcgKyB2KS5zdWJzdHIoLTQsIDQpOyB9CisKK2Z1bmN0aW9uIGdldFJlc3VsdFN0cmluZygp
IHsKKyAgICBzd2l0Y2goX3R5cGUpIHsKKyAgICBjYXNlIFRJTUU6CisgICAgICAgIHJldHVybiBw
YWRUd28oX2N1cnJlbnREYXRlLmdldEhvdXJzKCkpICsgJzonICsgcGFkVHdvKF9jdXJyZW50RGF0
ZS5nZXRNaW51dGVzKCkpOworICAgIGNhc2UgREFURV9USU1FOiAvLyBmYWxsLXRocm91Z2gKKyAg
ICBjYXNlIERBVEVfVElNRV9MT0NBTDogLy8gd29ya3MgYmVjYXVzZSBfdHpPZmZzZXQgZm9yIGR0
bG9jYWwgaXMgMAorICAgICAgICB2YXIgYWRqdXN0ZWREYXRlID0gbmV3IERhdGUoX2N1cnJlbnRE
YXRlLmdldFRpbWUoKSAtIF90ek9mZnNldCksCisgICAgICAgICAgICBkYXRldGltZSA9IHBhZEZv
dXIoYWRqdXN0ZWREYXRlLmdldEZ1bGxZZWFyKCkpICsgJy0nICsgcGFkVHdvKGFkanVzdGVkRGF0
ZS5nZXRNb250aCgpICsgMSkgKyAnLScgKyBwYWRUd28oYWRqdXN0ZWREYXRlLmdldERhdGUoKSkg
KyAnVCcgKyBwYWRUd28oYWRqdXN0ZWREYXRlLmdldEhvdXJzKCkpICsgJzonICsgcGFkVHdvKGFk
anVzdGVkRGF0ZS5nZXRNaW51dGVzKCkpOworICAgICAgICBpZiAoX3R5cGUgPT09IERBVEVfVElN
RV9MT0NBTCkgeworICAgICAgICAgICAgcmV0dXJuIGRhdGV0aW1lOworICAgICAgICB9IGVsc2Ug
aWYgKCFfdHpPZmZzZXQpIHsKKyAgICAgICAgICAgIHJldHVybiBkYXRldGltZSArICdaJzsKKyAg
ICAgICAgfSBlbHNlIGlmIChfdHpPZmZzZXQgPiAwKSB7CisgICAgICAgICAgICByZXR1cm4gZGF0
ZXRpbWUgKyAnKycgKyBwYWRUd28oX3R6SG91cnMpICsgJzonICsgcGFkVHdvKF90ek1pbnV0ZXMp
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmV0dXJuIGRhdGV0aW1lICsgJy0nICsg
cGFkVHdvKF90ekhvdXJzKSArICc6JyArIHBhZFR3byhfdHpNaW51dGVzKTsKKyAgICAgICAgfQor
ICAgIGNhc2UgREFURToKKyAgICAgICAgcmV0dXJuIHBhZEZvdXIoX2N1cnJlbnREYXRlLmdldEZ1
bGxZZWFyKCkpICsgJy0nICsgcGFkVHdvKF9jdXJyZW50RGF0ZS5nZXRNb250aCgpICsgMSkgKyAn
LScgKyBwYWRUd28oX2N1cnJlbnREYXRlLmdldERhdGUoKSk7CisgICAgY2FzZSBNT05USDoKKyAg
ICAgICAgcmV0dXJuIHBhZEZvdXIoX2N1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkpICsgJy0nICsg
cGFkVHdvKF9jdXJyZW50RGF0ZS5nZXRNb250aCgpICsgMSk7CisgICAgfQorICAgIHJldHVybiAn
LTEnOworfQorCitmdW5jdGlvbiBvaygpIHsKKyAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
ICcnOworICAgIHdpbmRvdy5zZXRWYWx1ZUFuZENsb3NlUG9wdXAoZ2V0UmVzdWx0U3RyaW5nKCks
IHdpbmRvdy5wb3BVcCk7Cit9CisKK2Z1bmN0aW9uIGNhbmNlbCgpIHsKKyAgICBkb2N1bWVudC5i
b2R5LmlubmVySFRNTCA9ICcnOworICAgIHdpbmRvdy5zZXRWYWx1ZUFuZENsb3NlUG9wdXAoJy0x
Jywgd2luZG93LnBvcFVwKTsKK30KKworZnVuY3Rpb24gYWRqdXN0Q29sdW1uTGFiZWxzRm9yVmFs
dWUoY29sKSB7CisgICAgdmFyIGNsb25lRGF0ZSA9IG5ldyBEYXRlKF9jdXJyZW50RGF0ZS5nZXRU
aW1lKCkpLAorICAgICAgICBvZmZzZXQgPSBNYXRoLmZsb29yKGNvbC5jaGlsZHJlbi5sZW5ndGgg
LyAyKTsKKyAgICBzd2l0Y2goY29sLnR5cGUpIHsKKyAgICBjYXNlIEhPVVJTOgorICAgICAgICAv
LyBGSVhNRTogMTJoLzI0aAorICAgICAgICBjbG9uZURhdGUuc2V0SG91cnMoY2xvbmVEYXRlLmdl
dEhvdXJzKCkgLSBvZmZzZXQpOworICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxs
KGNvbC5jaGlsZHJlbiwgZnVuY3Rpb24gKGNoaWxkKSB7CisgICAgICAgICAgICBjaGlsZC5pbm5l
clRleHQgPSBwYWRUd28oY2xvbmVEYXRlLmdldEhvdXJzKCkpOworICAgICAgICAgICAgY2xvbmVE
YXRlLnNldEhvdXJzKGNsb25lRGF0ZS5nZXRIb3VycygpICsgMSk7CisgICAgICAgIH0pOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIE1JTlVURVM6CisgICAgICAgIGNsb25lRGF0ZS5zZXRNaW51
dGVzKGNsb25lRGF0ZS5nZXRNaW51dGVzKCkgLSBvZmZzZXQpOworICAgICAgICBBcnJheS5wcm90
b3R5cGUuZm9yRWFjaC5jYWxsKGNvbC5jaGlsZHJlbiwgZnVuY3Rpb24gKGNoaWxkKSB7CisgICAg
ICAgICAgICBjaGlsZC5pbm5lclRleHQgPSBwYWRUd28oY2xvbmVEYXRlLmdldE1pbnV0ZXMoKSk7
CisgICAgICAgICAgICBjbG9uZURhdGUuc2V0TWludXRlcyhjbG9uZURhdGUuZ2V0TWludXRlcygp
ICsgMSk7CisgICAgICAgIH0pOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFlFQVJNT05USERB
VEU6CisgICAgICAgIC8vIEZJWE1FOiBzaG93IHRoZSB5ZWFyCisgICAgICAgIGNsb25lRGF0ZS5z
ZXREYXRlKGNsb25lRGF0ZS5nZXREYXRlKCkgLSBvZmZzZXQpOworICAgICAgICBBcnJheS5wcm90
b3R5cGUuZm9yRWFjaC5jYWxsKGNvbC5jaGlsZHJlbiwgZnVuY3Rpb24gKGNoaWxkKSB7CisgICAg
ICAgICAgICB2YXIgZGF0ZU1vbnRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksCisg
ICAgICAgICAgICAgICAgd2Vla2RheSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwor
ICAgICAgICAgICAgZGF0ZU1vbnRoLmlubmVyVGV4dCA9IGNsb25lRGF0ZS5nZXREYXRlKCkgKyAn
ICcgKyBfc2hvcnRNb250aExhYmVsc1tjbG9uZURhdGUuZ2V0TW9udGgoKV07IC8vIEZJWE1FOiBz
aG91bGQgbG9jYWxpemUgZGF0ZSBhcyBhIHdob2xlIGluc3RlYWQgb2YgY29uY2F0ZW5hdGluZyBp
bmRpdmlkdWFsIGNvbXBvbmVudHMKKyAgICAgICAgICAgIHdlZWtkYXkuaW5uZXJUZXh0ID0gX2Rh
eXNPZldlZWtMYWJlbHNbY2xvbmVEYXRlLmdldERheSgpXTsKKyAgICAgICAgICAgIGNoaWxkLmlu
bmVySFRNTCA9ICcnOworICAgICAgICAgICAgY2hpbGQuYXBwZW5kQ2hpbGQoZGF0ZU1vbnRoKTsK
KyAgICAgICAgICAgIGNoaWxkLmFwcGVuZENoaWxkKHdlZWtkYXkpOworICAgICAgICAgICAgY2xv
bmVEYXRlLnNldERhdGUoY2xvbmVEYXRlLmdldERhdGUoKSArIDEpOworICAgICAgICB9KTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBEQVRFOgorICAgICAgICBjbG9uZURhdGUuc2V0RGF0ZShj
bG9uZURhdGUuZ2V0RGF0ZSgpIC0gb2Zmc2V0KTsKKyAgICAgICAgQXJyYXkucHJvdG90eXBlLmZv
ckVhY2guY2FsbChjb2wuY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkgeworICAgICAgICAgICAg
Y2hpbGQuaW5uZXJUZXh0ID0gY2xvbmVEYXRlLmdldERhdGUoKTsKKyAgICAgICAgICAgIGNsb25l
RGF0ZS5zZXREYXRlKGNsb25lRGF0ZS5nZXREYXRlKCkgKyAxKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgTU9OVEg6CisgICAgICAgIGNsb25lRGF0ZS5zZXREYXRlKDEp
OyAvLyBPdGhlcndpc2UgdGhlIGxvb3AgbWlnaHQgc2tpcCBzaG9ydGVyIG1vbnRocworICAgICAg
ICBjbG9uZURhdGUuc2V0TW9udGgoY2xvbmVEYXRlLmdldE1vbnRoKCkgLSBvZmZzZXQpOworICAg
ICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNvbC5jaGlsZHJlbiwgZnVuY3Rpb24g
KGNoaWxkKSB7CisgICAgICAgICAgICBjaGlsZC5pbm5lclRleHQgPSBfbG9uZ01vbnRoTGFiZWxz
W2Nsb25lRGF0ZS5nZXRNb250aCgpXTsKKyAgICAgICAgICAgIGNsb25lRGF0ZS5zZXRNb250aChj
bG9uZURhdGUuZ2V0TW9udGgoKSArIDEpOworICAgICAgICB9KTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBZRUFSOgorICAgICAgICBjbG9uZURhdGUuc2V0WWVhcihjbG9uZURhdGUuZ2V0RnVs
bFllYXIoKSAtIG9mZnNldCk7CisgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwo
Y29sLmNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQpIHsKKyAgICAgICAgICAgIGNoaWxkLmlubmVy
VGV4dCA9IHBhZEZvdXIoY2xvbmVEYXRlLmdldEZ1bGxZZWFyKCkpOworICAgICAgICAgICAgY2xv
bmVEYXRlLnNldFllYXIoY2xvbmVEYXRlLmdldEZ1bGxZZWFyKCkgKyAxKTsKKyAgICAgICAgfSk7
CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKworZnVuY3Rpb24gYmVnaW5TY3JvbGwoZXZ0KSB7
CisgICAgX2RyYWdnaW5nID0gdHJ1ZTsKKyAgICBfZmlyc3RZID0gZXZ0LmNsaWVudFkgfHwgZXZ0
LnRvdWNoZXNbMF0uc2NyZWVuWTsKKyAgICBfc2Nyb2xsTGlzdGVuZXIgPSBzY3JvbGwuYmluZCh0
aGlzKTsKKyAgICBfZW5kU2Nyb2xsTGlzdGVuZXIgPSBlbmRTY3JvbGwuYmluZCh0aGlzKTsKKyAg
ICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBfc2Nyb2xsTGlzdGVuZXIp
OworICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIF9zY3JvbGxMaXN0
ZW5lcik7CisgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIF9lbmRTY3Jv
bGxMaXN0ZW5lcik7CisgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBf
ZW5kU2Nyb2xsTGlzdGVuZXIpOworfQorCitmdW5jdGlvbiBzY3JvbGwoZXZ0KSB7CisgICAgaWYg
KF9kcmFnZ2luZykgeworICAgICAgICB2YXIgY2xpZW50WSA9IGV2dC5jbGllbnRZIHx8IGV2dC50
b3VjaGVzWzBdLnNjcmVlblk7CisgICAgICAgIHRoaXMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgn
dGFsbC1iaXQnKVswXS5zdHlsZS53ZWJraXRUcmFuc2Zvcm0gPSAndHJhbnNsYXRlWSgnICsgKGNs
aWVudFkgLSBfZmlyc3RZICsgX2Jhc2VPZmZzZXQpICsgJ3B4KSB0cmFuc2xhdGVaKDApJzsKKyAg
ICB9Cit9CisKK2Z1bmN0aW9uIGVuZFNjcm9sbChldnQpIHsKKyAgICBpZiAoIV9kcmFnZ2luZykg
eworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgX2RyYWdnaW5nID0gZmFsc2U7CisgICAg
ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgX3Njcm9sbExpc3RlbmVy
KTsKKyAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBfc2Nyb2xs
TGlzdGVuZXIpOworICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBf
ZW5kU2Nyb2xsTGlzdGVuZXIpOworICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Rv
dWNoZW5kJywgX2VuZFNjcm9sbExpc3RlbmVyKTsKKyAgICB2YXIgY2xpZW50WSA9IGV2dC5jbGll
bnRZIHx8IGV2dC5jaGFuZ2VkVG91Y2hlc1swXS5zY3JlZW5ZOworICAgIHZhciBkeSA9IGNsaWVu
dFkgLSBfZmlyc3RZLAorICAgICAgICBkSXRlbXMgPSBNYXRoLmZsb29yKGR5IC8gSVRFTV9IRUlH
SFQpLAorICAgICAgICBleHRyYSA9IGR5ICUgSVRFTV9IRUlHSFQ7CisgICAgaWYgKGV4dHJhIDwg
MCkgeworICAgICAgICBkSXRlbXMrKzsKKyAgICB9CisgICAgLy8gRnVkZ2U6IHdoaWNoIGl0ZW0g
aXMgYWN0dWFsbHkgbW9zdGx5IGluIHRoZSB3aW5kb3c/CisgICAgaWYgKGV4dHJhID4gSVRFTV9I
RUlHSFQgLyAyKSB7CisgICAgICAgIC8vIHlvdSd2ZSBtb3ZlZCBkb3duIG1vcmUgdGhhbiBoYWxm
IHRoZSBuZXh0IGVsZW1lbnQsIG1vdmUgc29tZSBtb3JlCisgICAgICAgIGRJdGVtcysrOworICAg
ICAgICBleHRyYSAtPSBJVEVNX0hFSUdIVDsKKyAgICB9IGVsc2UgaWYgKGV4dHJhIDwgLUlURU1f
SEVJR0hUIC8gMikgeworICAgICAgICBkSXRlbXMtLTsKKyAgICAgICAgZXh0cmEgKz0gSVRFTV9I
RUlHSFQ7CisgICAgfQorICAgIHZhciBvbGREYXRlID0gbmV3IERhdGUoX2N1cnJlbnREYXRlLmdl
dFRpbWUoKSk7CisgICAgc3dpdGNoKHRoaXMudHlwZSkgeworICAgIGNhc2UgSE9VUlM6CisgICAg
Y2FzZSBNSU5VVEVTOgorICAgIGNhc2UgREFURToKKyAgICBjYXNlIE1PTlRIOgorICAgICAgICBf
Y3VycmVudERhdGVbJ3NldCcgKyB0aGlzLnR5cGVdKF9jdXJyZW50RGF0ZVsnZ2V0JyArIHRoaXMu
dHlwZV0oKSAtIGRJdGVtcyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgWUVBUjoKKyAgICAg
ICAgX2N1cnJlbnREYXRlLnNldEZ1bGxZZWFyKF9jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpIC0g
ZEl0ZW1zKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBZRUFSTU9OVEhEQVRFOgorICAgICAg
ICBfY3VycmVudERhdGUuc2V0RGF0ZShfY3VycmVudERhdGUuZ2V0RGF0ZSgpIC0gZEl0ZW1zKTsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgLy8gVE9ETzogYW5pbWF0ZSB0aGUgZXh0cmFu
ZW91cyBjb2x1bW4gY2hhbmdlcworICAgIC8vIGFuaW1hdGUgdGhlIG9uZSBjaGFuZ2VkIHRhbGxi
aXQgbWFudWFsbHkKKyAgICB2YXIgdGFsbEJpdCA9IHRoaXMuZ2V0RWxlbWVudHNCeUNsYXNzTmFt
ZSgndGFsbC1iaXQnKVswXTsKKyAgICB0YWxsQml0LnN0eWxlLndlYmtpdFRyYW5zaXRpb24gPSAn
LXdlYmtpdC10cmFuc2Zvcm0gJyArIE1hdGguYWJzKGV4dHJhICogMikgKyAnbXMgZWFzZS1vdXQn
OworICAgIHRhbGxCaXQuc3R5bGUud2Via2l0VHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVkoJyArIChf
YmFzZU9mZnNldCArIGR5IC0gZXh0cmEpICsgJ3B4KSB0cmFuc2xhdGVaKDApJzsKKyAgICAvLyB1
c2UgYSB0aW1lciBpbnN0ZWFkIG9mIHdlYmtpdFRyYW5zaXRpb25FbmQgaW4gY2FzZSB3ZWJraXRU
cmFuc2l0aW9uRW5kIGRvZXNuJ3QgZmlyZSAoaGFwcGVucyBpZiBpdCBza2lwcyBhbGwgZnJhbWVz
KQorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICB0YWxsQml0LnN0eWxlLndl
YmtpdFRyYW5zaXRpb24gPSAnJzsKKyAgICAgICAgdmFyIHRhbGxCaXRzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeUNsYXNzTmFtZSgndGFsbC1iaXQnKTsKKyAgICAgICAgQXJyYXkucHJvdG90eXBl
LmZvckVhY2guY2FsbCh0YWxsQml0cywgZnVuY3Rpb24gKHRhbGwpIHsKKyAgICAgICAgICAgIHN3
aXRjaCh0YWxsLnR5cGUpIHsKKyAgICAgICAgICAgIGNhc2UgSE9VUlM6CisgICAgICAgICAgICBj
YXNlIE1JTlVURVM6CisgICAgICAgICAgICBjYXNlIERBVEU6CisgICAgICAgICAgICBjYXNlIE1P
TlRIOgorICAgICAgICAgICAgICAgIGlmIChvbGREYXRlWydnZXQnICsgdGFsbC50eXBlXSgpICE9
PSBfY3VycmVudERhdGVbJ2dldCcgKyB0YWxsLnR5cGVdKCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgYWRqdXN0Q29sdW1uTGFiZWxzRm9yVmFsdWUodGFsbCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBZRUFSOgorICAgICAgICAg
ICAgICAgIGlmIChvbGREYXRlLmdldEZ1bGxZZWFyKCkgIT09IF9jdXJyZW50RGF0ZS5nZXRGdWxs
WWVhcigpKSB7CisgICAgICAgICAgICAgICAgICAgIGFkanVzdENvbHVtbkxhYmVsc0ZvclZhbHVl
KHRhbGwpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIGNhc2UgWUVBUk1PTlRIREFURToKKyAgICAgICAgICAgICAgICBpZiAob2xkRGF0ZS5n
ZXRGdWxsWWVhcigpICE9PSBfY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKQorICAgICAgICAgICAg
ICAgICAgICB8fCBvbGREYXRlLmdldE1vbnRoKCkgIT09IF9jdXJyZW50RGF0ZS5nZXRNb250aCgp
CisgICAgICAgICAgICAgICAgICAgIHx8IG9sZERhdGUuZ2V0RGF0ZSgpICE9PSBfY3VycmVudERh
dGUuZ2V0RGF0ZSgpCisgICAgICAgICAgICAgICAgKSB7CisgICAgICAgICAgICAgICAgICAgIGFk
anVzdENvbHVtbkxhYmVsc0ZvclZhbHVlKHRhbGwpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSk7CisgICAgICAgIHJl
c2V0UG9zaXRpb25zKCk7CisgICAgfSwgTWF0aC5hYnMoZXh0cmEgKiAyKSArIDEpOworfQorCitm
dW5jdGlvbiBjcmVhdGVDb2x1bW4odHlwZSkgeworICAgIHZhciBjb2wgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKSwKKyAgICAgICAgdGFsbEJpdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgIGNvbC5jbGFzc05hbWUgPSAnY29sdW1uICcgKyB0eXBlOworICAgIGNv
bC50eXBlID0gdHlwZTsKKyAgICB0YWxsQml0LmNsYXNzTmFtZSA9ICd0YWxsLWJpdCc7CisgICAg
dGFsbEJpdC50eXBlID0gdHlwZTsKKyAgICBjb2wuYXBwZW5kQ2hpbGQodGFsbEJpdCk7CisKKyAg
ICB2YXIgbnVtQ2VsbHMgPSBNYXRoLmNlaWwoTWF0aC5tYXgoc2NyZWVuLmhlaWdodCwgc2NyZWVu
LndpZHRoKSAvIElURU1fSEVJR0hUKSAqIDIgKyAxOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
bnVtQ2VsbHM7ICsraSkgeworICAgICAgICB2YXIgY2VsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgICAgICBjZWxsLmNsYXNzTmFtZSA9ICdjZWxsJzsKKyAgICAgICAgdGFs
bEJpdC5hcHBlbmRDaGlsZChjZWxsKTsKKyAgICB9CisKKyAgICBhZGp1c3RDb2x1bW5MYWJlbHNG
b3JWYWx1ZSh0YWxsQml0KTsKKworICAgIGNvbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24n
LCBiZWdpblNjcm9sbCk7CisgICAgY29sLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBi
ZWdpblNjcm9sbCk7CisKKyAgICByZXR1cm4gY29sOworfQorCitmdW5jdGlvbiByZXNldFBvc2l0
aW9ucygpIHsKKyAgICB2YXIgdGFsbEJpdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NO
YW1lKCd0YWxsLWJpdCcpOworICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodGFsbEJp
dHMsIGZ1bmN0aW9uICh0YWxsQml0KSB7CisgICAgICAgIHRhbGxCaXQuc3R5bGUud2Via2l0VHJh
bnNmb3JtID0gJ3RyYW5zbGF0ZVkoJyArIF9iYXNlT2Zmc2V0ICsgJ3B4KSB0cmFuc2xhdGVaKDAp
JzsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gc2hvdyhwaWNrZXJQYXJhbXMpIHsKKyAgICBfdHlw
ZSA9IHBpY2tlclBhcmFtcy50eXBlOworICAgIHBhcnNlRnJvbURhdGVTdHJpbmcocGlja2VyUGFy
YW1zLmluaXRpYWxWYWx1ZSk7CisgICAgX21pbiA9IHBpY2tlclBhcmFtcy5taW47IC8vIEZJWE1F
OiBtaW4gbm90IHN1cHBvcnRlZAorICAgIF9tYXggPSBwaWNrZXJQYXJhbXMubWF4OyAvLyBGSVhN
RTogbWF4IG5vdCBzdXBwb3J0ZWQKKyAgICBfc3RlcCA9IHBpY2tlclBhcmFtcy5zdGVwOyAvLyBG
SVhNRTogc3RlcCBub3Qgc3VwcG9ydGVkCisgICAgLy8gRklYTUU6IGRpc2FibGVkIG5vdCBzdXBw
b3J0ZWQgKG5lZWQgdG8gZ2V0IHRoaXMgc3RhdGUgcGFzc2VkIGluKQorCisgICAgX3Nob3J0TW9u
dGhMYWJlbHMgPSBwaWNrZXJQYXJhbXMudWlUZXh0LnNob3J0TW9udGhMYWJlbHM7CisgICAgX2xv
bmdNb250aExhYmVscyA9IHBpY2tlclBhcmFtcy51aVRleHQubW9udGhMYWJlbHM7CisgICAgX2Rh
eXNPZldlZWtMYWJlbHMgPSBwaWNrZXJQYXJhbXMudWlUZXh0LmRheXNPZldlZWtMYWJlbHM7Cisg
ICAgX2FtUG1MYWJlbHMgPSBwaWNrZXJQYXJhbXMudWlUZXh0LmFtUG1MYWJlbHM7CisKKyAgICBp
ZiAoIV9jdXJyZW50RGF0ZSkgeworICAgICAgICAvLyBQYXJzZSBmYWlsZWQKKyAgICAgICAgY2Fu
Y2VsKCk7CisgICAgfQorCisgICAgaWYgKF9jdXJyZW50RGF0ZSA8IExJTUlUX01JTikgeworICAg
ICAgICBfY3VycmVudERhdGUgPSBuZXcgRGF0ZShMSU1JVF9NSU4uZ2V0VGltZSgpKTsKKyAgICB9
IGVsc2UgaWYgKF9jdXJyZW50RGF0ZSA+IExJTUlUX01BWCkgeworICAgICAgICBfY3VycmVudERh
dGUgPSBuZXcgRGF0ZShMSU1JVF9NQVguZ2V0VGltZSgpKTsKKyAgICB9CisKKyAgICAvLyBTZXQg
dXAgdGhlIFVJCisgICAgdmFyIHBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgICAgcG9wdXAuY2xhc3NOYW1lID0gcG9wdXAuaWQgPSAncG9wdXAtYXJlYSc7CisgICAgcG9w
dXAuZGlyID0gcGlja2VyUGFyYW1zLmRpcmVjdGlvbjsKKyAgICB2YXIgaGVhZGVyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgaGVhZGVyLmNsYXNzTmFtZSA9ICdwb3B1cC1o
ZWFkZXInOworICAgIGhlYWRlci5pbm5lclRleHQgPSBwaWNrZXJQYXJhbXMudWlUZXh0LnRpdGxl
OworICAgIHBvcHVwLmFwcGVuZENoaWxkKGhlYWRlcik7CisgICAgdmFyIGNvbnRlbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBjb250ZW50LmNsYXNzTmFtZSA9ICdwb3B1
cC1jb250ZW50JzsKKyAgICBjb250ZW50LmRpciA9ICdsdHInOyAvLyBGSVhNRTogUlRMIFVJIHNw
ZWNpZmljYXRpb25zIG5vdCBkb25lIHlldAorICAgIGNvbnRlbnQuaWQgPSAncG9wdXAtY29udGVu
dC10aW1lJzsKKyAgICBwb3B1cC5hcHBlbmRDaGlsZChjb250ZW50KTsKKworICAgIENPTFVNTlNb
X3R5cGVdLmZvckVhY2goZnVuY3Rpb24gKHR5cGUpIHsKKyAgICAgICAgY29udGVudC5hcHBlbmRD
aGlsZChjcmVhdGVDb2x1bW4odHlwZSkpOworICAgIH0pOworCisgICAgdmFyIHJvd0hpZ2hsaWdo
dENvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLAorICAgICAgICBmaWxs
ZXIxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksCisgICAgICAgIHNlbGVjdGVkUm93
SGlnaGxpZ2h0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksCisgICAgICAgIGZpbGxl
cjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICByb3dIaWdobGlnaHRDb250
YWluZXIuY2xhc3NOYW1lID0gJ3Jvdy1oaWdobGlnaHQtY29udGFpbmVyJzsKKyAgICBzZWxlY3Rl
ZFJvd0hpZ2hsaWdodC5jbGFzc05hbWUgPSAncm93LWhpZ2hsaWdodCc7CisgICAgZmlsbGVyMS5j
bGFzc05hbWUgPSBmaWxsZXIyLmNsYXNzTmFtZSA9ICdyb3ctaGlnaGxpZ2h0LWZpbGxlcic7Cisg
ICAgcm93SGlnaGxpZ2h0Q29udGFpbmVyLmFwcGVuZENoaWxkKGZpbGxlcjEpOworICAgIHJvd0hp
Z2hsaWdodENvbnRhaW5lci5hcHBlbmRDaGlsZChzZWxlY3RlZFJvd0hpZ2hsaWdodCk7CisgICAg
cm93SGlnaGxpZ2h0Q29udGFpbmVyLmFwcGVuZENoaWxkKGZpbGxlcjIpOworICAgIGNvbnRlbnQu
YXBwZW5kQ2hpbGQocm93SGlnaGxpZ2h0Q29udGFpbmVyKTsKKworICAgIHZhciBva0J1dHRvbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpLAorICAgICAgICBjYW5jZWxCdXR0b24g
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSwKKyAgICAgICAgYnV0dG9ucyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGJ1dHRvbnMuY2xhc3NOYW1lID0gJ3Bv
cHVwLWJ1dHRvbnMnOworICAgIG9rQnV0dG9uLmNsYXNzTmFtZSA9ICdwb3B1cC1idXR0b24nOwor
ICAgIG9rQnV0dG9uLmlubmVyVGV4dCA9IHBpY2tlclBhcmFtcy51aVRleHQuZG9uZUJ1dHRvbkxh
YmVsOworICAgIG9rQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb2spOworICAgIGNh
bmNlbEJ1dHRvbi5jbGFzc05hbWUgPSAncG9wdXAtYnV0dG9uJzsKKyAgICBjYW5jZWxCdXR0b24u
aW5uZXJUZXh0ID0gcGlja2VyUGFyYW1zLnVpVGV4dC5jYW5jZWxCdXR0b25MYWJlbDsKKyAgICBj
YW5jZWxCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjYW5jZWwpOworICAgIGJ1dHRv
bnMuYXBwZW5kQ2hpbGQoY2FuY2VsQnV0dG9uKTsKKyAgICBidXR0b25zLmFwcGVuZENoaWxkKG9r
QnV0dG9uKTsKKworICAgIHBvcHVwLmFwcGVuZENoaWxkKGJ1dHRvbnMpOworCisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChwb3B1cCk7CisKKyAgICBfYmFzZU9mZnNldCA9IE1hdGguZmxv
b3IoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnY29sdW1uJylbMF0uY2xpZW50SGVp
Z2h0IC8gMiAtIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3RhbGwtYml0JylbMF0u
Y2xpZW50SGVpZ2h0IC8gMik7CisgICAgcmVzZXRQb3NpdGlvbnMoKTsKK30KKword2luZG93LnBv
cHVwY29udHJvbCA9IHdpbmRvdy5wb3B1cGNvbnRyb2wgfHwge307Cit3aW5kb3cucG9wdXBjb250
cm9sLnNob3cgPSBzaG93OworfSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmluZGV4
IDdhNTE1MTQuLjhiZTU3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMyIEBACisyMDEzLTA1LTA5ICBBbGJlcnRvIEdhcmNpYSAgPGFnYXJjaWFAaWdhbGlhLmNv
bT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gVXBzdHJlYW0gdGhlIGlucHV0IHBvcHVwcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0NjA4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBj
b250YWlucyBjb250cmlidXRpb25zIGZyb20gbWFueSBtZW1iZXJzIG9mIHRoZQorICAgICAgICBC
bGFja0JlcnJ5IFdlYktpdCB0ZWFtLCBpbmNsdWRpbmc6CisKKyAgICAgICAgQ2hyaXMgSHV0dGVu
LUN6YXBza2kKKyAgICAgICAgRGF2aWQgSG9vbgorICAgICAgICBKZXNzaWNhIENhbworICAgICAg
ICBSb2IgQnVpcworICAgICAgICBUaWFuY2hlbmcgSmlhbmcKKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q29sb3JQaWNrZXJDbGllbnQ6OmdlbmVyYXRlSFRNTCk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGVQaWNrZXJDbGllbnQ6OmdlbmVyYXRlSFRNTCk6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRlUGlja2VyQ2xpZW50OjpnZW5lcmF0ZURhdGVMYWJlbHMpOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0RhdGVQaWNrZXJDbGllbnQuaDoKKyAgICAgICAgKERhdGVQ
aWNrZXJDbGllbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1NlbGVjdFBvcHVwQ2xpZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0UG9wdXBD
bGllbnQ6OmdlbmVyYXRlSFRNTCk6CisKIDIwMTMtMDUtMDggIEVsaSBGaWRsZXIgIDxlZmlkbGVy
QGJsYWNrYmVycnkuY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBGaXggdXNhZ2Ugb2YgQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9Db2xvclBpY2tlckNsaWVudC5jcHAKaW5kZXgg
YzZiZTJhOS4uOTM4OWVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YkNvcmVTdXBwb3J0L0NvbG9yUGlja2VyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ29sb3JQaWNrZXJDbGllbnQuY3BwCkBAIC0zMiwxMCAr
MzIsMTQgQEAKICNpbmNsdWRlICJXZWJQYWdlX3AuaCIKIAogI2luY2x1ZGUgPEJsYWNrQmVycnlQ
bGF0Zm9ybVN0cmluZy5oPgorI2luY2x1ZGUgPExvY2FsZUhhbmRsZXIuaD4KKyNpbmNsdWRlIDxM
b2NhbGl6ZVJlc291cmNlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK0RFRklORV9TVEFUSUNfTE9DQUwoQmxhY2tCZXJyeTo6
UGxhdGZvcm06OkxvY2FsaXplUmVzb3VyY2UsIHNfcmVzb3VyY2UsICgpKTsKKwogQ29sb3JQaWNr
ZXJDbGllbnQ6OkNvbG9yUGlja2VyQ2xpZW50KGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpT
dHJpbmcmIHZhbHVlLCBCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiB3ZWJQYWdl
LCBIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50KQogICAgIDogbV93ZWJQYWdlKHdlYlBhZ2UpCiAg
ICAgLCBtX2VsZW1lbnQoZWxlbWVudCkKQEAgLTU1LDEyICs1OSwyNyBAQCB2b2lkIENvbG9yUGlj
a2VyQ2xpZW50OjpnZW5lcmF0ZUhUTUwoY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmlu
ZyYgdmFsdWUpCiAgICAgICAgICAgICBzaXplb2YoY29sb3JDb250cm9sQmxhY2tCZXJyeUNzcykp
OwogICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCI8L3N0eWxlPjwvaGVhZD48Ym9keT5cbiIpOwog
ICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCI8c2NyaXB0PlxuIik7Ci0gICAgc291cmNlLmFwcGVu
ZExpdGVyYWwoIndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24gKCkgeyIp
OwotICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ3aW5kb3cucG9wdXBjb250cm9sLnNob3coIik7
CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2Fk
JywgZnVuY3Rpb24gc2hvd0l0KCkgeyIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ3aW5k
b3cucG9wdXBjb250cm9sLnNob3coeyIpOworICAgIC8vIEFkZCBjb2xvciB2YWx1ZQorICAgIHNv
dXJjZS5hcHBlbmRMaXRlcmFsKCJpbml0aWFsVmFsdWU6Iik7CiAgICAgaWYgKCF2YWx1ZS5lbXB0
eSgpKQotICAgICAgICBzb3VyY2UuYXBwZW5kKCJcIiIgKyBTdHJpbmcodmFsdWUpICsgIlwiKTsg
XG4gfSk7IFxuIik7CisgICAgICAgIHNvdXJjZS5hcHBlbmQoIiciICsgU3RyaW5nKHZhbHVlKSAr
ICInLCIpOwogICAgIGVsc2UKLSAgICAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIik7IFxuIH0p
OyBcbiIpOworICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgibnVsbCwiKTsKKyAgICAvLyBB
ZGQgVUkgdGV4dAorICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ1aVRleHQ6IHsiKTsKKyAgICBz
b3VyY2UuYXBwZW5kKCJ0aXRsZTonIiArIFN0cmluZzo6ZnJvbVVURjgoc19yZXNvdXJjZS5nZXRT
dHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OlBJQ0tFUl9DT0xPUl9USVRMRSkpICsgIicsIik7
CisgICAgc291cmNlLmFwcGVuZCgic2xpZGVyc0xhYmVsOiciICsgU3RyaW5nOjpmcm9tVVRGOChz
X3Jlc291cmNlLmdldFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6UElDS0VSX0NPTE9SX1NM
SURFUlNfTEFCRUwpKSArICInLCIpOworICAgIHNvdXJjZS5hcHBlbmQoInN3YXRjaGVzTGFiZWw6
JyIgKyBTdHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpQSUNLRVJfQ09MT1JfU1dBVENIRVNfTEFCRUwpKSArICInLCIpOworICAgIHNvdXJj
ZS5hcHBlbmQoImRvbmVCdXR0b25MYWJlbDonIiArIFN0cmluZzo6ZnJvbVVURjgoc19yZXNvdXJj
ZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OlBJQ0tFUl9ET05FX0JVVFRPTl9MQUJF
TCkpICsgIicsIik7CisgICAgc291cmNlLmFwcGVuZCgiY2FuY2VsQnV0dG9uTGFiZWw6JyIgKyBT
dHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpQSUNLRVJfQ0FOQ0VMX0JVVFRPTl9MQUJFTCkpICsgIicsIik7CisgICAgc291cmNlLmFwcGVu
ZExpdGVyYWwoIn0sIik7CisgICAgLy8gQWRkIGRpcmVjdGlvbmFsaXR5CisgICAgYm9vbCBpc1J0
bCA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2NhbGVIYW5kbGVyOjppbnN0YW5jZSgpLT5pc1J0
bExvY2FsZSgpOworICAgIHNvdXJjZS5hcHBlbmQoImRpcmVjdGlvbjonIiArIFN0cmluZyhpc1J0
bCA/ICJydGwiIDogImx0ciIpICsgIicsIik7CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIn0p
O1xuIik7CisgICAgc291cmNlLmFwcGVuZCgiIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCds
b2FkJywgc2hvd0l0KTsgfSk7IFxuIik7CiAgICAgc291cmNlLmFwcGVuZChjb2xvckNvbnRyb2xC
bGFja0JlcnJ5SnMsIHNpemVvZihjb2xvckNvbnRyb2xCbGFja0JlcnJ5SnMpKTsKICAgICBzb3Vy
Y2UuYXBwZW5kTGl0ZXJhbCgiPC9zY3JpcHQ+XG4iKTsKICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJh
bCgiPC9ib2R5PiA8L2h0bWw+XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRlUGlja2VyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9EYXRlUGlja2VyQ2xpZW50LmNwcAppbmRleCA0YTk3
ZmZkLi4xMDcxMTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29y
ZVN1cHBvcnQvRGF0ZVBpY2tlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYkNvcmVTdXBwb3J0L0RhdGVQaWNrZXJDbGllbnQuY3BwCkBAIC0zMywxMCArMzMsMTcg
QEAKICNpbmNsdWRlICJXZWJQYWdlX3AuaCIKIAogI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9y
bVN0cmluZy5oPgorI2luY2x1ZGUgPExvY2FsZUhhbmRsZXIuaD4KKyNpbmNsdWRlIDxMb2NhbGl6
ZVJlc291cmNlLmg+CisjaW5jbHVkZSA8dW5pY29kZS9kdGZtdHN5bS5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAordXNpbmcgbmFtZXNwYWNlIGljdTsKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitERUZJTkVfU1RBVElDX0xPQ0FMKEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpMb2NhbGl6ZVJlc291cmNlLCBzX3Jlc291cmNlLCAoKSk7CisKIERhdGVQaWNrZXJDbGllbnQ6
OkRhdGVQaWNrZXJDbGllbnQoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkJsYWNrQmVycnlJbnB1dFR5
cGUgdHlwZSwgY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZyYgdmFsdWUsIGNvbnN0
IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmIG1pbiwgY29uc3QgQmxhY2tCZXJyeTo6UGxh
dGZvcm06OlN0cmluZyYgbWF4LCBkb3VibGUgc3RlcCwgQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQ
YWdlUHJpdmF0ZSogd2ViUGFnZSwgSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKICAgICA6IG1f
dHlwZSh0eXBlKQogICAgICwgbV93ZWJQYWdlKHdlYlBhZ2UpCkBAIC01Miw2ICs1OSw3IEBAIERh
dGVQaWNrZXJDbGllbnQ6On5EYXRlUGlja2VyQ2xpZW50KCkKIHZvaWQgRGF0ZVBpY2tlckNsaWVu
dDo6Z2VuZXJhdGVIVE1MKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpCbGFja0JlcnJ5SW5wdXRUeXBl
IHR5cGUsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmIHZhbHVlLCBjb25zdCBC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6U3RyaW5nJiBtaW4sIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpTdHJpbmcmIG1heCwgZG91YmxlIHN0ZXApCiB7CiAgICAgU3RyaW5nQnVpbGRlciBzb3Vy
Y2U7CisgICAgU3RyaW5nIHRpdGxlID0gIiI7CiAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIjxz
dHlsZT5cbiIpOwogICAgIC8vIEluY2x1ZGUgQ1NTIGZpbGUuCiAgICAgc291cmNlLmFwcGVuZChw
b3B1cENvbnRyb2xCbGFja0JlcnJ5Q3NzLApAQCAtNTksNDQgKzY3LDcxIEBAIHZvaWQgRGF0ZVBp
Y2tlckNsaWVudDo6Z2VuZXJhdGVIVE1MKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpCbGFja0JlcnJ5
SW5wdXRUeXBlIHR5CiAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIjwvc3R5bGU+XG48c3R5bGU+
Iik7CiAgICAgc291cmNlLmFwcGVuZCh0aW1lQ29udHJvbEJsYWNrQmVycnlDc3MsCiAgICAgICAg
ICAgICBzaXplb2YodGltZUNvbnRyb2xCbGFja0JlcnJ5Q3NzKSk7Ci0gICAgc291cmNlLmFwcGVu
ZExpdGVyYWwoIjwvc3R5bGU+PC9oZWFkPjxib2R5PlxuIgotICAgICAgICAgICAgICAgICAgICAg
ICAgICI8c2NyaXB0PlxuIgotICAgICAgICAgICAgICAgICAgICAgICAgICJ3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uICgpIHsiKTsKKyAgICBzb3VyY2UuYXBwZW5kTGl0
ZXJhbCgiPC9zdHlsZT48L2hlYWQ+PGJvZHk+XG4iKTsKKyAgICBzb3VyY2UuYXBwZW5kTGl0ZXJh
bCgiPHNjcmlwdD5cbiIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uIHNob3dJdCgpIHsiKTsKKyAgICBzb3VyY2UuYXBw
ZW5kTGl0ZXJhbCgid2luZG93LnBvcHVwY29udHJvbC5zaG93KHsiKTsKKyAgICAvLyBBZGQgRGF0
ZVBpY2tlciB0eXBlCisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoInR5cGU6Iik7CiAgICAgc3dp
dGNoICh0eXBlKSB7CiAgICAgY2FzZSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6SW5wdXRUeXBlRGF0
ZToKLSAgICAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIndpbmRvdy5wb3B1cGNvbnRyb2wuc2hv
dyhcIkRhdGVcIiwgIik7CisgICAgICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCInRGF0ZScsICIp
OworICAgICAgICB0aXRsZSA9IFN0cmluZzo6ZnJvbVVURjgoc19yZXNvdXJjZS5nZXRTdHJpbmco
QmxhY2tCZXJyeTo6UGxhdGZvcm06OlBJQ0tFUl9EQVRFX1RJVExFKSk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgQmxhY2tCZXJyeTo6UGxhdGZvcm06OklucHV0VHlwZVRpbWU6Ci0gICAgICAg
IHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ3aW5kb3cucG9wdXBjb250cm9sLnNob3coXCJUaW1lXCIs
ICIpOworICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiJ1RpbWUnLCAiKTsKKyAgICAgICAg
dGl0bGUgPSBTdHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpQSUNLRVJfVElNRV9USVRMRSkpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJbnB1dFR5cGVEYXRlVGltZToKLSAgICAgICAgc291cmNl
LmFwcGVuZExpdGVyYWwoIndpbmRvdy5wb3B1cGNvbnRyb2wuc2hvdyhcIkRhdGVUaW1lXCIsICIp
OworICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiJ0RhdGVUaW1lJywgIik7CisgICAgICAg
IHRpdGxlID0gU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291cmNlLmdldFN0cmluZyhCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6UElDS0VSX0RBVEVfVElNRV9USVRMRSkpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJbnB1dFR5cGVEYXRlVGltZUxvY2FsOgotICAg
ICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgid2luZG93LnBvcHVwY29udHJvbC5zaG93KFwiRGF0
ZVRpbWVMb2NhbFwiLCAiKTsKKyAgICAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIidEYXRlVGlt
ZUxvY2FsJywgIik7CisgICAgICAgIHRpdGxlID0gU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291cmNl
LmdldFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6UElDS0VSX0RBVEVfVElNRV9MT0NBTF9U
SVRMRSkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJ
bnB1dFR5cGVNb250aDoKLSAgICAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIndpbmRvdy5wb3B1
cGNvbnRyb2wuc2hvdyhcIk1vbnRoXCIsICIpOworICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJh
bCgiJ01vbnRoJywgIik7CisgICAgICAgIHRpdGxlID0gU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291
cmNlLmdldFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6UElDS0VSX01PTlRIX1RJVExFKSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQmxhY2tCZXJyeTo6UGxhdGZvcm06OklucHV0VHlw
ZVdlZWs6CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIC8vIEFkZCBk
YXRldGltZSB2YWx1ZQorICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJpbml0aWFsVmFsdWU6Iik7
CiAgICAgaWYgKCF2YWx1ZS5lbXB0eSgpKQotICAgICAgICBzb3VyY2UuYXBwZW5kKCJcIiIgKyBT
dHJpbmcodmFsdWUpICsgIlwiLCAiKTsKKyAgICAgICAgc291cmNlLmFwcGVuZCgiJyIgKyBTdHJp
bmcodmFsdWUpICsgIicsICIpOwogICAgIGVsc2UKLSAgICAgICAgc291cmNlLmFwcGVuZExpdGVy
YWwoIjAsICIpOwotCisgICAgICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJudWxsLCAiKTsKKyAg
ICAvLyBBZGQgbG93ZXIgYW5kIHVwcGVyIGJvdW5kcworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFs
KCJtaW46Iik7CiAgICAgaWYgKCFtaW4uZW1wdHkoKSkKLSAgICAgICAgc291cmNlLmFwcGVuZChT
dHJpbmcobWluKSArICIsICIpOworICAgICAgICBzb3VyY2UuYXBwZW5kKCInIiArIFN0cmluZyht
aW4pICsgIicsICIpOwogICAgIGVsc2UKLSAgICAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIjAs
ICIpOworICAgICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgibnVsbCwgIik7CisgICAgc291cmNl
LmFwcGVuZExpdGVyYWwoIm1heDoiKTsKICAgICBpZiAoIW1heC5lbXB0eSgpKQotICAgICAgICBz
b3VyY2UuYXBwZW5kKFN0cmluZyhtYXgpICsgIiwgIik7CisgICAgICAgIHNvdXJjZS5hcHBlbmQo
IiciICsgU3RyaW5nKG1heCkgKyAiJywgIik7CiAgICAgZWxzZQotICAgICAgICBzb3VyY2UuYXBw
ZW5kTGl0ZXJhbCgiMCwgIik7Ci0gICAgc291cmNlLmFwcGVuZChTdHJpbmc6Om51bWJlcihzdGVw
KSk7Ci0gICAgc291cmNlLmFwcGVuZExpdGVyYWwoIik7IFxuIH0pOyBcbiIpOworICAgICAgICBz
b3VyY2UuYXBwZW5kTGl0ZXJhbCgibnVsbCwgIik7CisgICAgLy8gQWRkIHN0ZXAgc2l6ZQorICAg
IHNvdXJjZS5hcHBlbmQoInN0ZXA6IiArIFN0cmluZzo6bnVtYmVyKHN0ZXApICsgIiwgIik7Cisg
ICAgLy8gQWRkIFVJIHRleHQKKyAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgidWlUZXh0OiB7Iik7
CisgICAgc291cmNlLmFwcGVuZCgidGl0bGU6JyIgKyB0aXRsZSArICInLCIpOworICAgIHNvdXJj
ZS5hcHBlbmQoImRvbmVCdXR0b25MYWJlbDonIiArIFN0cmluZzo6ZnJvbVVURjgoc19yZXNvdXJj
ZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OlBJQ0tFUl9ET05FX0JVVFRPTl9MQUJF
TCkpICsgIicsIik7CisgICAgc291cmNlLmFwcGVuZCgiY2FuY2VsQnV0dG9uTGFiZWw6JyIgKyBT
dHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpQSUNLRVJfQ0FOQ0VMX0JVVFRPTl9MQUJFTCkpICsgIicsIik7CisgICAgc291cmNlLmFwcGVu
ZCgibW9udGhMYWJlbHM6IiArIERhdGVQaWNrZXJDbGllbnQ6OmdlbmVyYXRlRGF0ZUxhYmVscyhV
REFUX1NUQU5EQUxPTkVfTU9OVEhTKSArICIsIik7CisgICAgc291cmNlLmFwcGVuZCgic2hvcnRN
b250aExhYmVsczoiICsgRGF0ZVBpY2tlckNsaWVudDo6Z2VuZXJhdGVEYXRlTGFiZWxzKFVEQVRf
U0hPUlRfTU9OVEhTKSArICIsIik7CisgICAgc291cmNlLmFwcGVuZCgiZGF5c09mV2Vla0xhYmVs
czoiICsgRGF0ZVBpY2tlckNsaWVudDo6Z2VuZXJhdGVEYXRlTGFiZWxzKFVEQVRfU1RBTkRBTE9O
RV9XRUVLREFZUykgKyAiLCIpOworICAgIHNvdXJjZS5hcHBlbmQoImFtUG1MYWJlbHM6IiArIERh
dGVQaWNrZXJDbGllbnQ6OmdlbmVyYXRlRGF0ZUxhYmVscyhVREFUX0FNX1BNUykgKyAiLCIpOwor
ICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ9LCIpOworICAgIC8vIEFkZCBkaXJlY3Rpb25hbGl0
eQorICAgIGJvb2wgaXNSdGwgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9jYWxlSGFuZGxlcjo6
aW5zdGFuY2UoKS0+aXNSdGxMb2NhbGUoKTsKKyAgICBzb3VyY2UuYXBwZW5kKCJkaXJlY3Rpb246
JyIgKyBTdHJpbmcoaXNSdGwgPyAicnRsIiA6ICJsdHIiKSArICInLCIpOworICAgIHNvdXJjZS5h
cHBlbmRMaXRlcmFsKCJ9KTtcbiIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCIgd2luZG93
LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzaG93SXQpOyB9KTsgXG4iKTsKICAgICBzb3Vy
Y2UuYXBwZW5kKHRpbWVDb250cm9sQmxhY2tCZXJyeUpzLCBzaXplb2YodGltZUNvbnRyb2xCbGFj
a0JlcnJ5SnMpKTsKICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiPC9zY3JpcHQ+XG4iCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIjwvYm9keT4gPC9odG1sPlxuIik7CkBAIC0xNTMsNCArMTg4
LDU1IEBAIHZvaWQgRGF0ZVBpY2tlckNsaWVudDo6d3JpdGVEb2N1bWVudChEb2N1bWVudFdyaXRl
ciYgd3JpdGVyKQogewogICAgIHdyaXRlci5hZGREYXRhKG1fc291cmNlLnV0ZjgoKS5kYXRhKCks
IG1fc291cmNlLnV0ZjgoKS5sZW5ndGgoKSk7CiB9CisKKy8vIFVEQVRfZm9vIGFyZSBmb3IgbGFi
ZWxzIHRoYXQgYXJlIG1lYW50IHRvIGJlIGZvcm1hdHRlZCBhcyBwYXJ0IG9mIGEgZGF0ZS4KKy8v
IFVEQVRfU1RBTkRBTE9ORV9mb28gYXJlIGZvciBsYWJlbHMgdGhhdCBhcmUgZGlzcGxheWVkIHNl
cGFyYXRlbHkgZnJvbSBvdGhlciBkYXRlIGNvbXBvbmVudHMuCisvLyBGb3IgZXhhbXBsZSwgVURB
VF9TSE9SVF9NT05USFMgaW4gQ2F0YWxhbiBwdXRzIGEgcHJlcG9zaXRpb24gaW4gZnJvbnQgb2Yg
dGhlIG1vbnRoIGJ1dCBVREFUX1NUQU5EQUxPTkVfU0hPUlRfTU9OVEhTIGRvZXMgbm90LgorY29u
c3QgU3RyaW5nIERhdGVQaWNrZXJDbGllbnQ6OmdlbmVyYXRlRGF0ZUxhYmVscyhVRGF0ZUZvcm1h
dFN5bWJvbFR5cGUgc3ltYm9sVHlwZSkKK3sKKyAgICBVRXJyb3JDb2RlIHVlcnJTdGF0dXMgPSBV
X1pFUk9fRVJST1I7CisgICAgRGF0ZUZvcm1hdFN5bWJvbHMgZGF0ZVN5bWJvbHMgPSBEYXRlRm9y
bWF0U3ltYm9scyh1ZXJyU3RhdHVzKTsgLy8gY29uc3RydWN0b3Igd2lsbCBuZXZlciBmYWlsCisg
ICAgY29uc3QgVW5pY29kZVN0cmluZyogbGFiZWxzID0gMDsKKyAgICBpbnQzMl90IGxhYmVsQ291
bnQgPSAwOworCisgICAgc3dpdGNoIChzeW1ib2xUeXBlKSB7CisgICAgLy8gZGF0ZVN5bWJvbHMg
cmV0YWluIG93bmVyc2hpcCBvZiByZXR1cm4gdmFsdWVzIGZyb20gZ2V0Rm9vIGNhbGxzCisgICAg
Y2FzZSBVREFUX1NUQU5EQUxPTkVfTU9OVEhTOgorICAgICAgICBsYWJlbENvdW50ID0gMTI7Cisg
ICAgICAgIGxhYmVscyA9IGRhdGVTeW1ib2xzLmdldE1vbnRocyhsYWJlbENvdW50LCBEYXRlRm9y
bWF0U3ltYm9sczo6U1RBTkRBTE9ORSwgRGF0ZUZvcm1hdFN5bWJvbHM6OldJREUpOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFVEQVRfU1RBTkRBTE9ORV9TSE9SVF9NT05USFM6CisgICAgICAg
IGxhYmVsQ291bnQgPSAxMjsKKyAgICAgICAgbGFiZWxzID0gZGF0ZVN5bWJvbHMuZ2V0TW9udGhz
KGxhYmVsQ291bnQsIERhdGVGb3JtYXRTeW1ib2xzOjpTVEFOREFMT05FLCBEYXRlRm9ybWF0U3lt
Ym9sczo6QUJCUkVWSUFURUQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFVEQVRfU0hPUlRf
TU9OVEhTOgorICAgICAgICBsYWJlbENvdW50ID0gMTI7CisgICAgICAgIGxhYmVscyA9IGRhdGVT
eW1ib2xzLmdldE1vbnRocyhsYWJlbENvdW50LCBEYXRlRm9ybWF0U3ltYm9sczo6Rk9STUFULCBE
YXRlRm9ybWF0U3ltYm9sczo6QUJCUkVWSUFURUQpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IFVEQVRfU1RBTkRBTE9ORV9XRUVLREFZUzoKKyAgICAgICAgbGFiZWxDb3VudCA9IDg7CisgICAg
ICAgIC8vIGdldFdlZWtkYXlzIHJldHVybnMgYW4gYXJyYXkgd2hlcmUgdGhlIHplcm9ldGggZWxl
bWVudCBpcyBlbXB0eTsgdGhlIGZpcnN0IGxhYmVsIGlzIHBsYWNlZCBpbiBpbmRleCAxCisgICAg
ICAgIGxhYmVscyA9ICYoZGF0ZVN5bWJvbHMuZ2V0V2Vla2RheXMobGFiZWxDb3VudCwgRGF0ZUZv
cm1hdFN5bWJvbHM6OlNUQU5EQUxPTkUsIERhdGVGb3JtYXRTeW1ib2xzOjpXSURFKSlbMV07IC8v
IHNraXAgemVyb2V0aCBlbGVtZW50CisgICAgICAgIC0tbGFiZWxDb3VudDsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBVREFUX0FNX1BNUzoKKyAgICAgICAgbGFiZWxDb3VudCA9IDI7CisgICAg
ICAgIGxhYmVscyA9IGRhdGVTeW1ib2xzLmdldEFtUG1TdHJpbmdzKGxhYmVsQ291bnQpOworICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlQoMCk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKworICAgIFN0cmluZ0J1aWxkZXIgcHJpbnRlZExhYmVsczsKKyAgICBwcmlu
dGVkTGFiZWxzLmFwcGVuZExpdGVyYWwoIlsiKTsKKyAgICBmb3IgKGludDMyX3QgaSA9IDA7IGkg
PCBsYWJlbENvdW50OyArK2kpIHsKKyAgICAgICAgU3RyaW5nIGVzY2FwZWRMYWJlbCA9IFN0cmlu
ZyhsYWJlbHNbaV0uZ2V0QnVmZmVyKCksIGxhYmVsc1tpXS5sZW5ndGgoKSkucmVwbGFjZSgnXFwn
LCAiXFxcXCIpLnJlcGxhY2UoJ1wnJywgIlxcJyIpOyAvLyBUT0RPIFBSIDI0MzU0NzogcmVmYWN0
b3IgZXNjYXBpbmcgb2Ygc3RyaW5ncyBmb3IgRGF0ZVBpY2tlckNsaWVudCBhbmQgU2VsZWN0UG9w
dXBDbGllbnQKKyAgICAgICAgcHJpbnRlZExhYmVscy5hcHBlbmQoIiciICsgZXNjYXBlZExhYmVs
ICsgIiciKTsKKyAgICAgICAgaWYgKGkgPCBsYWJlbENvdW50IC0gMSkKKyAgICAgICAgICAgIHBy
aW50ZWRMYWJlbHMuYXBwZW5kTGl0ZXJhbCgiLCIpOworICAgIH0KKyAgICBwcmludGVkTGFiZWxz
LmFwcGVuZExpdGVyYWwoIl0iKTsKKyAgICByZXR1cm4gcHJpbnRlZExhYmVscy50b1N0cmluZygp
OworfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0RhdGVQaWNrZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3Jl
U3VwcG9ydC9EYXRlUGlja2VyQ2xpZW50LmgKaW5kZXggNDRjMmRjNi4uNGM1Y2Y4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0RhdGVQaWNrZXJD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRGF0
ZVBpY2tlckNsaWVudC5oCkBAIC0yMSw2ICsyMSw3IEBACiAKICNpbmNsdWRlICJQYWdlUG9wdXBD
bGllbnQuaCIKICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxhdGZvcm1JbnB1dEV2ZW50cy5oPgorI2lu
Y2x1ZGUgPHVuaWNvZGUvdWRhdC5oPgogCiBuYW1lc3BhY2UgQmxhY2tCZXJyeSB7CiBuYW1lc3Bh
Y2UgUGxhdGZvcm0gewpAQCAtNTMsNiArNTQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbG9zZVBv
cHVwKCk7CiAKIHByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IFN0cmluZyBnZW5lcmF0ZURhdGVM
YWJlbHMoVURhdGVGb3JtYXRTeW1ib2xUeXBlKTsKKwogICAgIEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpCbGFja0JlcnJ5SW5wdXRUeXBlIG1fdHlwZTsKICAgICBTdHJpbmcgbV9zb3VyY2U7CiAgICAg
QmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZSogbV93ZWJQYWdlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L1NlbGVjdFBvcHVwQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9TZWxlY3RQ
b3B1cENsaWVudC5jcHAKaW5kZXggMjY2YjY0Ny4uMDVjMDQwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L1NlbGVjdFBvcHVwQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvU2VsZWN0UG9wdXBD
bGllbnQuY3BwCkBAIC0zNCwxMiArMzQsMTYgQEAKICNpbmNsdWRlICJXZWJQYWdlX3AuaCIKIAog
I2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9ybVN0cmluZy5oPgorI2luY2x1ZGUgPExvY2FsZUhh
bmRsZXIuaD4KKyNpbmNsdWRlIDxMb2NhbGl6ZVJlc291cmNlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nQnVpbGRlci5oPgogCiAjZGVmaW5lIENFTExfSEVJR0hUIDMwCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorREVGSU5FX1NUQVRJQ19MT0NBTChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6
TG9jYWxpemVSZXNvdXJjZSwgc19yZXNvdXJjZSwgKCkpOworCiBTZWxlY3RQb3B1cENsaWVudDo6
U2VsZWN0UG9wdXBDbGllbnQoYm9vbCBtdWx0aXBsZSwgaW50IHNpemUsIGNvbnN0IFNjb3BlQXJy
YXk8QmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZz4mIGxhYmVscywgYm9vbCogZW5hYmxlZHMs
CiAgICAgY29uc3QgaW50KiBpdGVtVHlwZSwgYm9vbCogc2VsZWN0ZWRzLCBCbGFja0JlcnJ5OjpX
ZWJLaXQ6OldlYlBhZ2VQcml2YXRlKiB3ZWJQYWdlLCBIVE1MU2VsZWN0RWxlbWVudCogZWxlbWVu
dCkKICAgICA6IG1fbXVsdGlwbGUobXVsdGlwbGUpCkBAIC03NSwxNSArNzksMTggQEAgdm9pZCBT
ZWxlY3RQb3B1cENsaWVudDo6Z2VuZXJhdGVIVE1MKGJvb2wsIGludCBzaXplLCBjb25zdCBTY29w
ZUFycmF5PEJsYWNrQmVycnkKICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiPC9zdHlsZT5cbjxz
dHlsZT4iKTsKICAgICBzb3VyY2UuYXBwZW5kKHNlbGVjdENvbnRyb2xCbGFja0JlcnJ5Q3NzLAog
ICAgICAgICAgICAgc2l6ZW9mKHNlbGVjdENvbnRyb2xCbGFja0JlcnJ5Q3NzKSk7Ci0gICAgc291
cmNlLmFwcGVuZExpdGVyYWwoIjwvc3R5bGU+PC9oZWFkPjxib2R5PlxuIgotICAgICAgICAgICAg
ICAgICAgICAgICAgICI8c2NyaXB0PlxuIgotICAgICAgICAgICAgICAgICAgICAgICAgICJ3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uICgpIHsiKTsKKyAgICBzb3VyY2Uu
YXBwZW5kTGl0ZXJhbCgiPC9zdHlsZT48L2hlYWQ+PGJvZHk+XG4iKTsKKyAgICBzb3VyY2UuYXBw
ZW5kTGl0ZXJhbCgiPHNjcmlwdD5cbiIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uIHNob3dJdCgpIHsiKTsKKyAgICBz
b3VyY2UuYXBwZW5kTGl0ZXJhbCgid2luZG93LnNlbGVjdC5zaG93KHsiKTsKKyAgICAvLyBJbmRp
Y2F0ZSBpZiBpdCBpcyBhIG11bHRpc2VsZWN0LgorICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJp
c011bHRpU2VsZWN0OiIpOwogICAgIGlmIChtX211bHRpcGxlKQotICAgICAgICBzb3VyY2UuYXBw
ZW5kTGl0ZXJhbCgid2luZG93LnNlbGVjdC5zaG93KHRydWUsICIpOworICAgICAgICBzb3VyY2Uu
YXBwZW5kTGl0ZXJhbCgidHJ1ZSwiKTsKICAgICBlbHNlCi0gICAgICAgIHNvdXJjZS5hcHBlbmRM
aXRlcmFsKCJ3aW5kb3cuc2VsZWN0LnNob3coZmFsc2UsICIpOworICAgICAgICBzb3VyY2UuYXBw
ZW5kTGl0ZXJhbCgiZmFsc2UsIik7CiAgICAgLy8gQWRkIGxhYmVscy4KLSAgICBzb3VyY2UuYXBw
ZW5kKCdbJyk7CisgICAgc291cmNlLmFwcGVuZExpdGVyYWwoImxhYmVsczogWyIpOwogICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CiAgICAgICAgIHNvdXJjZS5hcHBlbmQoIici
ICsgU3RyaW5nKGxhYmVsc1tpXSkucmVwbGFjZVdpdGhMaXRlcmFsKCdcXCcsICJcXFxcIikucmVw
bGFjZVdpdGhMaXRlcmFsKCdcJycsICJcXCciKSArICInIik7CiAgICAgICAgIC8vIERvbid0IGFw
cGVuZCAnLCcgdG8gbGFzdCBlbGVtZW50LgpAQCAtOTIsNyArOTksNyBAQCB2b2lkIFNlbGVjdFBv
cHVwQ2xpZW50OjpnZW5lcmF0ZUhUTUwoYm9vbCwgaW50IHNpemUsIGNvbnN0IFNjb3BlQXJyYXk8
QmxhY2tCZXJyeQogICAgIH0KICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiXSwgIik7CiAgICAg
Ly8gQWRkIGVuYWJsZXMuCi0gICAgc291cmNlLmFwcGVuZCgnWycpOworICAgIHNvdXJjZS5hcHBl
bmQoImVuYWJsZWRzOiBbIik7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsK
ICAgICAgICAgaWYgKGVuYWJsZWRzW2ldKQogICAgICAgICAgICAgc291cmNlLmFwcGVuZExpdGVy
YWwoInRydWUiKTsKQEAgLTEwNCw3ICsxMTEsNyBAQCB2b2lkIFNlbGVjdFBvcHVwQ2xpZW50Ojpn
ZW5lcmF0ZUhUTUwoYm9vbCwgaW50IHNpemUsIGNvbnN0IFNjb3BlQXJyYXk8QmxhY2tCZXJyeQog
ICAgIH0KICAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgiXSwgIik7CiAgICAgLy8gQWRkIGl0ZW1U
eXBlLgotICAgIHNvdXJjZS5hcHBlbmQoJ1snKTsKKyAgICBzb3VyY2UuYXBwZW5kTGl0ZXJhbCgi
aXRlbVR5cGVzOiBbIik7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKICAg
ICAgICAgc291cmNlLmFwcGVuZE51bWJlcihpdGVtVHlwZVtpXSk7CiAgICAgICAgIC8vIERvbid0
IGFwcGVuZCAnLCcgdG8gbGFzdCBlbGVtZW50LgpAQCAtMTEzLDcgKzEyMCw3IEBAIHZvaWQgU2Vs
ZWN0UG9wdXBDbGllbnQ6OmdlbmVyYXRlSFRNTChib29sLCBpbnQgc2l6ZSwgY29uc3QgU2NvcGVB
cnJheTxCbGFja0JlcnJ5CiAgICAgfQogICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJdLCAiKTsK
ICAgICAvLyBBZGQgc2VsZWN0ZWRzCi0gICAgc291cmNlLmFwcGVuZCgnWycpOworICAgIHNvdXJj
ZS5hcHBlbmRMaXRlcmFsKCJzZWxlY3RlZHM6IFsiKTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8
IHNpemU7IGkrKykgewogICAgICAgICBpZiAoc2VsZWN0ZWRzW2ldKQogICAgICAgICAgICAgc291
cmNlLmFwcGVuZExpdGVyYWwoInRydWUiKTsKQEAgLTEyMywxMiArMTMwLDE4IEBAIHZvaWQgU2Vs
ZWN0UG9wdXBDbGllbnQ6OmdlbmVyYXRlSFRNTChib29sLCBpbnQgc2l6ZSwgY29uc3QgU2NvcGVB
cnJheTxCbGFja0JlcnJ5CiAgICAgICAgIGlmIChpICE9IHNpemUgLSAxKQogICAgICAgICAgICAg
c291cmNlLmFwcGVuZExpdGVyYWwoIiwgIik7CiAgICAgfQotICAgIHNvdXJjZS5hcHBlbmRMaXRl
cmFsKCJdICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiLCAnQ2FuY2VsJyIpOwotICAgIC8v
IElmIG11bHRpLXNlbGVjdCwgYWRkIE9LIGJ1dHRvbiBmb3IgY29uZmlybS4KLSAgICBpZiAobV9t
dWx0aXBsZSkKLSAgICAgICAgc291cmNlLmFwcGVuZExpdGVyYWwoIiwgJ09LJyIpOwotICAgIHNv
dXJjZS5hcHBlbmRMaXRlcmFsKCIpOyBcbiB9KTsgXG4iKTsKKyAgICBzb3VyY2UuYXBwZW5kTGl0
ZXJhbCgiXSwgIik7CisgICAgLy8gQWRkIFVJIHRleHQKKyAgICBzb3VyY2UuYXBwZW5kTGl0ZXJh
bCgidWlUZXh0OiB7Iik7CisgICAgc291cmNlLmFwcGVuZCgidGl0bGU6JyIgKyBTdHJpbmc6OmZy
b21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpQSUNLRVJf
U0VMRUNUX1RJVExFKSkgKyAiJywiKTsKKyAgICBzb3VyY2UuYXBwZW5kKCJkb25lQnV0dG9uTGFi
ZWw6JyIgKyBTdHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpQSUNLRVJfRE9ORV9CVVRUT05fTEFCRUwpKSArICInLCIpOworICAgIHNvdXJj
ZS5hcHBlbmQoImNhbmNlbEJ1dHRvbkxhYmVsOiciICsgU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291
cmNlLmdldFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6UElDS0VSX0NBTkNFTF9CVVRUT05f
TEFCRUwpKSArICInLCIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ9LCIpOworICAgIC8v
IEFkZCBkaXJlY3Rpb25hbGl0eQorICAgIGJvb2wgaXNSdGwgPSBCbGFja0JlcnJ5OjpQbGF0Zm9y
bTo6TG9jYWxlSGFuZGxlcjo6aW5zdGFuY2UoKS0+aXNSdGxMb2NhbGUoKTsKKyAgICBzb3VyY2Uu
YXBwZW5kKCJkaXJlY3Rpb246JyIgKyBTdHJpbmcoaXNSdGwgPyAicnRsIiA6ICJsdHIiKSArICIn
LCIpOworICAgIHNvdXJjZS5hcHBlbmRMaXRlcmFsKCJ9KTtcbiIpOworICAgIHNvdXJjZS5hcHBl
bmRMaXRlcmFsKCIgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzaG93SXQpOyB9
KTsgXG4iKTsKICAgICBzb3VyY2UuYXBwZW5kKHNlbGVjdENvbnRyb2xCbGFja0JlcnJ5SnMsIHNp
emVvZihzZWxlY3RDb250cm9sQmxhY2tCZXJyeUpzKSk7CiAgICAgc291cmNlLmFwcGVuZExpdGVy
YWwoIjwvc2NyaXB0PlxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICI8L2JvZHk+IDwvaHRt
bD5cbiIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>