<?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>95585</bug_id>
          
          <creation_ts>2012-08-31 09:31:58 -0700</creation_ts>
          <short_desc>Web Inspector: Implement SCSS source highlighter</short_desc>
          <delta_ts>2012-09-07 06:24:24 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>709718</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-08-31 09:31:58 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710627</commentid>
    <comment_count>1</comment_count>
      <attachid>161922</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-03 07:13:40 -0700</bug_when>
    <thetext>Created attachment 161922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710651</commentid>
    <comment_count>2</comment_count>
      <attachid>161922</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-09-03 07:45:48 -0700</bug_when>
    <thetext>Comment on attachment 161922
Patch

Could you reuse the CSS and join them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710666</commentid>
    <comment_count>3</comment_count>
      <attachid>161933</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-03 08:18:16 -0700</bug_when>
    <thetext>Created attachment 161933
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>711846</commentid>
    <comment_count>4</comment_count>
      <attachid>162191</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-05 01:59:25 -0700</bug_when>
    <thetext>Created attachment 162191
Rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713024</commentid>
    <comment_count>5</comment_count>
      <attachid>162449</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-06 01:35:48 -0700</bug_when>
    <thetext>Created attachment 162449
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714297</commentid>
    <comment_count>6</comment_count>
      <attachid>162449</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-09-07 01:52:28 -0700</bug_when>
    <thetext>Comment on attachment 162449
Patch

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

&gt; Source/WebCore/inspector/front-end/ContentProviders.js:274
&gt; +    mimeType: function()

This one is redundant, please remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714445</commentid>
    <comment_count>7</comment_count>
      <attachid>162449</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-09-07 06:09:00 -0700</bug_when>
    <thetext>Comment on attachment 162449
Patch

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

This makes me sick. lgtm.

&gt; Source/WebCore/inspector/front-end/SourceCSSTokenizer.re2js:80
&gt; +WebInspector.SourceCSSTokenizer.AtRelatedKeywords = [

SCSSAt..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714448</commentid>
    <comment_count>8</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-07 06:24:24 -0700</bug_when>
    <thetext>Committed r127864: &lt;http://trac.webkit.org/changeset/127864&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161922</attachid>
            <date>2012-09-03 07:13:40 -0700</date>
            <delta_ts>2012-09-03 08:18:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95585-20120903181323.patch</filename>
            <type>text/plain</type>
            <size>109163</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE0MGQ1ZDNmYWM4Y2Rk
M2Y1MjA3ODMyZjYwOTk4YWQyOWIzNzZmNS4uMDkxMmQwMDkwNTkwMjU0NWNlYzA1NjA3ZTE0NGRm
MWIyNmI0M2FjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDEyLTA5LTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogSW1wbGVtZW50IFNDU1Mgc291cmNlIGhpZ2hsaWdodGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIGFkZHMgYW4gU0NTUyBz
b3VyY2UgY29kZSBoaWdobGlnaHRlciBhbmQgd2lyZXMgaXQgdG8gdGhlIGhpZ2hsaWdodGluZyBm
cmFtZXdvcmsKKyAgICAgICAgdGhyb3VnaCBhIGN1c3RvbSAidGV4dC9zY3NzIiBtaW1lLXR5cGUg
YXNzaWduZWQgdG8gU0FTU1NvdXJjZS4KKyAgICAgICAgQSBzbWFsbCByZWZhY3RvcmluZyBoYXMg
YmVlbiBwZXJmb3JtZWQgdG8gZW5hYmxlIGNvZGUgc2hhcmluZyBhbW9uZyB0aGUgQ1NTIGFuZCBT
Q1NTIGhpZ2hsaWdodGVycy4KKworICAgICAgICBUZXN0OiBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1zY3NzLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0NTU0NvbXBsZXRpb25zLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25z
LmNzc1Byb3BlcnRpZXNNZXRhaW5mb0tleVNldCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9Db250ZW50UHJvdmlkZXJzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0YXRpY0Nv
bnRlbnRQcm92aWRlcik6IEVuYWJsZWQgY2xpZW50cyB0byBzdXBwbHkgdGhlIGNvbnRlbnQgbWlt
ZS10eXBlLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlci5wcm90
b3R5cGUubWltZVR5cGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92
aWRlci5wcm90b3R5cGUucmVxdWVzdENvbnRlbnQpOiBVc2UgY2xpZW50LXN1cHBsaWVkIGNvbnRl
bnQgbWltZS10eXBlLCBpZiBhbnkuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNT
U291cmNlTWFwcGluZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TQVNTU291cmNlKTogQ29u
c3RydWN0IFN0YXRpY0NvbnRlbnRQcm92aWRlciB3aXRoIHRoZSAidGV4dC9zY3NzIiBtaW1lLXR5
cGUuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlLm5leHRUb2tlbik6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIucmUyanM6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VTQ1NTVG9rZW5pemVyLmpzOiBBZGRlZC4K
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VTQ1NTVG9rZW5pemVyKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVNDU1NUb2tlbml6ZXIucmUyanM6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJl
MmpzLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlVG9rZW5pemVyLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5SZWdpc3RyeSk6IEFkZCAidGV4
dC9zY3NzIiBtaW1lLXR5cGUgdG9rZW5pemVyLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvU3R5bGVTb3VyY2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVTb3VyY2UpOiBQ
YXNzIHByb3ZpZGVkIHNvdXJjZU1hcHBpbmcgdG8gdGhlICJzdXBlciIgVUlTb3VyY2VDb2RlIGNv
bnN0cnVjdG9yLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzVUlTb3VyY2VD
b2RlUHJvdmlkZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVzVUlTb3VyY2VDb2Rl
UHJvdmlkZXIucHJvdG90eXBlLl9yZXNvdXJjZUFkZGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3RvclN5bnRh
eEhpZ2hsaWdodC5jc3M6CisgICAgICAgICgud2Via2l0LWNzcy1pbXBvcnRhbnQsIC53ZWJraXQt
c2Nzcy1iYW5nLWtleXdvcmQpOiBBZGQgaGlnaGxpZ2h0aW5nIGZvciB0aGUgU0NTUyAhLWtleXdv
cmRzLgorCisyMDEyLTA5LTAzICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5v
cmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogVW5oaWRlIGhpZGRlbiBjaGFyYWN0ZXJzCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mzg4OAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggMzA2MTk1NGYxMTgxODU3OGMyNTE4YjBmODk2NzVmODE2NjJiZWRm
Mi4uMjY1YzVmY2M0Y2E5NGYwZTYzZjZiZDZmMzljMGVmMmJmMzIzM2ZkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtNjM5Niw2ICs2Mzk2LDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL1NvdXJjZUhUTUxUb2tlbml6ZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvU291cmNlSmF2YVNjcmlwdFRva2VuaXplci5qcycsCiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9Tb3VyY2VNYXBwaW5nLmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NvdXJjZVNDU1NUb2tlbml6ZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlVG9rZW5pemVyLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NwZWN0cnVtLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5k
L1NwbGl0Vmlldy5qcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCmluZGV4IDhhZmEzYWU0OTgwMmM1ZjZmNDJkYjNkMjg0Nzc5NDdhZjI1MDgxOTMuLjA0
NjUwNGU2ZmIwNGI5MjRkYjk1NDBkOGFjMmE2NGY2MThiMmIyZWIgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC03NjU5OCw2ICs3NjU5OCwxMCBA
QAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aW5zcGVjdG9yXGZyb250LWVuZFxTb3VyY2VTQ1NTVG9rZW5pemVyLmpzIgorCQkJCQk+CisJCQkJ
PC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250
LWVuZFxTb3VyY2VUb2tlbml6ZXIuanMiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qcwppbmRl
eCA4NGQ3Y2FlMGJhYmQ0MzYwZTc1MjgxMWQ2ODdmZTBmNjJjNTFjM2U2Li45ZTM3OTg1MzU3OWEy
MDYzNzViOGI4NTZjYThkZjhhNzVlNTk5NTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTQ29tcGxldGlvbnMuanMKQEAgLTgzLDYgKzgzLDEzIEBA
IFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5yZXF1ZXN0Q1NTTmFtZUNvbXBsZXRpb25zID0g
ZnVuY3Rpb24oKQogICAgIENTU0FnZW50LmdldFN1cHBvcnRlZENTU1Byb3BlcnRpZXMocHJvcGVy
dHlOYW1lc0NhbGxiYWNrKTsKIH0KIAorV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc1By
b3BlcnRpZXNNZXRhaW5mb0tleVNldCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBpZiAoIVdlYkluc3Bl
Y3Rvci5DU1NDb21wbGV0aW9ucy5fY3NzUHJvcGVydGllc01ldGFpbmZvS2V5U2V0KQorICAgICAg
ICBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuX2Nzc1Byb3BlcnRpZXNNZXRhaW5mb0tleVNl
dCA9IFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5jc3NQcm9wZXJ0aWVzTWV0YWluZm8ua2V5
U2V0KCk7CisgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5fY3NzUHJvcGVy
dGllc01ldGFpbmZvS2V5U2V0OworfQorCiBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMucHJv
dG90eXBlID0gewogICAgIHN0YXJ0c1dpdGg6IGZ1bmN0aW9uKHByZWZpeCkKICAgICB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRl
cnMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRl
cnMuanMKaW5kZXggZTFjMzk5NmYzMWUxY2RhM2RmNTZhYzhjOGEyYzBiNmU1ZWNiNTk4NS4uZTFk
MzkyMzlmNDFhY2IxMDA2ODdiN2RlZDJmYTMwODBmNTAwNjgzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZW50UHJvdmlkZXJzLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qcwpAQCAt
MjQxLDEyICsyNDEsMTQgQEAgV2ViSW5zcGVjdG9yLkNvbXBpbGVyU291cmNlTWFwcGluZ0NvbnRl
bnRQcm92aWRlci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGUKICAqIEBjb25zdHJ1Y3Rv
cgogICogQGltcGxlbWVudHMge1dlYkluc3BlY3Rvci5Db250ZW50UHJvdmlkZXJ9CiAgKiBAcGFy
YW0ge1dlYkluc3BlY3Rvci5SZXNvdXJjZVR5cGV9IGNvbnRlbnRUeXBlIAotICogQHBhcmFtIHtz
dHJpbmd9IGNvbnRlbnQgCisgKiBAcGFyYW0ge3N0cmluZ30gY29udGVudAorICogQHBhcmFtIHtz
dHJpbmc9fSBtaW1lVHlwZQogICovCi1XZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVy
ID0gZnVuY3Rpb24oY29udGVudFR5cGUsIGNvbnRlbnQpCitXZWJJbnNwZWN0b3IuU3RhdGljQ29u
dGVudFByb3ZpZGVyID0gZnVuY3Rpb24oY29udGVudFR5cGUsIGNvbnRlbnQsIG1pbWVUeXBlKQog
ewogICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50OwogICAgIHRoaXMuX2NvbnRlbnRUeXBlID0g
Y29udGVudFR5cGU7CisgICAgdGhpcy5fbWltZVR5cGUgPSBtaW1lVHlwZTsKIH0KIAogV2ViSW5z
cGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlci5wcm90b3R5cGUgPSB7CkBAIC0yNjcsMTEgKzI2
OSwxOSBAQCBXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZSA9IHsK
ICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHJldHVybiB7c3RyaW5nfQorICAgICAqLworICAg
IG1pbWVUeXBlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fbWltZVR5
cGUgfHwgdGhpcy5fY29udGVudFR5cGUuY2Fub25pY2FsTWltZVR5cGUoKTsKKyAgICB9LAorCisg
ICAgLyoqCiAgICAgICogQHBhcmFtIHtmdW5jdGlvbig/c3RyaW5nLGJvb2xlYW4sc3RyaW5nKX0g
Y2FsbGJhY2sKICAgICAgKi8KICAgICByZXF1ZXN0Q29udGVudDogZnVuY3Rpb24oY2FsbGJhY2sp
CiAgICAgewotICAgICAgICBjYWxsYmFjayh0aGlzLl9jb250ZW50LCBmYWxzZSwgdGhpcy5fY29u
dGVudFR5cGUuY2Fub25pY2FsTWltZVR5cGUoKSk7CisgICAgICAgIGNhbGxiYWNrKHRoaXMuX2Nv
bnRlbnQsIGZhbHNlLCB0aGlzLm1pbWVUeXBlKCkpOwogICAgIH0sCiAKICAgICAvKioKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBp
bmcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBw
aW5nLmpzCmluZGV4IGI4YTQ5NzE4NDkzYjU0NjRjMDM0NTAzNzM5ZmQ1MWNmYmQ1ZTEzN2UuLjUx
ZWE1ZjBhOWU1ZmIzMzFjM2QzZDE5OTc3NzgwMmMxNThhMzYzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcwpA
QCAtMTY2LDcgKzE2Niw3IEBAIFdlYkluc3BlY3Rvci5TQVNTU291cmNlTWFwcGluZy5wcm90b3R5
cGUgPSB7CiBXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZSA9IGZ1bmN0aW9uKHNhc3NVUkwpCiB7CiAg
ICAgdmFyIGNvbnRlbnQgPSBJbnNwZWN0b3JGcm9udGVuZEhvc3QubG9hZFJlc291cmNlU3luY2hy
b25vdXNseShzYXNzVVJMKTsKLSAgICB2YXIgY29udGVudFByb3ZpZGVyID0gbmV3IFdlYkluc3Bl
Y3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIoV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU3R5
bGVzaGVldCwgY29udGVudCk7CisgICAgdmFyIGNvbnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNw
ZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVyKFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0
eWxlc2hlZXQsIGNvbnRlbnQsICJ0ZXh0L3Njc3MiKTsKICAgICBXZWJJbnNwZWN0b3IuVUlTb3Vy
Y2VDb2RlLmNhbGwodGhpcywgc2Fzc1VSTCwgbnVsbCwgY29udGVudFByb3ZpZGVyKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NU
b2tlbml6ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNT
U1Rva2VuaXplci5qcwppbmRleCA4ZDViOGRlODI0MGQ1MzdiZTg3YTRiOTZmMWY4ZjYwZTMxYzA5
Y2NjLi5mNjY5MDA1OGZmMTRmYWQyYWI4YzRiY2FkOGJmODFmMjliOTZmZmMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2Vu
aXplci5qcwpAQCAtMSw0ICsxLDQgQEAKLS8qIEdlbmVyYXRlZCBieSByZTJjIDAuMTMuNSBvbiBN
b24gSnVsICA5IDE5OjMxOjMwIDIwMTIgKi8KKy8qIEdlbmVyYXRlZCBieSByZTJjIDAuMTMuNSBv
biBUdWUgQXVnIDI4IDE4OjQyOjI3IDIwMTIgKi8KIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC01NSw3ICs1NSwzMiBAQCBX
ZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX3By
b3BlcnR5S2V5d29yZHMgPSBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuY3NzUHJvcGVydGll
c01ldGFpbmZvLmtleVNldCgpOwogICAgIHRoaXMuX2NvbG9yS2V5d29yZHMgPSBXZWJJbnNwZWN0
b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmNvbG9ycygpOwogCi0gICAgdGhpcy5fdmFsdWVLZXl3
b3JkcyA9IFsKKyAgICB0aGlzLl9sZXhDb25kaXRpb25zID0geworICAgICAgICBJTklUSUFMOiAw
LAorICAgICAgICBDT01NRU5UOiAxLAorICAgICAgICBEU1RSSU5HOiAyLAorICAgICAgICBTU1RS
SU5HOiAzCisgICAgfTsKKworICAgIHRoaXMuX3BhcnNlQ29uZGl0aW9ucyA9IHsKKyAgICAgICAg
SU5JVElBTDogMCwKKyAgICAgICAgUFJPUEVSVFk6IDEsCisgICAgICAgIFBST1BFUlRZX1ZBTFVF
OiAyLAorICAgICAgICBBVF9SVUxFOiAzLAorICAgICAgICBBVF9NRURJQV9SVUxFOiA0CisgICAg
fTsKKworICAgIHRoaXMuY2FzZV9JTklUSUFMID0gMTAwMDsKKyAgICB0aGlzLmNhc2VfQ09NTUVO
VCA9IDEwMDI7CisgICAgdGhpcy5jYXNlX0RTVFJJTkcgPSAxMDAzOworICAgIHRoaXMuY2FzZV9T
U1RSSU5HID0gMTAwNDsKKworICAgIHRoaXMuY29uZGl0aW9uID0gdGhpcy5jcmVhdGVJbml0aWFs
Q29uZGl0aW9uKCk7Cit9CisKK1dlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuTWVkaWFU
eXBlcyA9IFsiYWxsIiwgImF1cmFsIiwgImJyYWlsbGUiLCAiZW1ib3NzZWQiLCAiaGFuZGhlbGQi
LCAiaW1wb3J0IiwgInByaW50IiwgInByb2plY3Rpb24iLCAic2NyZWVuIiwgInR0eSIsICJ0diJd
LmtleVNldCgpOworCitXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLlZhbHVlS2V5d29y
ZHMgPSBbCiAgICAgICAgICJhYm92ZSIsICJhYnNvbHV0ZSIsICJhY3RpdmVib3JkZXIiLCAiYWN0
aXZlY2FwdGlvbiIsICJhZmFyIiwgImFmdGVyLXdoaXRlLXNwYWNlIiwgImFoZWFkIiwgImFsaWFz
IiwgImFsbCIsICJhbGwtc2Nyb2xsIiwKICAgICAgICAgImFsdGVybmF0ZSIsICJhbHdheXMiLCAi
YW1oYXJpYyIsICJhbWhhcmljLWFiZWdlZGUiLCAiYW50aWFsaWFzZWQiLCAiYXBwd29ya3NwYWNl
IiwgImFyYWJpYy1pbmRpYyIsICJhcm1lbmlhbiIsICJhc3Rlcmlza3MiLAogICAgICAgICAiYXV0
byIsICJhdm9pZCIsICJiYWNrZ3JvdW5kIiwgImJhY2t3YXJkcyIsICJiYXNlbGluZSIsICJiZWxv
dyIsICJiaWRpLW92ZXJyaWRlIiwgImJpbmFyeSIsICJiZW5nYWxpIiwgImJsaW5rIiwKQEAgLTEw
NSwzMSArMTMwLDYgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplciA9IGZ1bmN0aW9u
KCkKICAgICAgICAgIi13ZWJraXQtcmlnaHQiLCAiLXdlYmtpdC1zbWFsbC1jb250cm9sIiwgIi13
ZWJraXQtdGV4dCIsICItd2Via2l0LXh4eC1sYXJnZSIsICItd2Via2l0LXpvb20taW4iLCAiLXdl
YmtpdC16b29tLW91dCIsCiAgICAgXS5rZXlTZXQoKTsKIAotICAgIHRoaXMuX21lZGlhVHlwZXMg
PSBbImFsbCIsICJhdXJhbCIsICJicmFpbGxlIiwgImVtYm9zc2VkIiwgImhhbmRoZWxkIiwgImlt
cG9ydCIsICJwcmludCIsICJwcm9qZWN0aW9uIiwgInNjcmVlbiIsICJ0dHkiLCAidHYiXS5rZXlT
ZXQoKTsKLQotICAgIHRoaXMuX2xleENvbmRpdGlvbnMgPSB7Ci0gICAgICAgIElOSVRJQUw6IDAs
Ci0gICAgICAgIENPTU1FTlQ6IDEsCi0gICAgICAgIERTVFJJTkc6IDIsCi0gICAgICAgIFNTVFJJ
Tkc6IDMKLSAgICB9OwotCi0gICAgdGhpcy5fcGFyc2VDb25kaXRpb25zID0gewotICAgICAgICBJ
TklUSUFMOiAwLAotICAgICAgICBQUk9QRVJUWTogMSwKLSAgICAgICAgUFJPUEVSVFlfVkFMVUU6
IDIsCi0gICAgICAgIEFUX1JVTEU6IDMsCi0gICAgICAgIEFUX01FRElBX1JVTEU6IDQKLSAgICB9
OwotCi0gICAgdGhpcy5jYXNlX0lOSVRJQUwgPSAxMDAwOwotICAgIHRoaXMuY2FzZV9DT01NRU5U
ID0gMTAwMjsKLSAgICB0aGlzLmNhc2VfRFNUUklORyA9IDEwMDM7Ci0gICAgdGhpcy5jYXNlX1NT
VFJJTkcgPSAxMDA0OwotCi0gICAgdGhpcy5jb25kaXRpb24gPSB0aGlzLmNyZWF0ZUluaXRpYWxD
b25kaXRpb24oKTsKLX0KLQogV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5
cGUgPSB7CiAgICAgY3JlYXRlSW5pdGlhbENvbmRpdGlvbjogZnVuY3Rpb24oKQogICAgIHsKQEAg
LTM5MywyMiArMzkzLDIyIEBAIGNhc2UgMzI6CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgIHZhciB0b2tlbiA9IHRoaXMuX2xpbmUuc3Vic3RyaW5nKGN1cnNvck9uRW50ZXIsIGN1
cnNvcik7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25k
aXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAodG9rZW4gPT09ICJAbWVkaWEiKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUiOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNl
Q29uZGl0aW9ucy5BVF9NRURJQV9SVUxFOwotICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IGlmICh0b2tlbi5zdGFydHNXaXRoKCJAIikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh0b2tlbi5jaGFyQXQoMCkgPT09ICJAIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRoaXMudG9rZW5UeXBlID0gImNzcy1hdC1ydWxlIjsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlv
bnMuQVRfUlVMRTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4gPT09ICJA
bWVkaWEiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24u
cGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0
aW9ucy5BVF9SVUxFOwogICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9yIjsKLSAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIGlmICgodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9u
ID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRSB8fCB0aGlzLl9jb25kaXRp
b24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFKSAmJiB0
b2tlbiBpbiB0aGlzLl9tZWRpYVR5cGVzKQorICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KCh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9u
cy5BVF9NRURJQV9SVUxFIHx8IHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhp
cy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEUpICYmIHRva2VuIGluIFdlYkluc3BlY3Rvci5Tb3Vy
Y2VDU1NUb2tlbml6ZXIuTWVkaWFUeXBlcykKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
dG9rZW5UeXBlID0gImNzcy1rZXl3b3JkIjsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAo
dGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMu
UFJPUEVSVFkgJiYgdG9rZW4gaW4gdGhpcy5fcHJvcGVydHlLZXl3b3JkcykKKyAgICAgICAgICAg
ICAgICAgICAgZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlz
Ll9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgJiYgdGhpcy5fcHJvcGVydHlLZXl3b3Jkcy5oYXNP
d25Qcm9wZXJ0eSh0b2tlbikpCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlw
ZSA9ICJjc3MtcHJvcGVydHkiOwogICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9p
c1Byb3BlcnR5VmFsdWUoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRva2VuIGlu
IHRoaXMuX3ZhbHVlS2V5d29yZHMpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoV2ViSW5z
cGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5WYWx1ZUtleXdvcmRzLmhhc093blByb3BlcnR5KHRv
a2VuKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mt
a2V5d29yZCI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0b2tlbiBpbiB0aGlz
Ll9jb2xvcktleXdvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlz
Ll9jb2xvcktleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSkgewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiB0aGlzIGRvZXMgbm90IGNvbnZlcnQgdG9rZW5zIHRvTG93
ZXJDYXNlKCkgZm9yIHRoZSBzYWtlIG9mIHNwZWVkLgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1jb2xvciI7CiAgICAgICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgaWYgKHRva2VuID09PSAiIWltcG9ydGFudCIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5yZTJqcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpz
CmluZGV4IDllN2IzZmYyMjQ3YjYyZjhkNGRkZmM4YTJhZWVkMmJhMTEwMTNhZmIuLjJkZjdiYThm
OTllZWUzMjQzODEzYzY3MGE3MzUyZDU0NmJiM2JkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpz
CkBAIC01MSwxMCArNTEsMzUgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplciA9IGZ1
bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLmNhbGwodGhpcyk7
CiAKLSAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRp
b25zLmNzc1Byb3BlcnRpZXNNZXRhaW5mby5rZXlTZXQoKTsKKyAgICB0aGlzLl9wcm9wZXJ0eUtl
eXdvcmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc1Byb3BlcnRpZXNNZXRhaW5m
b0tleVNldCgpOwogICAgIHRoaXMuX2NvbG9yS2V5d29yZHMgPSBXZWJJbnNwZWN0b3IuQ1NTS2V5
d29yZENvbXBsZXRpb25zLmNvbG9ycygpOwogCi0gICAgdGhpcy5fdmFsdWVLZXl3b3JkcyA9IFsK
KyAgICB0aGlzLl9sZXhDb25kaXRpb25zID0geworICAgICAgICBJTklUSUFMOiAwLAorICAgICAg
ICBDT01NRU5UOiAxLAorICAgICAgICBEU1RSSU5HOiAyLAorICAgICAgICBTU1RSSU5HOiAzCisg
ICAgfTsKKworICAgIHRoaXMuX3BhcnNlQ29uZGl0aW9ucyA9IHsKKyAgICAgICAgSU5JVElBTDog
MCwKKyAgICAgICAgUFJPUEVSVFk6IDEsCisgICAgICAgIFBST1BFUlRZX1ZBTFVFOiAyLAorICAg
ICAgICBBVF9SVUxFOiAzLAorICAgICAgICBBVF9NRURJQV9SVUxFOiA0CisgICAgfTsKKworICAg
IHRoaXMuY2FzZV9JTklUSUFMID0gMTAwMDsKKyAgICB0aGlzLmNhc2VfQ09NTUVOVCA9IDEwMDI7
CisgICAgdGhpcy5jYXNlX0RTVFJJTkcgPSAxMDAzOworICAgIHRoaXMuY2FzZV9TU1RSSU5HID0g
MTAwNDsKKworICAgIHRoaXMuY29uZGl0aW9uID0gdGhpcy5jcmVhdGVJbml0aWFsQ29uZGl0aW9u
KCk7Cit9CisKK1dlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuTWVkaWFUeXBlcyA9IFsi
YWxsIiwgImF1cmFsIiwgImJyYWlsbGUiLCAiZW1ib3NzZWQiLCAiaGFuZGhlbGQiLCAiaW1wb3J0
IiwgInByaW50IiwgInByb2plY3Rpb24iLCAic2NyZWVuIiwgInR0eSIsICJ0diJdLmtleVNldCgp
OworCitXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLlZhbHVlS2V5d29yZHMgPSBbCiAg
ICAgICAgICJhYm92ZSIsICJhYnNvbHV0ZSIsICJhY3RpdmVib3JkZXIiLCAiYWN0aXZlY2FwdGlv
biIsICJhZmFyIiwgImFmdGVyLXdoaXRlLXNwYWNlIiwgImFoZWFkIiwgImFsaWFzIiwgImFsbCIs
ICJhbGwtc2Nyb2xsIiwKICAgICAgICAgImFsdGVybmF0ZSIsICJhbHdheXMiLCAiYW1oYXJpYyIs
ICJhbWhhcmljLWFiZWdlZGUiLCAiYW50aWFsaWFzZWQiLCAiYXBwd29ya3NwYWNlIiwgImFyYWJp
Yy1pbmRpYyIsICJhcm1lbmlhbiIsICJhc3Rlcmlza3MiLAogICAgICAgICAiYXV0byIsICJhdm9p
ZCIsICJiYWNrZ3JvdW5kIiwgImJhY2t3YXJkcyIsICJiYXNlbGluZSIsICJiZWxvdyIsICJiaWRp
LW92ZXJyaWRlIiwgImJpbmFyeSIsICJiZW5nYWxpIiwgImJsaW5rIiwKQEAgLTEwNCwzMSArMTI5
LDYgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKICAgICAg
ICAgIi13ZWJraXQtcmlnaHQiLCAiLXdlYmtpdC1zbWFsbC1jb250cm9sIiwgIi13ZWJraXQtdGV4
dCIsICItd2Via2l0LXh4eC1sYXJnZSIsICItd2Via2l0LXpvb20taW4iLCAiLXdlYmtpdC16b29t
LW91dCIsCiAgICAgXS5rZXlTZXQoKTsKIAotICAgIHRoaXMuX21lZGlhVHlwZXMgPSBbImFsbCIs
ICJhdXJhbCIsICJicmFpbGxlIiwgImVtYm9zc2VkIiwgImhhbmRoZWxkIiwgImltcG9ydCIsICJw
cmludCIsICJwcm9qZWN0aW9uIiwgInNjcmVlbiIsICJ0dHkiLCAidHYiXS5rZXlTZXQoKTsKLQot
ICAgIHRoaXMuX2xleENvbmRpdGlvbnMgPSB7Ci0gICAgICAgIElOSVRJQUw6IDAsCi0gICAgICAg
IENPTU1FTlQ6IDEsCi0gICAgICAgIERTVFJJTkc6IDIsCi0gICAgICAgIFNTVFJJTkc6IDMKLSAg
ICB9OwotCi0gICAgdGhpcy5fcGFyc2VDb25kaXRpb25zID0gewotICAgICAgICBJTklUSUFMOiAw
LAotICAgICAgICBQUk9QRVJUWTogMSwKLSAgICAgICAgUFJPUEVSVFlfVkFMVUU6IDIsCi0gICAg
ICAgIEFUX1JVTEU6IDMsCi0gICAgICAgIEFUX01FRElBX1JVTEU6IDQKLSAgICB9OwotCi0gICAg
dGhpcy5jYXNlX0lOSVRJQUwgPSAxMDAwOwotICAgIHRoaXMuY2FzZV9DT01NRU5UID0gMTAwMjsK
LSAgICB0aGlzLmNhc2VfRFNUUklORyA9IDEwMDM7Ci0gICAgdGhpcy5jYXNlX1NTVFJJTkcgPSAx
MDA0OwotCi0gICAgdGhpcy5jb25kaXRpb24gPSB0aGlzLmNyZWF0ZUluaXRpYWxDb25kaXRpb24o
KTsKLX0KLQogV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUgPSB7CiAg
ICAgY3JlYXRlSW5pdGlhbENvbmRpdGlvbjogZnVuY3Rpb24oKQogICAgIHsKQEAgLTI2NywyMiAr
MjY3LDIzIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgdmFyIHRva2VuID0gdGhpcy5f
bGluZS5zdWJzdHJpbmcoY3Vyc29yT25FbnRlciwgY3Vyc29yKTsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25k
aXRpb25zLklOSVRJQUwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbiA9PT0g
IkBtZWRpYSIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9
ICJjc3MtYXQtcnVsZSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0
aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElBX1JVTEU7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRva2VuLnN0YXJ0c1dpdGgoIkAi
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRva2VuLmNoYXJBdCgwKSA9PT0gIkAi
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0
LXJ1bGUiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJz
ZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh0b2tlbiA9PT0gIkBtZWRpYSIpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3Bh
cnNlQ29uZGl0aW9ucy5BVF9NRURJQV9SVUxFOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBh
cnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEU7CiAgICAgICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRv
a2VuVHlwZSA9ICJjc3Mtc2VsZWN0b3IiOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYg
KCh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9u
cy5BVF9NRURJQV9SVUxFIHx8IHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhp
cy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEUpICYmIHRva2VuIGluIHRoaXMuX21lZGlhVHlwZXMp
CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNv
bmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElBX1JVTEUgfHwgdGhpcy5f
Y29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfUlVM
RSkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuU291cmNl
Q1NTVG9rZW5pemVyLk1lZGlhVHlwZXMuaGFzT3duUHJvcGVydHkodG9rZW4pKQogICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWtleXdvcmQiOwotICAgICAgICAg
ICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRo
aXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSAmJiB0b2tlbiBpbiB0aGlzLl9wcm9wZXJ0eUtl
eXdvcmRzKQorICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFy
c2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSAmJiB0aGlzLl9w
cm9wZXJ0eUtleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1wcm9wZXJ0eSI7CiAgICAgICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKHRoaXMuX2lzUHJvcGVydHlWYWx1ZSgpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAodG9rZW4gaW4gdGhpcy5fdmFsdWVLZXl3b3JkcykKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLlZhbHVlS2V5d29y
ZHMuaGFzT3duUHJvcGVydHkodG9rZW4pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo
aXMudG9rZW5UeXBlID0gImNzcy1rZXl3b3JkIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVs
c2UgaWYgKHRva2VuIGluIHRoaXMuX2NvbG9yS2V5d29yZHMpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGVsc2UgaWYgKHRoaXMuX2NvbG9yS2V5d29yZHMuaGFzT3duUHJvcGVydHkodG9rZW4p
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHRoaXMgZG9lcyBub3Qg
Y29udmVydCB0b2tlbnMgdG9Mb3dlckNhc2UoKSBmb3IgdGhlIHNha2Ugb2Ygc3BlZWQuCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWNvbG9yIjsKICAg
ICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW4gPT09ICIhaW1wb3J0YW50IikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlU0NT
U1Rva2VuaXplci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
U0NTU1Rva2VuaXplci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDA4OTk2ZTgxYWIyNTI3YTNjZmYyYWRlZTY4
ZGI4NWE2MTgzN2ZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VTQ1NTVG9rZW5pemVyLmpzCkBAIC0wLDAgKzEsMTUyNSBAQAorLyog
R2VuZXJhdGVkIGJ5IHJlMmMgMC4xMy41IG9uIE1vbiBTZXAgIDMgMTc6NTk6NDcgMjAxMiAqLwor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8v
IEdlbmVyYXRlIGpzIGZpbGUgYXMgZm9sbG93czoKKworLyoKK3JlMmMgLWlzYyBTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVNDU1NUb2tlbml6ZXIucmUyanMgXAorICB8
IHNlZCAnc3xeeXlcKFteOl0qXCkqXDp8Y2FzZSBcMTp8JyBcCisgIHwgc2VkICdzfFsqXWN1cnNv
clsrXVsrXXx0aGlzLl9jaGFyQXQoY3Vyc29yKyspfCcgXAorICB8IHNlZCAnc3xbWypdWytdWytd
Y3Vyc29yfHRoaXMuX2NoYXJBdCgrK2N1cnNvcil8JyBcCisgIHwgc2VkICdzfFsqXWN1cnNvcnx0
aGlzLl9jaGFyQXQoY3Vyc29yKXwnIFwKKyAgfCBzZWQgJ3N8eXljaCA9IFwqXChbXjtdKlwpfHl5
Y2ggPSB0aGlzLl9jaGFyQXRcMXwnIFwKKyAgfCBzZWQgJ3N8eyBnb3RvQ2FzZSA9IFwoW147IGNv
bnRpbnVlOyB9O10qXCl8eyBnb3RvQ2FzZSA9IFwxOyBjb250aW51ZTsgfXwnIFwKKyAgfCBzZWQg
J3N8eXljaCA8PSBcKDB4WzAtOWEtZkEtRl0qXCl8eXljaCBcPFw9IFN0cmluZy5mcm9tQ2hhckNv
ZGUoXDEpfCcgXAorICB8IHNlZCAnc3x1bnNpZ25lZFwgaW50fHZhcnwnIFwKKyAgfCBzZWQgJ3N8
dmFyXCB5eWNofGNhc2UgMTogY2FzZSAxOiB2YXIgeXljaHwnID4gU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VTQ1NTVG9rZW5pemVyLmpzCisqLworCisvKioKKyAqIEBj
b25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXJ9Cisg
Ki8KK1dlYkluc3BlY3Rvci5Tb3VyY2VTQ1NTVG9rZW5pemVyID0gZnVuY3Rpb24oKQoreworICAg
IFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIuY2FsbCh0aGlzKTsKKworICAgIHRoaXMuX3By
b3BlcnR5S2V5d29yZHMgPSBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuY3NzUHJvcGVydGll
c01ldGFpbmZvS2V5U2V0KCk7CisgICAgdGhpcy5fY29sb3JLZXl3b3JkcyA9IFdlYkluc3BlY3Rv
ci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuY29sb3JzKCk7CisKKyAgICB0aGlzLl9sZXhDb25kaXRp
b25zID0geworICAgICAgICBJTklUSUFMOiAwLAorICAgICAgICBDT01NRU5UOiAxLAorICAgICAg
ICBEU1RSSU5HOiAyLAorICAgICAgICBTU1RSSU5HOiAzCisgICAgfTsKKworICAgIHRoaXMuX3Bh
cnNlQ29uZGl0aW9ucyA9IHsKKyAgICAgICAgSU5JVElBTDogMCwKKyAgICAgICAgUFJPUEVSVFk6
IDEsCisgICAgICAgIFBST1BFUlRZX1ZBTFVFOiAyLAorICAgICAgICBBVF9SVUxFOiAzLAorICAg
ICAgICBBVF9NRURJQV9SVUxFOiA0CisgICAgfTsKKworICAgIHRoaXMuY2FzZV9JTklUSUFMID0g
MTAwMDsKKyAgICB0aGlzLmNhc2VfQ09NTUVOVCA9IDEwMDI7CisgICAgdGhpcy5jYXNlX0RTVFJJ
TkcgPSAxMDAzOworICAgIHRoaXMuY2FzZV9TU1RSSU5HID0gMTAwNDsKKworICAgIHRoaXMuY29u
ZGl0aW9uID0gdGhpcy5jcmVhdGVJbml0aWFsQ29uZGl0aW9uKCk7Cit9CisKK1dlYkluc3BlY3Rv
ci5Tb3VyY2VTQ1NTVG9rZW5pemVyLlZhbHVlS2V5d29yZHMgPSBbCisgICAgImFicyIsICJhZGp1
c3QtY29sb3IiLCAiYWRqdXN0LWh1ZSIsICJhbHBoYSIsICJhcHBlbmQiLCAiY2VpbCIsICJjaGFu
Z2UtY29sb3IiLCAiY29tcGFyYWJsZSIsICJjb21wbGVtZW50IiwgImRhcmtlbiIsICJkZXNhdHVy
YXRlIiwKKyAgICAiZmFkZS1pbiIsICJmYWRlLW91dCIsICJmbG9vciIsICJncmF5c2NhbGUiLCAi
aHVlIiwgImllLWhleC1zdHIiLCAiaW52ZXJ0IiwgImpvaW4iLCAibGVuZ3RoIiwgImxpZ2h0ZW4i
LAorICAgICJsaWdodG5lc3MiLCAibWF4IiwgIm1pbiIsICJtaXgiLCAibnRoIiwgIm9wYWNpZnki
LCAib3BhY2l0eSIsICJwZXJjZW50YWdlIiwgInF1b3RlIiwgInJvdW5kIiwgInNhdHVyYXRlIiwK
KyAgICAic2F0dXJhdGlvbiIsICJzY2FsZS1jb2xvciIsICJ0cmFuc3BhcmVudGl6ZSIsICJ0eXBl
LW9mIiwgInVuaXQiLCAidW5pdGxlc3MiLCAidW5xdW90ZSIsICJ6aXAiCitdLmtleVNldCgpOwor
CitXZWJJbnNwZWN0b3IuU291cmNlU0NTU1Rva2VuaXplci5BdFJlbGF0ZWRLZXl3b3JkcyA9IFsK
KyAgICJmcm9tIiwgImlmIiwgImluIiwgInRocm91Z2giCitdLmtleVNldCgpOworCitXZWJJbnNw
ZWN0b3IuU291cmNlU0NTU1Rva2VuaXplci5wcm90b3R5cGUgPSB7CisgICAgY3JlYXRlSW5pdGlh
bENvbmRpdGlvbjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHsgbGV4Q29uZGl0
aW9uOiB0aGlzLl9sZXhDb25kaXRpb25zLklOSVRJQUwsIHBhcnNlQ29uZGl0aW9uOiB0aGlzLl9w
YXJzZUNvbmRpdGlvbnMuSU5JVElBTCB9OworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge2Jvb2xlYW49fSBzdHJpbmdFbmRzCisgICAgICovCisgICAgX3N0cmluZ1Rva2VuOiBmdW5j
dGlvbihjdXJzb3IsIHN0cmluZ0VuZHMpCisgICAgeworICAgICAgICBpZiAodGhpcy5faXNQcm9w
ZXJ0eVZhbHVlKCkpCisgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mtc3RyaW5nIjsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOworICAgICAg
ICByZXR1cm4gY3Vyc29yOworICAgIH0sCisKKyAgICBfaXNQcm9wZXJ0eVZhbHVlOiBmdW5jdGlv
bigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9u
ID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFlfVkFMVUUgfHwgdGhpcy5fY29uZGl0
aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfUlVMRTsKKyAg
ICB9LAorCisgICAgX2dldENvbmROYW1lOiBmdW5jdGlvbihjb25kKQorICAgIHsKKyAgICAgICAg
Zm9yICh2YXIgbmFtZSBpbiB0aGlzLl9wYXJzZUNvbmRpdGlvbnMpIHsKKyAgICAgICAgICAgIGlm
ICh0aGlzLl9wYXJzZUNvbmRpdGlvbnNbbmFtZV0gPT09IGNvbmQpCisgICAgICAgICAgICAgICAg
cmV0dXJuIG5hbWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNvbmQ7CisgICAgfSwKKwor
ICAgIG5leHRUb2tlbjogZnVuY3Rpb24oY3Vyc29yKQorICAgIHsKKyAgICAgICAgdmFyIGN1cnNv
ck9uRW50ZXIgPSBjdXJzb3I7CisgICAgICAgIHZhciBnb3RvQ2FzZSA9IDE7CisgICAgICAgIHZh
ciBZWU1BUktFUjsKKyAgICAgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgICAgIHN3aXRjaCAoZ290
b0Nhc2UpCisgICAgICAgICAgICAvLyBGb2xsb3dpbmcgY29tbWVudCBpcyByZXBsYWNlZCB3aXRo
IGdlbmVyYXRlZCBzdGF0ZSBtYWNoaW5lLgorICAgICAgICAgICAgCisgICAgICAgIHsKKyAgICAg
ICAgICAgIGNhc2UgMTogdmFyIHl5Y2g7CisgICAgICAgICAgICB2YXIgeXlhY2NlcHQgPSAwOwor
ICAgICAgICAgICAgaWYgKHRoaXMuZ2V0TGV4Q29uZGl0aW9uKCkgPCAyKSB7CisgICAgICAgICAg
ICAgICAgaWYgKHRoaXMuZ2V0TGV4Q29uZGl0aW9uKCkgPCAxKSB7CisgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSB0aGlzLmNhc2VfSU5JVElBTDsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IHRoaXMu
Y2FzZV9DT01NRU5UOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICh0aGlzLmdldExleENvbmRpdGlvbigpIDwg
MykgeworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gdGhpcy5jYXNlX0RTVFJJTkc7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSB0aGlzLmNhc2VfU1NUUklORzsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQorLyogKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKiogKi8KK2Nhc2UgdGhpcy5jYXNlX0NPTU1FTlQ6CisKKyAgICAgICAgICAgIHl5Y2gg
PSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcZicpIHsK
KyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gNDsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDM7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHInKSB7IGdv
dG9DYXNlID0gNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJyon
KSB7IGdvdG9DYXNlID0gNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgfQorY2FzZSAyOgorICAgICAgICAgICAg
eyB0aGlzLnRva2VuVHlwZSA9ICJjc3MtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KK2Nhc2Ug
MzoKKyAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9j
aGFyQXQoWVlNQVJLRVIgPSArK2N1cnNvcik7CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI7
IGNvbnRpbnVlOyB9OworY2FzZSA0OgorICAgICAgICAgICAgKytjdXJzb3I7CisgICAgICAgICAg
ICB7IHRoaXMudG9rZW5UeXBlID0gbnVsbDsgcmV0dXJuIGN1cnNvcjsgfQorY2FzZSA2OgorICAg
ICAgICAgICAgeXlhY2NlcHQgPSAxOworICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChZ
WU1BUktFUiA9ICsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICcqJykgeyBnb3Rv
Q2FzZSA9IDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJy8nKSB7IGdv
dG9DYXNlID0gMTE7IGNvbnRpbnVlOyB9OworY2FzZSA3OgorICAgICAgICAgICAgKytjdXJzb3I7
CisgICAgICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25zLklO
SVRJQUwpOworICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9ICJjc3MtY29tbWVudCI7IHJl
dHVybiBjdXJzb3I7IH0KK2Nhc2UgOToKKyAgICAgICAgICAgICsrY3Vyc29yOworICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
JyonKSB7IGdvdG9DYXNlID0gOTsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9
PSAnLycpIHsgZ290b0Nhc2UgPSA3OyBjb250aW51ZTsgfTsKK2Nhc2UgMTE6CisgICAgICAgICAg
ICB5eWFjY2VwdCA9IDA7CisgICAgICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOworICAgICAg
ICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOworY2FzZSAxMjoKKyAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdcZicpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7
IGdvdG9DYXNlID0gMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDExOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ1xyJykgeyBnb3RvQ2FzZSA9IDI7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgIGlmICh5eWNoID09ICcqJykgeyBnb3RvQ2FzZSA9IDk7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTsgY29udGludWU7IH07CisgICAgICAgICAgICB9
CisvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworY2FzZSB0aGlzLmNh
c2VfRFNUUklORzoKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKKyAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9
PSAnXG4nKSB7IGdvdG9DYXNlID0gMTc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxNjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICchJykgeyBnb3RvQ2FzZSA9IDE2OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDE5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9D
YXNlID0gMjE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
MTY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KK2Nhc2Ug
MTU6CisgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9zdHJpbmdUb2tlbihjdXJzb3IpOyB9Citj
YXNlIDE2OgorICAgICAgICAgICAgeXlhY2NlcHQgPSAwOworICAgICAgICAgICAgeXljaCA9IHRo
aXMuX2NoYXJBdChZWU1BUktFUiA9ICsrY3Vyc29yKTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSAyMzsgY29udGludWU7IH07CitjYXNlIDE3OgorICAgICAgICAgICAgKytjdXJzb3I7CitjYXNl
IDE4OgorICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9IG51bGw7IHJldHVybiBjdXJzb3I7
IH0KK2Nhc2UgMTk6CisgICAgICAgICAgICArK2N1cnNvcjsKK2Nhc2UgMjA6CisgICAgICAgICAg
ICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25zLklOSVRJQUwpOworICAg
ICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29yLCB0cnVlKTsgfQorY2Fz
ZSAyMToKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wn
JykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnIicpIHsgZ290b0Nhc2UgPSAy
MjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBn
b3RvQ2FzZSA9IDE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSAxODsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCAhPSAnYicpIHsgZ290b0Nhc2UgPSAxODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdyJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnbScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdnJykgeyBnb3Rv
Q2FzZSA9IDE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICduJykgeyBnb3RvQ2FzZSA9IDIyOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdxJykgeyBn
b3RvQ2FzZSA9IDE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd0Jykg
eworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3MnKSB7IGdvdG9DYXNlID0g
MTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ3YnKSB7IGdvdG9DYXNlID0gMTg7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQorY2FzZSAyMjoKKyAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKKyAgICAgICAgICAgIFlZ
TUFSS0VSID0gKytjdXJzb3I7CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNv
cik7CitjYXNlIDIzOgorICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xyJykgeworICAgICAgICAg
ICAgICAgIGlmICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSAxNTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykgeyBnb3RvQ2FzZSA9IDIyOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTU7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7IGdvdG9DYXNlID0gMjI7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMjY7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAyMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorICAgICAgICAgICAgKytjdXJzb3I7CisgICAgICAgICAgICB5eWNo
ID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnZScpIHsK
KyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID09ICciJykgeyBnb3RvQ2FzZSA9IDIyOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ1wnJykgeyBnb3RvQ2FzZSA9IDIyOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnXFwnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXFwnKSB7
IGdvdG9DYXNlID0gMjI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2InKSB7IGdvdG9DYXNlID0g
MjI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncicp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ20nKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnZicpIHsgZ290b0Nhc2UgPSAyMjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnbicpIHsgZ290b0Nhc2UgPSAyMjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA+PSAncicpIHsgZ290b0Nhc2UgPSAyMjsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoID49ICd0JykgeyBnb3RvQ2FzZSA9IDIyOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID09ICd2JykgeyBnb3RvQ2FzZSA9IDIyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGN1cnNv
ciA9IFlZTUFSS0VSOworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDE1OyBjb250aW51ZTsgfTsK
K2Nhc2UgMjY6CisgICAgICAgICAgICArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAyMDsgY29udGludWU7
IH07CisvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworY2FzZSB0aGlz
LmNhc2VfSU5JVElBTDoKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsK
KyAgICAgICAgICAgIGlmICh5eWNoIDw9ICc6JykgeworICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICcmJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDI5OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICchJykgeyBnb3Rv
Q2FzZSA9IDMxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAzMzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIycpIHsgZ290b0Nhc2UgPSAzNDsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJCcpIHsgZ290
b0Nhc2UgPSAzNTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA+PSAnJicpIHsgZ290b0Nhc2UgPSAzMTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnLScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycp
IHsgZ290b0Nhc2UgPSAzNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA+PSAnLScpIHsgZ290b0Nhc2UgPSAzNzsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
LicpIHsgZ290b0Nhc2UgPSAzODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnLycpIHsgZ290b0Nhc2UgPSAzOTsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSA0MDsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDI7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXScpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnOycpIHsgZ290b0Nhc2UgPSA0NDsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnPScpIHsgZ290b0Nhc2UgPSAzMTsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAyOTsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCAhPSAnXFwnKSB7IGdvdG9DYXNlID0gMzE7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA9PSAnXycpIHsgZ290b0Nhc2UgPSAzMTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnYScpIHsgZ290b0Nhc2UgPSAzMTsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAneycpIHsgZ290b0Nhc2UgPSA0NjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnfScpIHsgZ290b0Nhc2UgPSA0
ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9CitjYXNlIDI5OgorICAgICAgICAgICAgKytjdXJzb3I7CitjYXNlIDMw
OgorICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9IG51bGw7IHJldHVybiBjdXJzb3I7IH0K
K2Nhc2UgMzE6CisgICAgICAgICAgICArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7
IH07CitjYXNlIDMyOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB2YXIgdG9r
ZW4gPSB0aGlzLl9saW5lLnN1YnN0cmluZyhjdXJzb3JPbkVudGVyLCBjdXJzb3IpOworICAgICAg
ICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9IG51bGw7CisgICAgICAgICAgICAgICAgICAg
IGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0
aW9ucy5JTklUSUFMIHx8IHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5f
cGFyc2VDb25kaXRpb25zLlBST1BFUlRZKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
dG9rZW4uY2hhckF0KDApID09PSAiQCIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
aGlzLnRva2VuVHlwZSA9ICJjc3MtYXQtcnVsZSI7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdG9rZW4gPT09ICJAbWVkaWEiID8g
dGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElBX1JVTEUgOiB0aGlzLl9wYXJzZUNvbmRpdGlv
bnMuQVRfUlVMRTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24u
YXRLZXl3b3JkID0gdG9rZW47CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRo
aXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklO
SVRJQUwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3Nz
LXNlbGVjdG9yIjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX3Byb3Bl
cnR5S2V5d29yZHMuaGFzT3duUHJvcGVydHkodG9rZW4pKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1wcm9wZXJ0eSI7CisgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9w
YXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRSB8fCB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25k
aXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLlNvdXJjZVNDU1NUb2tlbml6ZXIuQXRSZWxhdGVk
S2V5d29yZHMuaGFzT3duUHJvcGVydHkodG9rZW4pKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1hdC1ydWxlIjsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuTWVkaWFUeXBlcy5o
YXNPd25Qcm9wZXJ0eSh0b2tlbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50
b2tlblR5cGUgPSAiY3NzLWtleXdvcmQiOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgIGlmICh0aGlzLnRva2VuVHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBjdXJzb3I7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzUHJvcGVy
dHlWYWx1ZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmlyc3RDaGFyID0gdG9r
ZW4uY2hhckF0KDApOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0Q2hhciA9PT0g
IiQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gInNjc3Mt
dmFyaWFibGUiOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmlyc3RDaGFyID09
PSAiISIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAic2Nz
cy1iYW5nLWtleXdvcmQiOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5f
Y29uZGl0aW9uLmF0S2V5d29yZCA9PT0gIkBleHRlbmQiKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1zZWxlY3RvciI7CisgICAgICAgICAgICAgICAg
ICAgICAgICBlbHNlIGlmIChXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLlZhbHVlS2V5
d29yZHMuaGFzT3duUHJvcGVydHkodG9rZW4pIHx8IFdlYkluc3BlY3Rvci5Tb3VyY2VTQ1NTVG9r
ZW5pemVyLlZhbHVlS2V5d29yZHMuaGFzT3duUHJvcGVydHkodG9rZW4pKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1rZXl3b3JkIjsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX2NvbG9yS2V5d29yZHMuaGFzT3duUHJvcGVy
dHkodG9rZW4pKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHRoaXMg
ZG9lcyBub3QgY29udmVydCB0b2tlbnMgdG9Mb3dlckNhc2UoKSBmb3IgdGhlIHNha2Ugb2Ygc3Bl
ZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWNv
bG9yIjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gIT09IHRoaXMuX3BhcnNlQ29u
ZGl0aW9ucy5QUk9QRVJUWV9WQUxVRSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9r
ZW5UeXBlID0gImNzcy1zZWxlY3RvciI7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJz
b3I7CisgICAgICAgICAgICAgICAgfQorY2FzZSAzMzoKKyAgICAgICAgICAgIHl5YWNjZXB0ID0g
MDsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJLRVIgPSArK2N1cnNvcik7
CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnIScpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykgeworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDMyOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzI7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xyJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDEz
MjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMw
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDExNjsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJScpIHsgZ290b0Nh
c2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDEzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnLScpIHsgZ290b0Nhc2UgPSAxMzA7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEzMjsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7IGdvdG9DYXNlID0gMTMyOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzA7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdbJykgeyBnb3RvQ2FzZSA9IDEz
MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTM0
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ14nKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDEzMDsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KK2Nhc2UgMzQ6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vy
c29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICdAJykgeworICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICcvJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMjc7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMDsgY29udGludWU7IH07CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdaJykgeyBnb3RvQ2FzZSA9IDEy
NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9D
YXNlID0gMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6Jykg
eyBnb3RvQ2FzZSA9IDEyNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIH0KK2Nhc2UgMzU6CisgICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9
ICc8JykgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSAxMjQ7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJScpIHsgZ290b0Nh
c2UgPSAzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAx
MjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJywnKSB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicpIHsg
Z290b0Nhc2UgPSAzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICc/JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7IGdv
dG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSAzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9DYXNlID0gMzA7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyNDsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMDsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CitjYXNlIDM2OgorICAgICAgICAgICAgeXlhY2NlcHQgPSAwOworICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9ICsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5
eWNoIDw9ICcuJykgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeworICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXHInKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJyUnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID09ICctJykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnPScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5
JykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnPCcpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnPycpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjA7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAnXicpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcp
IHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorY2FzZSAzNzoK
KyAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoWVlNQVJLRVIgPSArK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnLicpIHsg
Z290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycp
IHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAn
OScpIHsgZ290b0Nhc2UgPSA1MjsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gNTE7IGNvbnRpbnVlOyB9OworY2FzZSAzODoKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9j
aGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy8nKSB7IGdvdG9DYXNl
ID0gMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9D
YXNlID0gNzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMwOyBjb250
aW51ZTsgfTsKK2Nhc2UgMzk6CisgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CisgICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KFlZTUFSS0VSID0gKytjdXJzb3IpOworICAgICAgICAgICAg
aWYgKHl5Y2ggPT0gJyonKSB7IGdvdG9DYXNlID0gMTA2OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CitjYXNlIDQwOgorICAgICAgICAgICAg
eXlhY2NlcHQgPSAxOworICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9
ICsrY3Vyc29yKTsKKyAgICAgICAgICAgIHN3aXRjaCAoeXljaCkgeworICAgICAgICAgICAgY2Fz
ZSAnISc6CisgICAgICAgICAgICBjYXNlICciJzoKKyAgICAgICAgICAgIGNhc2UgJyYnOgorICAg
ICAgICAgICAgY2FzZSAnXCcnOgorICAgICAgICAgICAgY2FzZSAnLSc6CisgICAgICAgICAgICBj
YXNlICcvJzoKKyAgICAgICAgICAgIGNhc2UgJz0nOgorICAgICAgICAgICAgY2FzZSAnQCc6Cisg
ICAgICAgICAgICBjYXNlICdBJzoKKyAgICAgICAgICAgIGNhc2UgJ0InOgorICAgICAgICAgICAg
Y2FzZSAnQyc6CisgICAgICAgICAgICBjYXNlICdEJzoKKyAgICAgICAgICAgIGNhc2UgJ0UnOgor
ICAgICAgICAgICAgY2FzZSAnRic6CisgICAgICAgICAgICBjYXNlICdHJzoKKyAgICAgICAgICAg
IGNhc2UgJ0knOgorICAgICAgICAgICAgY2FzZSAnSic6CisgICAgICAgICAgICBjYXNlICdLJzoK
KyAgICAgICAgICAgIGNhc2UgJ0wnOgorICAgICAgICAgICAgY2FzZSAnTSc6CisgICAgICAgICAg
ICBjYXNlICdOJzoKKyAgICAgICAgICAgIGNhc2UgJ08nOgorICAgICAgICAgICAgY2FzZSAnUCc6
CisgICAgICAgICAgICBjYXNlICdRJzoKKyAgICAgICAgICAgIGNhc2UgJ1InOgorICAgICAgICAg
ICAgY2FzZSAnUyc6CisgICAgICAgICAgICBjYXNlICdUJzoKKyAgICAgICAgICAgIGNhc2UgJ1Un
OgorICAgICAgICAgICAgY2FzZSAnVic6CisgICAgICAgICAgICBjYXNlICdXJzoKKyAgICAgICAg
ICAgIGNhc2UgJ1gnOgorICAgICAgICAgICAgY2FzZSAnWSc6CisgICAgICAgICAgICBjYXNlICda
JzoKKyAgICAgICAgICAgIGNhc2UgJ1snOgorICAgICAgICAgICAgY2FzZSAnXSc6CisgICAgICAg
ICAgICBjYXNlICdhJzoKKyAgICAgICAgICAgIGNhc2UgJ2InOgorICAgICAgICAgICAgY2FzZSAn
Zic6CisgICAgICAgICAgICBjYXNlICdoJzoKKyAgICAgICAgICAgIGNhc2UgJ2onOgorICAgICAg
ICAgICAgY2FzZSAnbCc6CisgICAgICAgICAgICBjYXNlICduJzoKKyAgICAgICAgICAgIGNhc2Ug
J28nOgorICAgICAgICAgICAgY2FzZSAncSc6CisgICAgICAgICAgICBjYXNlICd1JzoKKyAgICAg
ICAgICAgIGNhc2UgJ3YnOgorICAgICAgICAgICAgY2FzZSAndyc6CisgICAgICAgICAgICBjYXNl
ICd4JzoKKyAgICAgICAgICAgIGNhc2UgJ3knOgorICAgICAgICAgICAgY2FzZSAneic6ICAgIHsg
Z290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICclJzogICAgeyBn
b3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJy4nOiAgICB7IGdv
dG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnMCc6CisgICAgICAg
ICAgICBjYXNlICcxJzoKKyAgICAgICAgICAgIGNhc2UgJzInOgorICAgICAgICAgICAgY2FzZSAn
Myc6CisgICAgICAgICAgICBjYXNlICc0JzoKKyAgICAgICAgICAgIGNhc2UgJzUnOgorICAgICAg
ICAgICAgY2FzZSAnNic6CisgICAgICAgICAgICBjYXNlICc3JzoKKyAgICAgICAgICAgIGNhc2Ug
JzgnOgorICAgICAgICAgICAgY2FzZSAnOSc6ICAgIHsgZ290b0Nhc2UgPSA1MjsgY29udGludWU7
IH07CisgICAgICAgICAgICBjYXNlICdIJzogICAgeyBnb3RvQ2FzZSA9IDU0OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIGNhc2UgJ18nOiAgICB7IGdvdG9DYXNlID0gNTU7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgY2FzZSAnYyc6ICAgIHsgZ290b0Nhc2UgPSA1NjsgY29udGludWU7IH07
CisgICAgICAgICAgICBjYXNlICdkJzogICAgeyBnb3RvQ2FzZSA9IDU3OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGNhc2UgJ2UnOiAgICB7IGdvdG9DYXNlID0gNTg7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgY2FzZSAnZyc6ICAgIHsgZ290b0Nhc2UgPSA1OTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICBjYXNlICdpJzogICAgeyBnb3RvQ2FzZSA9IDYwOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgIGNhc2UgJ2snOiAgICB7IGdvdG9DYXNlID0gNjE7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgY2FzZSAnbSc6ICAgIHsgZ290b0Nhc2UgPSA2MjsgY29udGludWU7IH07CisgICAg
ICAgICAgICBjYXNlICdwJzogICAgeyBnb3RvQ2FzZSA9IDYzOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgIGNhc2UgJ3InOiAgICB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgY2FzZSAncyc6ICAgIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAgICAg
ICAgICBjYXNlICd0JzogICAgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgIGRlZmF1bHQ6ICAgIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAg
ICB9CitjYXNlIDQxOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAodGhp
cy5faXNQcm9wZXJ0eVZhbHVlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2Vu
VHlwZSA9ICJjc3MtbnVtYmVyIjsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gY3Vyc29yOworICAgICAgICAgICAgICAgIH0KK2Nhc2UgNDI6CisgICAgICAgICAg
ICArK2N1cnNvcjsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tl
blR5cGUgPSBudWxsOworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBh
cnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgfHwgdGhpcy5f
Y29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElB
TCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlv
biA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWV9WQUxVRTsKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGN1cnNvcjsKKyAgICAgICAgICAgICAgICB9CitjYXNlIDQ0OgorICAgICAg
ICAgICAgKytjdXJzb3I7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMu
dG9rZW5UeXBlID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBh
cnNlQ29uZGl0aW9uID0gdGhpcy5fY29uZGl0aW9uLm9wZW5CcmFjZXMgPyB0aGlzLl9wYXJzZUNv
bmRpdGlvbnMuUFJPUEVSVFkgOiB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTDsKKyAgICAg
ICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2NvbmRpdGlvbi5hdEtleXdvcmQ7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CisgICAgICAgICAgICAgICAgfQorY2FzZSA0NjoK
KyAgICAgICAgICAgICsrY3Vyc29yOworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICB0aGlzLnRva2VuVHlwZSA9ICJibG9jay1zdGFydCI7CisgICAgICAgICAgICAgICAgICAgIHRo
aXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzID0gKHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzIHx8
IDApICsgMTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNv
bmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElBX1JVTEUpCisgICAgICAg
ICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9w
YXJzZUNvbmRpdGlvbnMuSU5JVElBTDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5f
cGFyc2VDb25kaXRpb25zLlBST1BFUlRZOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vy
c29yOworICAgICAgICAgICAgICAgIH0KK2Nhc2UgNDg6CisgICAgICAgICAgICArK2N1cnNvcjsK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiYmxv
Y2stZW5kIjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJh
Y2VzID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIC0tdGhpcy5fY29uZGl0aW9uLm9wZW5C
cmFjZXM7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlv
biA9IHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzID8gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBS
T1BFUlRZIDogdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUw7CisgICAgICAgICAgICAgICAg
ICAgIGRlbGV0ZSB0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gY3Vyc29yOworICAgICAgICAgICAgICAgIH0KK2Nhc2UgNTA6CisgICAgICAgICAg
ICArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKK2Nh
c2UgNTE6CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnXCcnKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcgJykg
eyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnJScpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy0nKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLCcpIHsgZ290b0Nhc2UgPSAzMjsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNTA7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMyOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID09ICdcXCcpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ18nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXicpIHsg
Z290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMzI7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7
IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KK2Nhc2UgNTI6CisgICAgICAgICAgICB5eWFjY2Vw
dCA9IDE7CisgICAgICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOworICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOworICAgICAgICAgICAgc3dpdGNoICh5eWNoKSB7Cisg
ICAgICAgICAgICBjYXNlICchJzoKKyAgICAgICAgICAgIGNhc2UgJyInOgorICAgICAgICAgICAg
Y2FzZSAnJic6CisgICAgICAgICAgICBjYXNlICdcJyc6CisgICAgICAgICAgICBjYXNlICctJzoK
KyAgICAgICAgICAgIGNhc2UgJy8nOgorICAgICAgICAgICAgY2FzZSAnPSc6CisgICAgICAgICAg
ICBjYXNlICdAJzoKKyAgICAgICAgICAgIGNhc2UgJ0EnOgorICAgICAgICAgICAgY2FzZSAnQic6
CisgICAgICAgICAgICBjYXNlICdDJzoKKyAgICAgICAgICAgIGNhc2UgJ0QnOgorICAgICAgICAg
ICAgY2FzZSAnRSc6CisgICAgICAgICAgICBjYXNlICdGJzoKKyAgICAgICAgICAgIGNhc2UgJ0cn
OgorICAgICAgICAgICAgY2FzZSAnSSc6CisgICAgICAgICAgICBjYXNlICdKJzoKKyAgICAgICAg
ICAgIGNhc2UgJ0snOgorICAgICAgICAgICAgY2FzZSAnTCc6CisgICAgICAgICAgICBjYXNlICdN
JzoKKyAgICAgICAgICAgIGNhc2UgJ04nOgorICAgICAgICAgICAgY2FzZSAnTyc6CisgICAgICAg
ICAgICBjYXNlICdQJzoKKyAgICAgICAgICAgIGNhc2UgJ1EnOgorICAgICAgICAgICAgY2FzZSAn
Uic6CisgICAgICAgICAgICBjYXNlICdTJzoKKyAgICAgICAgICAgIGNhc2UgJ1QnOgorICAgICAg
ICAgICAgY2FzZSAnVSc6CisgICAgICAgICAgICBjYXNlICdWJzoKKyAgICAgICAgICAgIGNhc2Ug
J1cnOgorICAgICAgICAgICAgY2FzZSAnWCc6CisgICAgICAgICAgICBjYXNlICdZJzoKKyAgICAg
ICAgICAgIGNhc2UgJ1onOgorICAgICAgICAgICAgY2FzZSAnWyc6CisgICAgICAgICAgICBjYXNl
ICddJzoKKyAgICAgICAgICAgIGNhc2UgJ2EnOgorICAgICAgICAgICAgY2FzZSAnYic6CisgICAg
ICAgICAgICBjYXNlICdmJzoKKyAgICAgICAgICAgIGNhc2UgJ2gnOgorICAgICAgICAgICAgY2Fz
ZSAnaic6CisgICAgICAgICAgICBjYXNlICdsJzoKKyAgICAgICAgICAgIGNhc2UgJ24nOgorICAg
ICAgICAgICAgY2FzZSAnbyc6CisgICAgICAgICAgICBjYXNlICdxJzoKKyAgICAgICAgICAgIGNh
c2UgJ3UnOgorICAgICAgICAgICAgY2FzZSAndic6CisgICAgICAgICAgICBjYXNlICd3JzoKKyAg
ICAgICAgICAgIGNhc2UgJ3gnOgorICAgICAgICAgICAgY2FzZSAneSc6CisgICAgICAgICAgICBj
YXNlICd6JzogICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNh
c2UgJyUnOiAgICB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2Fz
ZSAnLic6ICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNl
ICcwJzoKKyAgICAgICAgICAgIGNhc2UgJzEnOgorICAgICAgICAgICAgY2FzZSAnMic6CisgICAg
ICAgICAgICBjYXNlICczJzoKKyAgICAgICAgICAgIGNhc2UgJzQnOgorICAgICAgICAgICAgY2Fz
ZSAnNSc6CisgICAgICAgICAgICBjYXNlICc2JzoKKyAgICAgICAgICAgIGNhc2UgJzcnOgorICAg
ICAgICAgICAgY2FzZSAnOCc6CisgICAgICAgICAgICBjYXNlICc5JzogICAgeyBnb3RvQ2FzZSA9
IDUyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ0gnOiAgICB7IGdvdG9DYXNlID0g
NTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnXyc6ICAgIHsgZ290b0Nhc2UgPSA1
NTsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdjJzogICAgeyBnb3RvQ2FzZSA9IDU2
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ2QnOiAgICB7IGdvdG9DYXNlID0gNTc7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnZSc6ICAgIHsgZ290b0Nhc2UgPSA1ODsg
Y29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdnJzogICAgeyBnb3RvQ2FzZSA9IDU5OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ2knOiAgICB7IGdvdG9DYXNlID0gNjA7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnayc6ICAgIHsgZ290b0Nhc2UgPSA2MTsgY29u
dGludWU7IH07CisgICAgICAgICAgICBjYXNlICdtJzogICAgeyBnb3RvQ2FzZSA9IDYyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ3AnOiAgICB7IGdvdG9DYXNlID0gNjM7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgY2FzZSAncic6ICAgIHsgZ290b0Nhc2UgPSA2NDsgY29udGlu
dWU7IH07CisgICAgICAgICAgICBjYXNlICdzJzogICAgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ3QnOiAgICB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgZGVmYXVsdDogICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIH0KK2Nhc2UgNTQ6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hh
ckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9
IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7
IH07CitjYXNlIDU1OgorICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7
CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnXycpIHsgZ290b0Nhc2UgPSAxMDM7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2UgNTY6
CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAg
IGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CitjYXNlIDU3OgorICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAn
ZScpIHsgZ290b0Nhc2UgPSAxMDI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2UgNTg6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5f
Y2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2Fz
ZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICd4JykgeyBnb3Rv
Q2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29u
dGludWU7IH07CitjYXNlIDU5OgorICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1
cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAncicpIHsgZ290b0Nhc2UgPSAxMDA7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nh
c2UgNjA6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAg
ICAgICAgIGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CitjYXNlIDYxOgorICAgICAg
ICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXlj
aCA9PSAnSCcpIHsgZ290b0Nhc2UgPSA5OTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdv
dG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OworY2FzZSA2MjoKKyAgICAgICAgICAgIHl5Y2ggPSB0
aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdv
dG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7
IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUx
OyBjb250aW51ZTsgfTsKK2Nhc2UgNjM6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0
KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICdzJykgeworICAgICAgICAgICAg
ICAgIGlmICh5eWNoID09ICdjJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsgZ290b0Nhc2UgPSA2NTsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3gnKSB7IGdvdG9DYXNl
ID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29u
dGludWU7IH07CisgICAgICAgICAgICB9CitjYXNlIDY0OgorICAgICAgICAgICAgeXljaCA9IHRo
aXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnYScpIHsgZ290
b0Nhc2UgPSA5NzsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnZScpIHsg
Z290b0Nhc2UgPSA5ODsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7
IGNvbnRpbnVlOyB9OworY2FzZSA2NToKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQo
KytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7CisgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
ICcpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJyUnKSB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykg
eworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJywnKSB7IGdvdG9DYXNlID0g
NDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUw
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9
IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0
MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICddJykg
eworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAnXFwnKSB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdfJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ14n
KSB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9
IDQxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6
JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CitjYXNlIDY2OgorICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAndScp
IHsgZ290b0Nhc2UgPSA5NTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0g
NTE7IGNvbnRpbnVlOyB9OworY2FzZSA2NzoKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy8nKSB7IGdvdG9DYXNlID0g
Njg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNl
ID0gNzA7IGNvbnRpbnVlOyB9OworY2FzZSA2ODoKKyAgICAgICAgICAgIGN1cnNvciA9IFlZTUFS
S0VSOworICAgICAgICAgICAgaWYgKHl5YWNjZXB0IDw9IDApIHsKKyAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgfQor
Y2FzZSA2OToKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKK2Nhc2UgNzA6CisgICAgICAg
ICAgICB5eWFjY2VwdCA9IDE7CisgICAgICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOworICAg
ICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ2YnKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ0gnKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcvJykgeworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPT0gJyUnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5
JykgeyBnb3RvQ2FzZSA9IDcwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdHJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA4MjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnYicpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICdfJykgeyBnb3RvQ2FzZSA9IDc0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYycpIHsgZ290b0Nh
c2UgPSA3NjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnZCcpIHsgZ290b0Nhc2UgPSA3OTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA+PSAnZicpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdtJykgeworICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnaScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdnJykgeyBnb3RvQ2FzZSA9IDgwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdoJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA3ODsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9
PSAnaycpIHsgZ290b0Nhc2UgPSA4MzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnbCcpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNzc7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ3EnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA9PSAncCcpIHsgZ290b0Nhc2UgPSA3NTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3InKSB7IGdv
dG9DYXNlID0gNzM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ3MnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ3QnKSB7IGdvdG9DYXNlID0gODE7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
aWYgKHl5Y2ggPT0gJ3gnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKK2Nhc2UgNzM6CisgICAgICAgICAgICB5
eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdh
JykgeyBnb3RvQ2FzZSA9IDkzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09
ICdlJykgeyBnb3RvQ2FzZSA9IDk0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA2ODsgY29udGludWU7IH07CitjYXNlIDc0OgorICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnXycpIHsgZ290b0Nh
c2UgPSA5MDsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRp
bnVlOyB9OworY2FzZSA3NToKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJz
b3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3MnKSB7CisgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ2MnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd0JykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAneCcpIHsgZ290b0Nhc2UgPSA2OTsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIH0KK2Nhc2UgNzY6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hh
ckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9
IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7
IH07CitjYXNlIDc3OgorICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7
CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7
IH07CisgICAgICAgICAgICBpZiAoeXljaCA9PSAncycpIHsgZ290b0Nhc2UgPSA2OTsgY29udGlu
dWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworY2FzZSA3
ODoKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAg
ICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKK2Nhc2UgNzk6CisgICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09
ICdlJykgeyBnb3RvQ2FzZSA9IDg5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA2ODsgY29udGludWU7IH07CitjYXNlIDgwOgorICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAncicpIHsgZ290b0Nh
c2UgPSA4NzsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRp
bnVlOyB9OworY2FzZSA4MToKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJz
b3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3UnKSB7IGdvdG9DYXNlID0gODU7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKK2Nhc2Ug
ODI6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAg
ICAgIGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CitjYXNlIDgzOgorICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCAh
PSAnSCcpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICB5eWNoID0g
dGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICd6JykgeyBn
b3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsg
Y29udGludWU7IH07CitjYXNlIDg1OgorICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgr
K2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCAhPSAncicpIHsgZ290b0Nhc2UgPSA2ODsg
Y29udGludWU7IH07CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsK
KyAgICAgICAgICAgIGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CitjYXNlIDg3Ogor
ICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBp
ZiAoeXljaCAhPSAnYScpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09
ICdkJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA2ODsgY29udGludWU7IH07CitjYXNlIDg5OgorICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnZycpIHsgZ290b0Nh
c2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRp
bnVlOyB9OworY2FzZSA5MDoKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJz
b3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ3EnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAg
ICAgICAgICBpZiAoeXljaCAhPSAnZScpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Cisg
ICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlm
ICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CitjYXNlIDkzOgorICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnZCcp
IHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0g
Njg7IGNvbnRpbnVlOyB9OworY2FzZSA5NDoKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0g
Njk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsg
fTsKK2Nhc2UgOTU6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsK
KyAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAg
ICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2UgOTc6CisgICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09
ICdkJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA1MTsgY29udGludWU7IH07CitjYXNlIDk4OgorICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nh
c2UgPSA2NTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRp
bnVlOyB9OworY2FzZSA5OToKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJz
b3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3onKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2Ug
MTAwOgorICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAg
ICAgICBpZiAoeXljaCAhPSAnYScpIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CisgICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5
eWNoID09ICdkJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CitjYXNlIDEwMjoKKyAgICAgICAgICAgIHl5Y2gg
PSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2cnKSB7
IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUx
OyBjb250aW51ZTsgfTsKK2Nhc2UgMTAzOgorICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJB
dCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCAhPSAncScpIHsgZ290b0Nhc2UgPSA1
MTsgY29udGludWU7IH07CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29y
KTsKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdlJykgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2UgMTA2OgorICAgICAg
ICAgICAgKytjdXJzb3I7CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7
CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDExMDsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDEwNjsgY29udGludWU7IH07CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAxMTA7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICcqJykgeyBnb3RvQ2FzZSA9IDEw
NjsgY29udGludWU7IH07CisgICAgICAgICAgICB9CitjYXNlIDEwODoKKyAgICAgICAgICAgICsr
Y3Vyc29yOworICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOworICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJyonKSB7IGdvdG9DYXNlID0gMTA4OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgIGlmICh5eWNoID09ICcvJykgeyBnb3RvQ2FzZSA9IDExMjsgY29udGludWU7IH07
CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTA2OyBjb250aW51ZTsgfTsKK2Nhc2UgMTEwOgor
ICAgICAgICAgICAgKytjdXJzb3I7CisgICAgICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0
aGlzLl9sZXhDb25kaXRpb25zLkNPTU1FTlQpOworICAgICAgICAgICAgeyB0aGlzLnRva2VuVHlw
ZSA9ICJjc3MtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KK2Nhc2UgMTEyOgorICAgICAgICAg
ICAgKytjdXJzb3I7CisgICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gImNzcy1jb21tZW50
IjsgcmV0dXJuIGN1cnNvcjsgfQorY2FzZSAxMTQ6CisgICAgICAgICAgICB5eWFjY2VwdCA9IDA7
CisgICAgICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOworICAgICAgICAgICAgeXljaCA9IHRo
aXMuX2NoYXJBdChjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7CisgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdcZicpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicp
IHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2Ug
PSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
ICcpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXCcnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJScpIHsgZ290
b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICctJykg
eyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ1xcJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDEx
NDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcp
IHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2Ug
PSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1snKSB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAxMjA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ18nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXicpIHsgZ290
b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAxMTg7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7
IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorY2FzZSAxMTY6CisgICAgICAgICAgICArK2N1
cnNvcjsKKyAgICAgICAgICAgIGlmICgoeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpKSA8PSAn
PCcpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJyYnKSB7IGdvdG9DYXNl
ID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPj0gJy0nKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy4n
KSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICc/JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0n
KSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2Fz
ZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgeworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ18nKSB7IGdvdG9DYXNlID0gNTA7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDUw
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KK2Nhc2UgMTE3OgorICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3Ry
aW5nVG9rZW4oY3Vyc29yLCB0cnVlKTsgfQorY2FzZSAxMTg6CisgICAgICAgICAgICArK2N1cnNv
cjsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdccicpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7
IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdcZicpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDEyMzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2FzZSA9
IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorY2Fz
ZSAxMjA6CisgICAgICAgICAgICArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9j
aGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICdhJykgeworICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICchJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXG4nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHQnKSB7IGdv
dG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xyJykgeyBnb3RvQ2FzZSA9IDY4
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDExODsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nh
c2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290b0Nhc2UgPSAxMTg7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3EnKSB7CisgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdmJykgeworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ2InKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdlJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID09ICdzJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3YnKSB7
IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICArK2N1cnNvcjsKKyAgICAg
ICAgICAgIHRoaXMuc2V0TGV4Q29uZGl0aW9uKHRoaXMuX2xleENvbmRpdGlvbnMuU1NUUklORyk7
CisgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9zdHJpbmdUb2tlbihjdXJzb3IpOyB9CitjYXNl
IDEyMzoKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07CitjYXNlIDEyNDoKKyAgICAgICAg
ICAgICsrY3Vyc29yOworICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwor
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ1wnJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nh
c2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
IicpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA+PSAnJicpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJy0nKSB7IGdvdG9DYXNlID0gMTI0
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2Ug
PSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XScpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID49ICdfJykgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcp
IHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KK2Nhc2UgMTI2
OgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9u
LnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24uSU5JVElB
TCB8fCB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX2NvbmRpdGlvbi5w
YXJzZUNvbmRpdGlvbi5BVF9SVUxFKQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29u
ZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZOwor
ICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJzY3NzLXZhcmlhYmxlIjsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKKyAgICAgICAgICAgICAgICB9CitjYXNl
IDEyNzoKKyAgICAgICAgICAgICsrY3Vyc29yOworICAgICAgICAgICAgeXljaCA9IHRoaXMuX2No
YXJBdChjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ0AnKSB7CisgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJy8nKSB7IGdvdG9DYXNlID0gMTI5OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMjc7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
WicpIHsgZ290b0Nhc2UgPSAxMjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDEyOTsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gMTI3OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgIH0KK2Nhc2UgMTI5OgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBp
ZiAodGhpcy5faXNQcm9wZXJ0eVZhbHVlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlz
LnRva2VuVHlwZSA9ICJjc3MtY29sb3IiOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0
aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5J
TklUSUFMKQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNl
bGVjdG9yIjsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy50b2tlblR5cGUgPSBudWxsOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vy
c29yOworICAgICAgICAgICAgICAgIH0KK2Nhc2UgMTMwOgorICAgICAgICAgICAgeXlhY2NlcHQg
PSAwOworICAgICAgICAgICAgWVlNQVJLRVIgPSArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5Y2gg
PSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgewor
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICchJykgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnXGYnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAn
XG4nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xyJykgeyBnb3Rv
Q2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID49ICchJykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnXCcnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicp
IHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPj0gJyYnKSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICctJykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
Jz0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nh
c2UgPSAxMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
Pj0gJz0nKSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeyBn
b3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEzNDsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICde
JykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nh
c2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ3onKSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KK2Nhc2UgMTMyOgorICAgICAg
ICAgICAgKytjdXJzb3I7CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7
CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHInKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXGYnKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyMzsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykg
eyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQorY2FzZSAxMzQ6CisgICAgICAgICAgICArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5
Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICdhJykg
eworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICchJykgeworICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXG4nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXHQnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xyJykgeyBn
b3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9
IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
JicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290b0Nh
c2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDY4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J3EnKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdmJykgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2InKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdlJykgeyBnb3RvQ2Fz
ZSA9IDY4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gMTMyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoID09ICdzJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ3YnKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICArK2N1
cnNvcjsKKyAgICAgICAgICAgIHRoaXMuc2V0TGV4Q29uZGl0aW9uKHRoaXMuX2xleENvbmRpdGlv
bnMuRFNUUklORyk7CisgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9zdHJpbmdUb2tlbihjdXJz
b3IpOyB9CisvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLworY2FzZSB0
aGlzLmNhc2VfU1NUUklORzoKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29y
KTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsKKyAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gMTQxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnXGYnKSB7IGdvdG9DYXNlID0gMTQwOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTQxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxNDA7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTQzOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAn
XFwnKSB7IGdvdG9DYXNlID0gMTQ1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDE0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQorY2FzZSAxMzk6CisgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9zdHJpbmdUb2tl
bihjdXJzb3IpOyB9CitjYXNlIDE0MDoKKyAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKKyAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJLRVIgPSArK2N1cnNvcik7CisgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTQ3OyBjb250aW51ZTsgfTsKK2Nhc2UgMTQxOgorICAgICAgICAg
ICAgKytjdXJzb3I7CitjYXNlIDE0MjoKKyAgICAgICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSBu
dWxsOyByZXR1cm4gY3Vyc29yOyB9CitjYXNlIDE0MzoKKyAgICAgICAgICAgICsrY3Vyc29yOwor
Y2FzZSAxNDQ6CisgICAgICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25k
aXRpb25zLklOSVRJQUwpOworICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4o
Y3Vyc29yLCB0cnVlKTsgfQorY2FzZSAxNDU6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hh
ckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICdlJykgeworICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJyInKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwn
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2Ug
PSAxNDI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ2InKSB7IGdvdG9DYXNlID0gMTQyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3InKSB7CisgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdtJykgeworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPj0gJ2cnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICduJykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAncScpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3QnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAncycpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0g
J3YnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KK2Nhc2UgMTQ2OgorICAgICAgICAg
ICAgeXlhY2NlcHQgPSAwOworICAgICAgICAgICAgWVlNQVJLRVIgPSArK2N1cnNvcjsKKyAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKK2Nhc2UgMTQ3OgorICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ1xyJykgeworICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicp
IHsgZ290b0Nhc2UgPSAxMzk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSAxMzk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdcXCcpIHsgZ290b0Nh
c2UgPSAxNDY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICsrY3Vyc29yOworICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChj
dXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7CisgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnIicp
IHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA+PSAnXCcnKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXFwnKSB7IGdvdG9DYXNlID0gMTQ2
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoID09ICdiJykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdyJykgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnbScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdmJykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
bicpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPj0gJ3InKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICd0JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPj0gJ3QnKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd2Jykg
eyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjdXJzb3IgPSBZWU1B
UktFUjsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzk7IGNvbnRpbnVlOyB9OworY2FzZSAx
NTA6CisgICAgICAgICAgICArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoY3Vyc29yKTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxNDQ7IGNvbnRpbnVlOyB9Owor
ICAgICAgICB9CisKKyAgICAgICAgfQorICAgIH0KK30KKworV2ViSW5zcGVjdG9yLlNvdXJjZVND
U1NUb2tlbml6ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tl
bml6ZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9Tb3VyY2VTQ1NTVG9rZW5pemVyLnJlMmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Tb3VyY2VTQ1NTVG9rZW5pemVyLnJlMmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2ZTg2
YjFmMDgyYTRmYzY3NDI4NmFiMTkxMDI2Nzc2NDFjNDZhYTUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVNDU1NUb2tlbml6ZXIucmUy
anMKQEAgLTAsMCArMSwyOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisvLyBHZW5lcmF0ZSBqcyBmaWxlIGFzIGZvbGxvd3M6CisKKy8q
CityZTJjIC1pc2MgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VTQ1NT
VG9rZW5pemVyLnJlMmpzIFwKKyAgfCBzZWQgJ3N8Xnl5XChbXjpdKlwpKlw6fGNhc2UgXDE6fCcg
XAorICB8IHNlZCAnc3xbKl1jdXJzb3JbK11bK118dGhpcy5fY2hhckF0KGN1cnNvcisrKXwnIFwK
KyAgfCBzZWQgJ3N8W1sqXVsrXVsrXWN1cnNvcnx0aGlzLl9jaGFyQXQoKytjdXJzb3IpfCcgXAor
ICB8IHNlZCAnc3xbKl1jdXJzb3J8dGhpcy5fY2hhckF0KGN1cnNvcil8JyBcCisgIHwgc2VkICdz
fHl5Y2ggPSBcKlwoW147XSpcKXx5eWNoID0gdGhpcy5fY2hhckF0XDF8JyBcCisgIHwgc2VkICdz
fGdvdG8gY2FzZSBcKFteO10qXCl8eyBnb3RvQ2FzZSA9IFwxOyBjb250aW51ZTsgfXwnIFwKKyAg
fCBzZWQgJ3N8eXljaCA8PSBcKDB4WzAtOWEtZkEtRl0qXCl8eXljaCBcPFw9IFN0cmluZy5mcm9t
Q2hhckNvZGUoXDEpfCcgXAorICB8IHNlZCAnc3x1bnNpZ25lZFwgaW50fHZhcnwnIFwKKyAgfCBz
ZWQgJ3N8dmFyXCB5eWNofGNhc2UgMTogdmFyIHl5Y2h8JyA+IFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU291cmNlU0NTU1Rva2VuaXplci5qcworKi8KKworLyoqCisgKiBAY29u
c3RydWN0b3IKKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyfQorICov
CitXZWJJbnNwZWN0b3IuU291cmNlU0NTU1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKK3sKKyAgICBX
ZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLmNhbGwodGhpcyk7CisKKyAgICB0aGlzLl9wcm9w
ZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc1Byb3BlcnRpZXNN
ZXRhaW5mb0tleVNldCgpOworICAgIHRoaXMuX2NvbG9yS2V5d29yZHMgPSBXZWJJbnNwZWN0b3Iu
Q1NTS2V5d29yZENvbXBsZXRpb25zLmNvbG9ycygpOworCisgICAgdGhpcy5fbGV4Q29uZGl0aW9u
cyA9IHsKKyAgICAgICAgSU5JVElBTDogMCwKKyAgICAgICAgQ09NTUVOVDogMSwKKyAgICAgICAg
RFNUUklORzogMiwKKyAgICAgICAgU1NUUklORzogMworICAgIH07CisKKyAgICB0aGlzLl9wYXJz
ZUNvbmRpdGlvbnMgPSB7CisgICAgICAgIElOSVRJQUw6IDAsCisgICAgICAgIFBST1BFUlRZOiAx
LAorICAgICAgICBQUk9QRVJUWV9WQUxVRTogMiwKKyAgICAgICAgQVRfUlVMRTogMywKKyAgICAg
ICAgQVRfTUVESUFfUlVMRTogNAorICAgIH07CisKKyAgICB0aGlzLmNhc2VfSU5JVElBTCA9IDEw
MDA7CisgICAgdGhpcy5jYXNlX0NPTU1FTlQgPSAxMDAyOworICAgIHRoaXMuY2FzZV9EU1RSSU5H
ID0gMTAwMzsKKyAgICB0aGlzLmNhc2VfU1NUUklORyA9IDEwMDQ7CisKKyAgICB0aGlzLmNvbmRp
dGlvbiA9IHRoaXMuY3JlYXRlSW5pdGlhbENvbmRpdGlvbigpOworfQorCitXZWJJbnNwZWN0b3Iu
U291cmNlU0NTU1Rva2VuaXplci5WYWx1ZUtleXdvcmRzID0gWworICAgICJhYnMiLCAiYWRqdXN0
LWNvbG9yIiwgImFkanVzdC1odWUiLCAiYWxwaGEiLCAiYXBwZW5kIiwgImNlaWwiLCAiY2hhbmdl
LWNvbG9yIiwgImNvbXBhcmFibGUiLCAiY29tcGxlbWVudCIsICJkYXJrZW4iLCAiZGVzYXR1cmF0
ZSIsCisgICAgImZhZGUtaW4iLCAiZmFkZS1vdXQiLCAiZmxvb3IiLCAiZ3JheXNjYWxlIiwgImh1
ZSIsICJpZS1oZXgtc3RyIiwgImludmVydCIsICJqb2luIiwgImxlbmd0aCIsICJsaWdodGVuIiwK
KyAgICAibGlnaHRuZXNzIiwgIm1heCIsICJtaW4iLCAibWl4IiwgIm50aCIsICJvcGFjaWZ5Iiwg
Im9wYWNpdHkiLCAicGVyY2VudGFnZSIsICJxdW90ZSIsICJyb3VuZCIsICJzYXR1cmF0ZSIsCisg
ICAgInNhdHVyYXRpb24iLCAic2NhbGUtY29sb3IiLCAidHJhbnNwYXJlbnRpemUiLCAidHlwZS1v
ZiIsICJ1bml0IiwgInVuaXRsZXNzIiwgInVucXVvdGUiLCAiemlwIgorXS5rZXlTZXQoKTsKKwor
V2ViSW5zcGVjdG9yLlNvdXJjZVNDU1NUb2tlbml6ZXIuQXRSZWxhdGVkS2V5d29yZHMgPSBbCisg
ICAiZnJvbSIsICJpZiIsICJpbiIsICJ0aHJvdWdoIgorXS5rZXlTZXQoKTsKKworV2ViSW5zcGVj
dG9yLlNvdXJjZVNDU1NUb2tlbml6ZXIucHJvdG90eXBlID0geworICAgIGNyZWF0ZUluaXRpYWxD
b25kaXRpb246IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB7IGxleENvbmRpdGlv
bjogdGhpcy5fbGV4Q29uZGl0aW9ucy5JTklUSUFMLCBwYXJzZUNvbmRpdGlvbjogdGhpcy5fcGFy
c2VDb25kaXRpb25zLklOSVRJQUwgfTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFt
IHtib29sZWFuPX0gc3RyaW5nRW5kcworICAgICAqLworICAgIF9zdHJpbmdUb2tlbjogZnVuY3Rp
b24oY3Vyc29yLCBzdHJpbmdFbmRzKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2lzUHJvcGVy
dHlWYWx1ZSgpKQorICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXN0cmluZyI7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gbnVsbDsKKyAgICAgICAg
cmV0dXJuIGN1cnNvcjsKKyAgICB9LAorCisgICAgX2lzUHJvcGVydHlWYWx1ZTogZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9
PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZX1ZBTFVFIHx8IHRoaXMuX2NvbmRpdGlv
bi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEU7CisgICAg
fSwKKworICAgIF9nZXRDb25kTmFtZTogZnVuY3Rpb24oY29uZCkKKyAgICB7CisgICAgICAgIGZv
ciAodmFyIG5hbWUgaW4gdGhpcy5fcGFyc2VDb25kaXRpb25zKSB7CisgICAgICAgICAgICBpZiAo
dGhpcy5fcGFyc2VDb25kaXRpb25zW25hbWVdID09PSBjb25kKQorICAgICAgICAgICAgICAgIHJl
dHVybiBuYW1lOworICAgICAgICB9CisgICAgICAgIHJldHVybiBjb25kOworICAgIH0sCisKKyAg
ICBuZXh0VG9rZW46IGZ1bmN0aW9uKGN1cnNvcikKKyAgICB7CisgICAgICAgIHZhciBjdXJzb3JP
bkVudGVyID0gY3Vyc29yOworICAgICAgICB2YXIgZ290b0Nhc2UgPSAxOworICAgICAgICB2YXIg
WVlNQVJLRVI7CisgICAgICAgIHdoaWxlICgxKSB7CisgICAgICAgICAgICBzd2l0Y2ggKGdvdG9D
YXNlKQorICAgICAgICAgICAgLy8gRm9sbG93aW5nIGNvbW1lbnQgaXMgcmVwbGFjZWQgd2l0aCBn
ZW5lcmF0ZWQgc3RhdGUgbWFjaGluZS4KKyAgICAgICAgICAgIC8qIXJlMmMKKyAgICAgICAgICAg
ICAgICByZTJjOmRlZmluZTpZWUNUWVBFICA9ICJ2YXIiOworICAgICAgICAgICAgICAgIHJlMmM6
ZGVmaW5lOllZQ1VSU09SID0gY3Vyc29yOworICAgICAgICAgICAgICAgIHJlMmM6ZGVmaW5lOllZ
R0VUQ09ORElUSU9OID0gInRoaXMuZ2V0TGV4Q29uZGl0aW9uIjsKKyAgICAgICAgICAgICAgICBy
ZTJjOmRlZmluZTpZWVNFVENPTkRJVElPTiA9ICJ0aGlzLnNldExleENvbmRpdGlvbiI7CisgICAg
ICAgICAgICAgICAgcmUyYzpjb25kcHJlZml4ID0gImNhc2UgdGhpcy5jYXNlXyI7CisgICAgICAg
ICAgICAgICAgcmUyYzpjb25kZW51bXByZWZpeCA9ICJ0aGlzLl9sZXhDb25kaXRpb25zLiI7Cisg
ICAgICAgICAgICAgICAgcmUyYzp5eWZpbGw6ZW5hYmxlID0gMDsKKyAgICAgICAgICAgICAgICBy
ZTJjOmxhYmVscHJlZml4ID0gImNhc2UgIjsKKyAgICAgICAgICAgICAgICByZTJjOmluZGVudDp0
b3AgPSAyOworICAgICAgICAgICAgICAgIHJlMmM6aW5kZW50OnN0cmluZyA9ICIgICAgIjsKKwor
ICAgICAgICAgICAgICAgIENvbW1lbnRDb250ZW50ID0gKFteKlxyXG5dIHwgKCIqIitbXi8qXSkp
KjsKKyAgICAgICAgICAgICAgICBDb21tZW50ID0gIi8qIiBDb21tZW50Q29udGVudCAiKiIrICIv
IjsKKyAgICAgICAgICAgICAgICBDb21tZW50U3RhcnQgPSAiLyoiIENvbW1lbnRDb250ZW50IFtc
clxuXTsKKyAgICAgICAgICAgICAgICBDb21tZW50RW5kID0gQ29tbWVudENvbnRlbnQgIioiKyAi
LyI7CisKKyAgICAgICAgICAgICAgICBPcGVuQ3VybHlCcmFja2V0ID0gInsiOworICAgICAgICAg
ICAgICAgIENsb3NlQ3VybHlCcmFja2V0ID0gIn0iOworCisgICAgICAgICAgICAgICAgQ29sb24g
PSAiOiI7CisgICAgICAgICAgICAgICAgU2VtaWNvbG9uID0gIjsiOworCisgICAgICAgICAgICAg
ICAgTnVtZXJpY0xpdGVyYWwgPSAiLSI/IChbMC05XSsgfCBbMC05XSogIi4iIFswLTldKykgICgi
ZW0iIHwgInJlbSIgfCAiX19xZW0iIHwgImV4IiB8ICJweCIgfCAiY20iIHwKKyAgICAgICAgICAg
ICAgICAgICAgIm1tIiB8ICJpbiIgfCAicHQiIHwgInBjIiB8ICJkZWciIHwgInJhZCIgfCAiZ3Jh
ZCIgfCAidHVybiIgfCAibXMiIHwgInMiIHwgIkh6IiB8ICJrSHoiIHwgIiUiKT87CisKKyAgICAg
ICAgICAgICAgICBDb2xvck9yU2VsZWN0b3IgPSAiIyIgWzAtOUEtWmEtel0rOworICAgICAgICAg
ICAgICAgIElkZW50aWZpZXIgPSBbQCFfXC0wLTlhLXpBLVpcW1xdPSciLyZdKzsKKyAgICAgICAg
ICAgICAgICBWYXJpYWJsZSA9ICIkIiBJZGVudGlmaWVyOworCisgICAgICAgICAgICAgICAgRG91
YmxlU3RyaW5nQ29udGVudCA9IChbXlxyXG5cIlxcXSB8ICJcXCIgWyciXFxiZm5ydHZdKSo7Cisg
ICAgICAgICAgICAgICAgU2luZ2xlU3RyaW5nQ29udGVudCA9IChbXlxyXG5cJ1xcXSB8ICJcXCIg
WyciXFxiZm5ydHZdKSo7CisgICAgICAgICAgICAgICAgU3RyaW5nTGl0ZXJhbCA9ICJcIiIgRG91
YmxlU3RyaW5nQ29udGVudCAiXCIiIHwgIiciIFNpbmdsZVN0cmluZ0NvbnRlbnQgIiciOworICAg
ICAgICAgICAgICAgIERvdWJsZVN0cmluZ1N0YXJ0ID0gIlwiIiBEb3VibGVTdHJpbmdDb250ZW50
ICJcXCIgW1xyXG5dOworICAgICAgICAgICAgICAgIERvdWJsZVN0cmluZ0VuZCA9IERvdWJsZVN0
cmluZ0NvbnRlbnQgIlwiIjsKKyAgICAgICAgICAgICAgICBTaW5nbGVTdHJpbmdTdGFydCA9ICIn
IiBTaW5nbGVTdHJpbmdDb250ZW50ICJcXCIgW1xyXG5dOworICAgICAgICAgICAgICAgIFNpbmds
ZVN0cmluZ0VuZCA9IFNpbmdsZVN0cmluZ0NvbnRlbnQgIiciOworCisgICAgICAgICAgICAgICAg
PElOSVRJQUw+IENvbW1lbnQgeyB0aGlzLnRva2VuVHlwZSA9ICJjc3MtY29tbWVudCI7IHJldHVy
biBjdXJzb3I7IH0KKyAgICAgICAgICAgICAgICA8SU5JVElBTD4gQ29tbWVudFN0YXJ0ID0+IENP
TU1FTlQgeyB0aGlzLnRva2VuVHlwZSA9ICJjc3MtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0K
KyAgICAgICAgICAgICAgICA8Q09NTUVOVD4gQ29tbWVudENvbnRlbnQgPT4gQ09NTUVOVCB7IHRo
aXMudG9rZW5UeXBlID0gImNzcy1jb21tZW50IjsgcmV0dXJuIGN1cnNvcjsgfQorICAgICAgICAg
ICAgICAgIDxDT01NRU5UPiBDb21tZW50RW5kID0+IElOSVRJQUwgeyB0aGlzLnRva2VuVHlwZSA9
ICJjc3MtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KKworICAgICAgICAgICAgICAgIDxJTklU
SUFMPiBTdHJpbmdMaXRlcmFsIHsgcmV0dXJuIHRoaXMuX3N0cmluZ1Rva2VuKGN1cnNvciwgdHJ1
ZSk7IH0KKyAgICAgICAgICAgICAgICA8SU5JVElBTD4gRG91YmxlU3RyaW5nU3RhcnQgPT4gRFNU
UklORyB7IHJldHVybiB0aGlzLl9zdHJpbmdUb2tlbihjdXJzb3IpOyB9CisgICAgICAgICAgICAg
ICAgPERTVFJJTkc+IERvdWJsZVN0cmluZ0NvbnRlbnQgPT4gRFNUUklORyB7IHJldHVybiB0aGlz
Ll9zdHJpbmdUb2tlbihjdXJzb3IpOyB9CisgICAgICAgICAgICAgICAgPERTVFJJTkc+IERvdWJs
ZVN0cmluZ0VuZCA9PiBJTklUSUFMIHsgcmV0dXJuIHRoaXMuX3N0cmluZ1Rva2VuKGN1cnNvciwg
dHJ1ZSk7IH0KKyAgICAgICAgICAgICAgICA8SU5JVElBTD4gU2luZ2xlU3RyaW5nU3RhcnQgPT4g
U1NUUklORyB7IHJldHVybiB0aGlzLl9zdHJpbmdUb2tlbihjdXJzb3IpOyB9CisgICAgICAgICAg
ICAgICAgPFNTVFJJTkc+IFNpbmdsZVN0cmluZ0NvbnRlbnQgPT4gU1NUUklORyB7IHJldHVybiB0
aGlzLl9zdHJpbmdUb2tlbihjdXJzb3IpOyB9CisgICAgICAgICAgICAgICAgPFNTVFJJTkc+IFNp
bmdsZVN0cmluZ0VuZCA9PiBJTklUSUFMIHsgcmV0dXJuIHRoaXMuX3N0cmluZ1Rva2VuKGN1cnNv
ciwgdHJ1ZSk7IH0KKworICAgICAgICAgICAgICAgIDxJTklUSUFMPiBPcGVuQ3VybHlCcmFja2V0
CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9
ICJibG9jay1zdGFydCI7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5vcGVu
QnJhY2VzID0gKHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzIHx8IDApICsgMTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5f
cGFyc2VDb25kaXRpb25zLkFUX01FRElBX1JVTEUpCisgICAgICAgICAgICAgICAgICAgICAgICB0
aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5J
VElBTDsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBS
T1BFUlRZOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIDxJTklUSUFMPiBDbG9zZUN1cmx5QnJhY2tldAorICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiYmxv
Y2stZW5kIjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJh
Y2VzID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIC0tdGhpcy5fY29uZGl0aW9uLm9wZW5C
cmFjZXM7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlv
biA9IHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzID8gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBS
T1BFUlRZIDogdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUw7CisgICAgICAgICAgICAgICAg
ICAgIGRlbGV0ZSB0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gY3Vyc29yOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIDxJ
TklUSUFMPiBDb2xvbgorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy50b2tlblR5cGUgPSBudWxsOworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0
aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgfHwg
dGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMu
SU5JVElBTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNv
bmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWV9WQUxVRTsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICA8SU5JVElBTD4gU2VtaWNvbG9uCisgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgIHRo
aXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2Vz
ID8gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZIDogdGhpcy5fcGFyc2VDb25kaXRpb25z
LklOSVRJQUw7CisgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jb25kaXRpb24uYXRL
ZXl3b3JkOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIDxJTklUSUFMPiBOdW1lcmljTGl0ZXJhbAorICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzUHJvcGVydHlWYWx1
ZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLW51bWJl
ciI7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHRo
aXMudG9rZW5UeXBlID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICA8SU5JVElBTD4gQ29sb3JPclNl
bGVjdG9yCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5f
aXNQcm9wZXJ0eVZhbHVlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlw
ZSA9ICJjc3MtY29sb3IiOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9jb25k
aXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMKQor
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9yIjsK
KyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50
b2tlblR5cGUgPSBudWxsOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOworICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIDxJTklUSUFMPiBWYXJpYWJsZQorICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5w
YXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uLklOSVRJQUwg
fHwgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9jb25kaXRpb24ucGFy
c2VDb25kaXRpb24uQVRfUlVMRSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRp
dGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWTsKKyAg
ICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAic2Nzcy12YXJpYWJsZSI7CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgPElOSVRJQUw+IElkZW50aWZpZXIKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgIHZhciB0b2tlbiA9IHRoaXMuX2xpbmUuc3Vic3RyaW5nKGN1cnNvck9u
RW50ZXIsIGN1cnNvcik7CisgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gbnVs
bDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlv
biA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUwgfHwgdGhpcy5fY29uZGl0aW9uLnBh
cnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbi5jaGFyQXQoMCkgPT09ICJAIikgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1hdC1ydWxlIjsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24g
PSB0b2tlbiA9PT0gIkBtZWRpYSIgPyB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVM
RSA6IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2NvbmRpdGlvbi5hdEtleXdvcmQgPSB0b2tlbjsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0
aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mtc2VsZWN0b3IiOworICAgICAgICAgICAgICAgICAgICAg
ICAgZWxzZSBpZiAodGhpcy5fcHJvcGVydHlLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXByb3Bl
cnR5IjsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFy
c2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJQV9SVUxFIHx8IHRo
aXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFU
X1JVTEUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuU291cmNl
U0NTU1Rva2VuaXplci5BdFJlbGF0ZWRLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUi
OworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoV2ViSW5zcGVjdG9yLlNvdXJjZUNT
U1Rva2VuaXplci5NZWRpYVR5cGVzLmhhc093blByb3BlcnR5KHRva2VuKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mta2V5d29yZCI7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudG9rZW5UeXBlKQor
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKKworICAgICAgICAgICAgICAg
ICAgICBpZiAodGhpcy5faXNQcm9wZXJ0eVZhbHVlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHZhciBmaXJzdENoYXIgPSB0b2tlbi5jaGFyQXQoMCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoZmlyc3RDaGFyID09PSAiJCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy50b2tlblR5cGUgPSAic2Nzcy12YXJpYWJsZSI7CisgICAgICAgICAgICAgICAgICAgICAg
ICBlbHNlIGlmIChmaXJzdENoYXIgPT09ICIhIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0aGlzLnRva2VuVHlwZSA9ICJzY3NzLWJhbmcta2V5d29yZCI7CisgICAgICAgICAgICAgICAg
ICAgICAgICBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkID09PSAiQGV4dGVuZCIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVj
dG9yIjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKFdlYkluc3BlY3Rvci5Tb3Vy
Y2VDU1NUb2tlbml6ZXIuVmFsdWVLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikgfHwgV2Vi
SW5zcGVjdG9yLlNvdXJjZVNDU1NUb2tlbml6ZXIuVmFsdWVLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0
eSh0b2tlbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAi
Y3NzLWtleXdvcmQiOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fY29s
b3JLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogdGhpcyBkb2VzIG5vdCBjb252ZXJ0IHRva2VucyB0b0xvd2VyQ2Fz
ZSgpIGZvciB0aGUgc2FrZSBvZiBzcGVlZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
aGlzLnRva2VuVHlwZSA9ICJjc3MtY29sb3IiOworICAgICAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRp
dGlvbiAhPT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZX1ZBTFVFKQorICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9yIjsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgPCo+IFteXSB7IHRoaXMudG9rZW5UeXBlID0gbnVsbDsgcmV0dXJuIGN1cnNvcjsgfQor
ICAgICAgICAgICAgKi8KKyAgICAgICAgfQorICAgIH0KK30KKworV2ViSW5zcGVjdG9yLlNvdXJj
ZVNDU1NUb2tlbml6ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Tb3VyY2VU
b2tlbml6ZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VUb2tlbml6ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NvdXJjZVRva2VuaXplci5qcwppbmRleCA3YThhNmFjZmJiMmI2MzgzMGU3NTQy
ZTJkYTIzM2MxYzE1NTVjZWIzLi44YmRjYjc1YjY4Y2JjNzg2MDI4NTU1Y2VmNjRlM2JlZDA2MGI3
OWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJj
ZVRva2VuaXplci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nv
dXJjZVRva2VuaXplci5qcwpAQCAtODIsMTEgKzgyLDE1IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VU
b2tlbml6ZXIuUmVnaXN0cnkgPSBmdW5jdGlvbigpIHsKICAgICB0aGlzLl90b2tlbml6ZXJzID0g
e307CiAgICAgdGhpcy5fdG9rZW5pemVyQ29uc3RydWN0b3JzID0gewogICAgICAgICAidGV4dC9j
c3MiOiAiU291cmNlQ1NTVG9rZW5pemVyIiwKKyAgICAgICAgInRleHQvc2NzcyI6ICJTb3VyY2VT
Q1NTVG9rZW5pemVyIiwKICAgICAgICAgInRleHQvaHRtbCI6ICJTb3VyY2VIVE1MVG9rZW5pemVy
IiwKICAgICAgICAgInRleHQvamF2YXNjcmlwdCI6ICJTb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVy
IgogICAgIH07CiB9CiAKKy8qKgorICogQHJldHVybiB7V2ViSW5zcGVjdG9yLlNvdXJjZVRva2Vu
aXplci5SZWdpc3RyeX0KKyAqLwogV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5SZWdpc3Ry
eS5nZXRJbnN0YW5jZSA9IGZ1bmN0aW9uKCkKIHsKICAgICBpZiAoIVdlYkluc3BlY3Rvci5Tb3Vy
Y2VUb2tlbml6ZXIuUmVnaXN0cnkuX2luc3RhbmNlKQpAQCAtOTUsNiArOTksOSBAQCBXZWJJbnNw
ZWN0b3IuU291cmNlVG9rZW5pemVyLlJlZ2lzdHJ5LmdldEluc3RhbmNlID0gZnVuY3Rpb24oKQog
fQogCiBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLlJlZ2lzdHJ5LnByb3RvdHlwZSA9IHsK
KyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWltZVR5cGUKKyAgICAgKi8KICAgICBn
ZXRUb2tlbml6ZXI6IGZ1bmN0aW9uKG1pbWVUeXBlKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlz
Ll90b2tlbml6ZXJDb25zdHJ1Y3RvcnNbbWltZVR5cGVdKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZVNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVTb3VyY2UuanMKaW5kZXggNGQyMWY1MThhN2NiMmRm
N2ZiYTRiODZhNDVjYTk3MjUyNDVhZWMzZC4uZDJlYjg4YzEyZDJiNTA2MDY1OTBhNTFiYTdiNDhh
ZDU5ZTAyZmJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TdHlsZVNvdXJjZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1N0eWxlU291cmNlLmpzCkBAIC0zMCwxMCArMzAsMTEgQEAKICAqIEBjb25zdHJ1Y3RvcgogICog
QGV4dGVuZHMge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9CiAgKiBAcGFyYW0ge1dlYkluc3Bl
Y3Rvci5SZXNvdXJjZX0gcmVzb3VyY2UKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlNvdXJjZU1h
cHBpbmd9IHNvdXJjZU1hcHBpbmcKICAqLwotV2ViSW5zcGVjdG9yLlN0eWxlU291cmNlID0gZnVu
Y3Rpb24ocmVzb3VyY2UpCitXZWJJbnNwZWN0b3IuU3R5bGVTb3VyY2UgPSBmdW5jdGlvbihyZXNv
dXJjZSwgc291cmNlTWFwcGluZykKIHsKLSAgICBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLmNh
bGwodGhpcywgcmVzb3VyY2UudXJsLCByZXNvdXJjZSwgcmVzb3VyY2UpOworICAgIFdlYkluc3Bl
Y3Rvci5VSVNvdXJjZUNvZGUuY2FsbCh0aGlzLCByZXNvdXJjZS51cmwsIHJlc291cmNlLCByZXNv
dXJjZSwgc291cmNlTWFwcGluZyk7CiB9CiAKIFdlYkluc3BlY3Rvci5TdHlsZVNvdXJjZS51cGRh
dGVUaW1lb3V0ID0gMjAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TdHlsZXNVSVNvdXJjZUNvZGVQcm92aWRlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzVUlTb3VyY2VDb2RlUHJvdmlkZXIuanMKaW5kZXggZmQ2
MjRhYzM2YWMxNjdiMWY0OTUwZjVhMGI3ZDVjZDVhNjM0MmYxYS4uYjUxMWEzODZkOTBiMWNhMmI4
N2Q4ZWQyN2Y0NjAzMWIxMGYxODI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TdHlsZXNVSVNvdXJjZUNvZGVQcm92aWRlci5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1VJU291cmNlQ29kZVByb3ZpZGVyLmpz
CkBAIC02NCw3ICs2NCw3IEBAIFdlYkluc3BlY3Rvci5TdHlsZXNVSVNvdXJjZUNvZGVQcm92aWRl
ci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IC8qKiBAdHlwZSB7V2ViSW5z
cGVjdG9yLlJlc291cmNlfSAqLyBldmVudC5kYXRhOwogICAgICAgICBpZiAocmVzb3VyY2UudHlw
ZSAhPT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU3R5bGVzaGVldCkKICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuU3R5
bGVTb3VyY2UocmVzb3VyY2UpOworICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYklu
c3BlY3Rvci5TdHlsZVNvdXJjZShyZXNvdXJjZSwgdGhpcy5fc3R5bGVzU291cmNlTWFwcGluZyk7
CiAgICAgICAgIHRoaXMuX3N0eWxlc1NvdXJjZU1hcHBpbmcuYWRkVUlTb3VyY2VDb2RlKHVpU291
cmNlQ29kZSk7CiAgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VD
b2RlKHVpU291cmNlQ29kZSk7CiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvV2ViS2l0LnFyYwppbmRleCA1ZGU4OWFkNGVjNzI1YmNlMjcyZjljNWRiMzU5NTQ5
N2M3NWZlZTZhLi42YTM5ZWQzOWUwODAxNWRhNGMyMTNlN2RkY2NjNTk5ZWJhMGEwNjlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC0xNzQs
NiArMTc0LDcgQEAKICAgICA8ZmlsZT5Tb3VyY2VIVE1MVG9rZW5pemVyLmpzPC9maWxlPgogICAg
IDxmaWxlPlNvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+U291
cmNlTWFwcGluZy5qczwvZmlsZT4KKyAgICA8ZmlsZT5Tb3VyY2VTQ1NTVG9rZW5pemVyLmpzPC9m
aWxlPgogICAgIDxmaWxlPlNvdXJjZVRva2VuaXplci5qczwvZmlsZT4KICAgICA8ZmlsZT5TcGVj
dHJ1bS5qczwvZmlsZT4KICAgICA8ZmlsZT5TcGxpdFZpZXcuanM8L2ZpbGU+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCAxYmVl
ZmVkMGU4Njc1NWI4YTc2NjM0OTU1NzcyMWFjMWUxMjQ4OTIxLi41YmMyZDRiMTQ3MmQwYTkzZDc4
ODJlMTY5NmUwMzE3NDQ2MTU1MmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTEyNCw2ICsxMjQsNyBAQCBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRleHRFZGl0b3JIaWdobGln
aHRlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iU291cmNlVG9rZW5pemVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJTb3VyY2VDU1NUb2tlbml6ZXIuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNvdXJjZVNDU1NUb2tlbml6ZXIuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNvdXJj
ZUhUTUxUb2tlbml6ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9IlNvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkZpbGVTeXN0ZW1Nb2RlbC5qcyI+
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3RvclN5bnRheEhpZ2hsaWdodC5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3RvclN5bnRheEhpZ2hsaWdodC5jc3MKaW5kZXggNzQ4NjMxZTExYmZj
Zjc2YTNhYTkzNzUzNGVkZDc5MmI5NWNlZTZkYy4uMDQzMmNkNzFmYjFmZmQ4ODYyYWQ0NzAwNzc1
ZjY0ODljNmJkMmY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3JTeW50YXhIaWdobGlnaHQuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yU3ludGF4SGlnaGxpZ2h0LmNzcwpAQCAtNDYsNyAr
NDYsNyBAQAogICAgIGNvbG9yOiBibGFjazsKIH0KIAotLndlYmtpdC1jc3MtaW1wb3J0YW50IHsK
Ky53ZWJraXQtY3NzLWltcG9ydGFudCwgLndlYmtpdC1zY3NzLWJhbmcta2V5d29yZCB7CiAgICAg
Y29sb3I6IHJnYigyMDAsIDAsIDE4MCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYWI2OTdmYmM5MzVkMzNhNmUx
MTVmNWY2Y2UzOGEyNTNlZmJmOWIyLi43NjM4YThkYTEzZTdlZWEyYzQ0YmViZTMyMWY2NzQ4MDVh
OWQ2N2E4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTItMDktMDMgIEFsZXhhbmRlciBQYXZs
b3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBJbXBs
ZW1lbnQgU0NTUyBzb3VyY2UgaGlnaGxpZ2h0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1zY3NzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQt
c2Nzcy5odG1sOiBBZGRlZC4KKworMjAxMi0wOS0wMyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZs
b3ZAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFVuaGlkZSBoaWRkZW4g
Y2hhcmFjdGVycwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTM4ODgKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdo
bGlnaHQtc2Nzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhp
Z2hsaWdodC1zY3NzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDRiZWFlNzliOTZiMTllZGY2
YjY1YjA2MDJjNzdmMTk1ZWJiYTAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL3N5bnRheC1oaWdobGlnaHQtc2Nzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OSBA
QAorVGVzdHMgdGhhdCBTQ1NTIHN5bnRheCBoaWdobGlnaHRlciBkZXRlY3RzIHRoZSB0b2tlbnMu
CisKK2FbaHJlZj0nLyddOiB3ZWJraXQtY3NzLXNlbGVjdG9yCisjY29udGVudCA+IGE6aG92ZXI6
IHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQtY3NzLXNlbGVjdG9yLCoKK0BpbXBvcnQgdXJs
KHN0eWxlLmNzcyk7OiB3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLWtleXdvcmQsKgor
QGltcG9ydCB1cmwoInN0eWxlLmNzcyIpIHByb2plY3Rpb24sIHR2Ozogd2Via2l0LWNzcy1hdC1y
dWxlLCosd2Via2l0LWNzcy1rZXl3b3JkLCosd2Via2l0LWNzcy1zdHJpbmcsKix3ZWJraXQtY3Nz
LWtleXdvcmQsKix3ZWJraXQtY3NzLWtleXdvcmQsKgorQGltcG9ydCAiL2Nzcy9maXJlYmFsbF91
bmljb2RlLmNzcyI7IGh0bWwge306IHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3Mtc3Ry
aW5nLCosd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1zdGFydCx3ZWJraXQtYmxv
Y2stZW5kCitAbWVkaWEgc2NyZWVuIHsgYm9keSB7IGNvbG9yOiByZWQ7IH0gfTogd2Via2l0LWNz
cy1hdC1ydWxlLCosd2Via2l0LWNzcy1rZXl3b3JkLCosd2Via2l0LWJsb2NrLXN0YXJ0LCosd2Vi
a2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1zdGFydCwqLHdlYmtpdC1jc3MtcHJvcGVy
dHksKix3ZWJraXQtY3NzLWNvbG9yLCosd2Via2l0LWJsb2NrLWVuZCwqLHdlYmtpdC1ibG9jay1l
bmQKK0Bmb250LWZhY2UgeyBmb250LWZhbWlseTogIk15SGVsdmV0aWNhIjsgfTogd2Via2l0LWNz
cy1hdC1ydWxlLCosd2Via2l0LWJsb2NrLXN0YXJ0LCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdl
YmtpdC1jc3Mtc3RyaW5nLCosd2Via2l0LWJsb2NrLWVuZAorcCB7IGNvbG9yOiBjb2xvcjsgcmVk
OiByZWQ7IGNvbG9yOiAjMDAwOyBjb2xvcjogI0ZGRjsgY29sb3I6ICMxMjNBYkM7IGNvbG9yOiAj
ZmFlYmZlOyBjb2xvcjpwYXBheWF3aGlwOyB9OiB3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0
LWJsb2NrLXN0YXJ0LCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3Mtc2VsZWN0b3Is
Kix3ZWJraXQtY3NzLWNvbG9yLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29s
b3IsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1jc3Mt
cHJvcGVydHksKix3ZWJraXQtY3NzLWNvbG9yLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtp
dC1jc3MtY29sb3IsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdl
YmtpdC1ibG9jay1lbmQKK3AgeyBtYXJnaW46IC0xMHB4ICFpbXBvcnRhbnQ7IH06IHdlYmtpdC1j
c3Mtc2VsZWN0b3IsKix3ZWJraXQtYmxvY2stc3RhcnQsKix3ZWJraXQtY3NzLXByb3BlcnR5LCos
d2Via2l0LWNzcy1udW1iZXIsKix3ZWJraXQtc2Nzcy1iYW5nLWtleXdvcmQsKix3ZWJraXQtYmxv
Y2stZW5kCiskbWFyZ2luLWxlZnQ6ICRvZmZzZXRCZWZvcmUgKyAxMnB4ICsgJG9mZnNldEFmdGVy
Ozogd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1j
c3MtbnVtYmVyLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKgorJHR5cGU6IG1vbnN0ZXI7CitwIHsK
K0BpZiAkdHlwZSA9PSBvY2VhbiB7Citjb2xvcjogYmx1ZTsKK30gQGVsc2UgaWYgJHR5cGUgPT0g
bWF0YWRvciB7Citjb2xvcjogcmVkOworfSBAZWxzZSBpZiAkdHlwZSA9PSBtb25zdGVyIHsKK2Nv
bG9yOiBncmVlbjsKK30gQGVsc2UgeworY29sb3I6IGJsYWNrOworfQorfTogd2Via2l0LXNjc3Mt
dmFyaWFibGUsKiwsd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1zdGFydCwsd2Vi
a2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtYmxvY2stc3Rh
cnQsLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWNvbG9yLCosLHdlYmtpdC1ibG9j
ay1lbmQsKix3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQt
c2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1ibG9jay1zdGFydCwsd2Via2l0LWNzcy1wcm9wZXJ0eSwq
LHdlYmtpdC1jc3MtY29sb3IsKiwsd2Via2l0LWJsb2NrLWVuZCwqLHdlYmtpdC1jc3MtYXQtcnVs
ZSwqLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWJs
b2NrLXN0YXJ0LCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLCx3ZWJr
aXQtYmxvY2stZW5kLCosd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWJsb2NrLXN0YXJ0LCx3
ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLCx3ZWJraXQtYmxvY2stZW5k
LCx3ZWJraXQtYmxvY2stZW5kCitAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMgeyAuaXRlbS0jeyRp
fSB7IHdpZHRoOiAyZW0gKiAkaTsgfSB9OiB3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtc2Nz
cy12YXJpYWJsZSwqLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosd2Vi
a2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1udW1iZXIsKix3ZWJraXQtYmxvY2stc3RhcnQs
Kix3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0LHdlYmtpdC1zY3NzLXZh
cmlhYmxlLHdlYmtpdC1ibG9jay1lbmQsKix3ZWJraXQtYmxvY2stc3RhcnQsKix3ZWJraXQtY3Nz
LXByb3BlcnR5LCosd2Via2l0LWNzcy1udW1iZXIsKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdl
YmtpdC1ibG9jay1lbmQsKix3ZWJraXQtYmxvY2stZW5kCitAbWl4aW4gYWRqdXN0LWxvY2F0aW9u
KCR4LCAkeSkgeworQGlmIHVuaXRsZXNzKCR4KSB7CitAd2FybiAiQXNzdW1pbmcgI3skeH0gdG8g
YmUgaW4gcGl4ZWxzIjsKKyR4OiAxcHggKiAkeDsKK30KK3Bvc2l0aW9uOiByZWxhdGl2ZTsgbGVm
dDogJHg7IHRvcDogJHk7Cit9OiB3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtc2Nzcy12YXJp
YWJsZSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWJsb2NrLXN0YXJ0LCx3ZWJraXQt
Y3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwq
LHdlYmtpdC1ibG9jay1zdGFydCwsd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1zdHJp
bmcsKiwsd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtY3NzLW51bWJlciwqLHdlYmtpdC1z
Y3NzLXZhcmlhYmxlLCosLHdlYmtpdC1ibG9jay1lbmQsLHdlYmtpdC1jc3MtcHJvcGVydHksKix3
ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LXNjc3MtdmFy
aWFibGUsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LXNjc3MtdmFyaWFibGUsKiwsd2Vi
a2l0LWJsb2NrLWVuZAorI25hdmJhciB7CiskbmF2YmFyLXdpZHRoOiA4MDBweDsKKyRpdGVtczog
NTsKKyRuYXZiYXItY29sb3I6ICNjZTRkZDY7Cit3aWR0aDogJG5hdmJhci13aWR0aDsKK2JvcmRl
ci1ib3R0b206IDJweCBzb2xpZCAkbmF2YmFyLWNvbG9yOworbGkgeworQGV4dGVuZCAubm90aWNl
ICFvcHRpb25hbDsKK2Zsb2F0OiBsZWZ0Oword2lkdGg6ICRuYXZiYXItd2lkdGgvJGl0ZW1zIC0g
MTBweDsKK2JhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJG5hdmJhci1jb2xvciwgMjAlKTsKKyY6
aG92ZXIgeworYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbmF2YmFyLWNvbG9yLCAxMCUpOwor
fQorfQorfTogd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1zdGFydCwsd2Via2l0
LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtY3NzLW51bWJlciwqLCx3ZWJraXQtc2Nzcy12YXJpYWJs
ZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWNz
cy1jb2xvciwqLCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LXNjc3MtdmFyaWFibGUsKiws
d2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosd2Via2l0LWNzcy1rZXl3
b3JkLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKiwsd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtp
dC1ibG9jay1zdGFydCwsd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1zZWxlY3Rvciwq
LHdlYmtpdC1zY3NzLWJhbmcta2V5d29yZCwqLCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0
LWNzcy1rZXl3b3JkLCosLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtc2Nzcy12YXJpYWJs
ZSx3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosLHdlYmtpdC1jc3Mt
cHJvcGVydHksKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdl
YmtpdC1jc3MtbnVtYmVyLCosLHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQtYmxvY2stc3Rh
cnQsLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtc2Nz
cy12YXJpYWJsZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosLHdlYmtpdC1ibG9jay1lbmQsLHdlYmtp
dC1ibG9jay1lbmQsLHdlYmtpdC1ibG9jay1lbmQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtc2Nzcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3N5bnRheC1oaWdobGlnaHQtc2Nzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwYmE2MWE4YzVkMzZl
NzI0NWI4MjE2OTllN2E5ZThmOTM2MzUyNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1zY3NzLmh0bWwKQEAgLTAsMCArMSw3OCBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic3ludGF4LWhpZ2hsaWdodC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBmdW5jdGlv
biBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUyhzdHIpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmR1bXBTeW50YXhIaWdobGlnaHQoc3RyLCAidGV4dC9zY3NzIik7CisgICAgfQorCisgICAg
ZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoImFbaHJlZj0nLyddIik7CisgICAgZHVtcFN5bnRheEhp
Z2hsaWdodFNDU1MoIiNjb250ZW50ID4gYTpob3ZlciIpOworICAgIGR1bXBTeW50YXhIaWdobGln
aHRTQ1NTKCJAaW1wb3J0IHVybChzdHlsZS5jc3MpOyIpOworICAgIGR1bXBTeW50YXhIaWdobGln
aHRTQ1NTKCJAaW1wb3J0IHVybChcInN0eWxlLmNzc1wiKSBwcm9qZWN0aW9uLCB0djsiKTsKKyAg
ICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygiQGltcG9ydCBcIi9jc3MvZmlyZWJhbGxfdW5pY29k
ZS5jc3NcIjsgaHRtbCB7fSIpOworICAgIGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKCJAbWVkaWEg
c2NyZWVuIHsgYm9keSB7IGNvbG9yOiByZWQ7IH0gfSIpOworICAgIGR1bXBTeW50YXhIaWdobGln
aHRTQ1NTKCJAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IFwiTXlIZWx2ZXRpY2FcIjsgfSIpOwor
ICAgIGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKCJwIHsgY29sb3I6IGNvbG9yOyByZWQ6IHJlZDsg
Y29sb3I6ICMwMDA7IGNvbG9yOiAjRkZGOyBjb2xvcjogIzEyM0FiQzsgY29sb3I6ICNmYWViZmU7
IGNvbG9yOnBhcGF5YXdoaXA7IH0iKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygicCB7
IG1hcmdpbjogLTEwcHggIWltcG9ydGFudDsgfSIpOworICAgIGR1bXBTeW50YXhIaWdobGlnaHRT
Q1NTKCIkbWFyZ2luLWxlZnQ6ICRvZmZzZXRCZWZvcmUgKyAxMnB4ICsgJG9mZnNldEFmdGVyOyIp
OworICAgIGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKCIkdHlwZTogbW9uc3RlcjtcbiIgKworICAg
ICAgICAicCB7XG4iICsKKyAgICAgICAgICAiQGlmICR0eXBlID09IG9jZWFuIHtcbiIgKworICAg
ICAgICAgICAgImNvbG9yOiBibHVlO1xuIiArCisgICAgICAgICAgIn0gQGVsc2UgaWYgJHR5cGUg
PT0gbWF0YWRvciB7XG4iICsKKyAgICAgICAgICAgICJjb2xvcjogcmVkO1xuIiArCisgICAgICAg
ICAgIn0gQGVsc2UgaWYgJHR5cGUgPT0gbW9uc3RlciB7XG4iICsKKyAgICAgICAgICAgICJjb2xv
cjogZ3JlZW47XG4iICsKKyAgICAgICAgICAifSBAZWxzZSB7XG4iICsKKyAgICAgICAgICAgICJj
b2xvcjogYmxhY2s7XG4iICsKKyAgICAgICAgICAifVxuIiArCisgICAgICAgICJ9Iik7CisgICAg
ZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoIkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7IC5pdGVt
LSN7JGl9IHsgd2lkdGg6IDJlbSAqICRpOyB9IH0iKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0
U0NTUygKKyAgICAgICAgIkBtaXhpbiBhZGp1c3QtbG9jYXRpb24oJHgsICR5KSB7XG4iICsKKyAg
ICAgICAgICAgICJAaWYgdW5pdGxlc3MoJHgpIHtcbiIgKworICAgICAgICAgICAgICAgICJAd2Fy
biBcIkFzc3VtaW5nICN7JHh9IHRvIGJlIGluIHBpeGVsc1wiO1xuIiArCisgICAgICAgICAgICAg
ICAgIiR4OiAxcHggKiAkeDtcbiIgKworICAgICAgICAgICAgIn1cbiIgKworICAgICAgICAgICAg
InBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogJHg7IHRvcDogJHk7XG4iICsKKyAgICAgICAgIn0i
KTsKKworICAgIGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKAorICAgICAgICAiI25hdmJhciB7XG4i
ICsKKyAgICAgICAgICAgICIkbmF2YmFyLXdpZHRoOiA4MDBweDtcbiIgKworICAgICAgICAgICAg
IiRpdGVtczogNTtcbiIgKworICAgICAgICAgICAgIiRuYXZiYXItY29sb3I6ICNjZTRkZDY7XG4i
ICsKKworICAgICAgICAgICAgIndpZHRoOiAkbmF2YmFyLXdpZHRoO1xuIiArCisgICAgICAgICAg
ICAiYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuYXZiYXItY29sb3I7XG4iICsKKworICAgICAg
ICAgICAgImxpIHtcbiIgKworICAgICAgICAgICAgICAgICJAZXh0ZW5kIC5ub3RpY2UgIW9wdGlv
bmFsO1xuIiArCisgICAgICAgICAgICAgICAgImZsb2F0OiBsZWZ0O1xuIiArCisgICAgICAgICAg
ICAgICAgIndpZHRoOiAkbmF2YmFyLXdpZHRoLyRpdGVtcyAtIDEwcHg7XG4iICsKKyAgICAgICAg
ICAgICAgICAiYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbmF2YmFyLWNvbG9yLCAyMCUpO1xu
IiArCisgICAgICAgICAgICAgICAgIiY6aG92ZXIge1xuIiArCisgICAgICAgICAgICAgICAgICAg
ICJiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRuYXZiYXItY29sb3IsIDEwJSk7XG4iICsKKyAg
ICAgICAgICAgICAgICAifVxuIiArCisgICAgICAgICAgICAifVxuIiArCisgICAgICAgICJ9Iik7
CisKKyAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUZXN0cyB0aGF0IFNDU1Mg
c3ludGF4IGhpZ2hsaWdodGVyIGRldGVjdHMgdGhlIHRva2Vucy4KKzwvcD4KKworPC9ib2R5Pgor
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161933</attachid>
            <date>2012-09-03 08:18:16 -0700</date>
            <delta_ts>2012-09-05 01:59:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95585-20120903191759.patch</filename>
            <type>text/plain</type>
            <size>134220</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE0MGQ1ZDNmYWM4Y2Rk
M2Y1MjA3ODMyZjYwOTk4YWQyOWIzNzZmNS4uMTIzOTdmNmNiYzA0NGYyMTc1OTk1ZDYxNzk1ODQ3
YWNhYjlkOTY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEyLTA5LTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogSW1wbGVtZW50IFNDU1Mgc291cmNlIGhpZ2hsaWdodGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1vZGlmaWVzIHRoZSBl
eGlzdGluZyBDU1MgaGlnaGxpZ2h0ZXIgdG8gc3VwcG9ydCBTQ1NTIGFzIHdlbGwuIFRoZSAidGV4
dC9jc3MiIG1pbWUtdHlwZSBpcyBhc3NpZ25lZCB0byBTQVNTU291cmNlLgorICAgICAgICBBIHNt
YWxsIHJlZmFjdG9yaW5nIGhhcyBiZWVuIHBlcmZvcm1lZCB0byBlbmFibGUgY29kZSBzaGFyaW5n
IGFtb25nIHRoZSBDU1MgYW5kIFNDU1MgaGlnaGxpZ2h0ZXJzLgorCisgICAgICAgIFRlc3Q6IGlu
c3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LXNjc3MuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1ND
b21wbGV0aW9ucy5jc3NQcm9wZXJ0aWVzTWV0YWluZm9LZXlTZXQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TdGF0aWNDb250ZW50UHJvdmlkZXIpOiBFbmFibGVkIGNsaWVudHMgdG8gc3VwcGx5IHRoZSBj
b250ZW50IG1pbWUtdHlwZS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJv
dmlkZXIucHJvdG90eXBlLm1pbWVUeXBlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdGF0aWND
b250ZW50UHJvdmlkZXIucHJvdG90eXBlLnJlcXVlc3RDb250ZW50KTogVXNlIGNsaWVudC1zdXBw
bGllZCBjb250ZW50IG1pbWUtdHlwZSwgaWYgYW55LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU0FTU1Nv
dXJjZSk6IENvbnN0cnVjdCBTdGF0aWNDb250ZW50UHJvdmlkZXIgd2l0aCB0aGUgInRleHQvc2Nz
cyIgbWltZS10eXBlLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9r
ZW5pemVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplcik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlwZS5uZXh0VG9r
ZW4pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJl
MmpzOiBFeHRlbmRlZCB3aXRoIHRoZSBTQ1NTIHN5bnRheC4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1N0eWxlU291cmNlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlU291
cmNlKTogUGFzcyBwcm92aWRlZCBzb3VyY2VNYXBwaW5nIHRvIHRoZSAic3VwZXIiIFVJU291cmNl
Q29kZSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1VJ
U291cmNlQ29kZVByb3ZpZGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlc1VJU291
cmNlQ29kZVByb3ZpZGVyLnByb3RvdHlwZS5fcmVzb3VyY2VBZGRlZCk6CisKKzIwMTItMDktMDMg
IEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KKwogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBVbmhpZGUgaGlkZGVuIGNoYXJhY3RlcnMKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzODg4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTQ29tcGxldGlvbnMuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzCmluZGV4IDg0ZDdjYWUw
YmFiZDQzNjBlNzUyODExZDY4N2ZlMGY2MmM1MWMzZTYuLjllMzc5ODUzNTc5YTIwNjM3NWI4Yjg1
NmNhOGRmOGE3NWU1OTk1NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ1NTQ29tcGxldGlvbnMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qcwpAQCAtODMsNiArODMsMTMgQEAgV2ViSW5zcGVj
dG9yLkNTU0NvbXBsZXRpb25zLnJlcXVlc3RDU1NOYW1lQ29tcGxldGlvbnMgPSBmdW5jdGlvbigp
CiAgICAgQ1NTQWdlbnQuZ2V0U3VwcG9ydGVkQ1NTUHJvcGVydGllcyhwcm9wZXJ0eU5hbWVzQ2Fs
bGJhY2spOwogfQogCitXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuY3NzUHJvcGVydGllc01l
dGFpbmZvS2V5U2V0ID0gZnVuY3Rpb24oKQoreworICAgIGlmICghV2ViSW5zcGVjdG9yLkNTU0Nv
bXBsZXRpb25zLl9jc3NQcm9wZXJ0aWVzTWV0YWluZm9LZXlTZXQpCisgICAgICAgIFdlYkluc3Bl
Y3Rvci5DU1NDb21wbGV0aW9ucy5fY3NzUHJvcGVydGllc01ldGFpbmZvS2V5U2V0ID0gV2ViSW5z
cGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc1Byb3BlcnRpZXNNZXRhaW5mby5rZXlTZXQoKTsKKyAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLl9jc3NQcm9wZXJ0aWVzTWV0YWlu
Zm9LZXlTZXQ7Cit9CisKIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5wcm90b3R5cGUgPSB7
CiAgICAgc3RhcnRzV2l0aDogZnVuY3Rpb24ocHJlZml4KQogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qcwppbmRl
eCBlMWMzOTk2ZjMxZTFjZGEzZGY1NmFjOGM4YTJjMGI2ZTVlY2I1OTg1Li5lMWQzOTIzOWY0MWFj
YjEwMDY4N2I3ZGVkMmZhMzA4MGY1MDA2ODM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRlcnMuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZW50UHJvdmlkZXJzLmpzCkBAIC0yNDEsMTIgKzI0
MSwxNCBAQCBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nQ29udGVudFByb3ZpZGVy
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZQogICogQGNvbnN0cnVjdG9yCiAgKiBAaW1w
bGVtZW50cyB7V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlcn0KICAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLlJlc291cmNlVHlwZX0gY29udGVudFR5cGUgCi0gKiBAcGFyYW0ge3N0cmluZ30gY29u
dGVudCAKKyAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50CisgKiBAcGFyYW0ge3N0cmluZz19IG1p
bWVUeXBlCiAgKi8KLVdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIgPSBmdW5jdGlv
bihjb250ZW50VHlwZSwgY29udGVudCkKK1dlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlk
ZXIgPSBmdW5jdGlvbihjb250ZW50VHlwZSwgY29udGVudCwgbWltZVR5cGUpCiB7CiAgICAgdGhp
cy5fY29udGVudCA9IGNvbnRlbnQ7CiAgICAgdGhpcy5fY29udGVudFR5cGUgPSBjb250ZW50VHlw
ZTsKKyAgICB0aGlzLl9taW1lVHlwZSA9IG1pbWVUeXBlOwogfQogCiBXZWJJbnNwZWN0b3IuU3Rh
dGljQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZSA9IHsKQEAgLTI2NywxMSArMjY5LDE5IEBAIFdl
Ykluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIucHJvdG90eXBlID0gewogICAgIH0sCiAK
ICAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICovCisgICAgbWltZVR5cGU6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9taW1lVHlwZSB8fCB0aGlz
Ll9jb250ZW50VHlwZS5jYW5vbmljYWxNaW1lVHlwZSgpOworICAgIH0sCisKKyAgICAvKioKICAg
ICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9zdHJpbmcsYm9vbGVhbixzdHJpbmcpfSBjYWxsYmFjawog
ICAgICAqLwogICAgIHJlcXVlc3RDb250ZW50OiBmdW5jdGlvbihjYWxsYmFjaykKICAgICB7Ci0g
ICAgICAgIGNhbGxiYWNrKHRoaXMuX2NvbnRlbnQsIGZhbHNlLCB0aGlzLl9jb250ZW50VHlwZS5j
YW5vbmljYWxNaW1lVHlwZSgpKTsKKyAgICAgICAgY2FsbGJhY2sodGhpcy5fY29udGVudCwgZmFs
c2UsIHRoaXMubWltZVR5cGUoKSk7CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKaW5k
ZXggYjhhNDk3MTg0OTNiNTQ2NGMwMzQ1MDM3MzlmZDUxY2ZiZDVlMTM3ZS4uMDg4NDRhYmQ5Nzkw
ZjcxOTgzYzdhYjE2YWMyYmU3MWM1ZTg3NzMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5nLmpzCkBAIC0xNjYsNyAr
MTY2LDcgQEAgV2ViSW5zcGVjdG9yLlNBU1NTb3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKIFdl
Ykluc3BlY3Rvci5TQVNTU291cmNlID0gZnVuY3Rpb24oc2Fzc1VSTCkKIHsKICAgICB2YXIgY29u
dGVudCA9IEluc3BlY3RvckZyb250ZW5kSG9zdC5sb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHNh
c3NVUkwpOwotICAgIHZhciBjb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXRp
Y0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TdHlsZXNoZWV0LCBj
b250ZW50KTsKKyAgICB2YXIgY29udGVudFByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0
aWNDb250ZW50UHJvdmlkZXIoV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU3R5bGVzaGVldCwg
Y29udGVudCwgInRleHQvY3NzIik7CiAgICAgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5jYWxs
KHRoaXMsIHNhc3NVUkwsIG51bGwsIGNvbnRlbnRQcm92aWRlcik7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIu
anMKaW5kZXggOGQ1YjhkZTgyNDBkNTM3YmU4N2E0Yjk2ZjFmOGY2MGUzMWMwOWNjYy4uZjE0MDJi
ZjI3NGUzOWUxODM0ODNjZmNiYWYxMjBiMzBiYmJlOGY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMKQEAg
LTEsNCArMSw0IEBACi0vKiBHZW5lcmF0ZWQgYnkgcmUyYyAwLjEzLjUgb24gTW9uIEp1bCAgOSAx
OTozMTozMCAyMDEyICovCisvKiBHZW5lcmF0ZWQgYnkgcmUyYyAwLjEzLjUgb24gTW9uIFNlcCAg
MyAxOToxNToxOSAyMDEyICovCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtNTIsNjEgKzUyLDkgQEAgV2ViSW5zcGVjdG9y
LlNvdXJjZUNTU1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU291
cmNlVG9rZW5pemVyLmNhbGwodGhpcyk7CiAKLSAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0g
V2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc1Byb3BlcnRpZXNNZXRhaW5mby5rZXlTZXQo
KTsKKyAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRp
b25zLmNzc1Byb3BlcnRpZXNNZXRhaW5mb0tleVNldCgpOwogICAgIHRoaXMuX2NvbG9yS2V5d29y
ZHMgPSBXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmNvbG9ycygpOwogCi0gICAg
dGhpcy5fdmFsdWVLZXl3b3JkcyA9IFsKLSAgICAgICAgImFib3ZlIiwgImFic29sdXRlIiwgImFj
dGl2ZWJvcmRlciIsICJhY3RpdmVjYXB0aW9uIiwgImFmYXIiLCAiYWZ0ZXItd2hpdGUtc3BhY2Ui
LCAiYWhlYWQiLCAiYWxpYXMiLCAiYWxsIiwgImFsbC1zY3JvbGwiLAotICAgICAgICAiYWx0ZXJu
YXRlIiwgImFsd2F5cyIsICJhbWhhcmljIiwgImFtaGFyaWMtYWJlZ2VkZSIsICJhbnRpYWxpYXNl
ZCIsICJhcHB3b3Jrc3BhY2UiLCAiYXJhYmljLWluZGljIiwgImFybWVuaWFuIiwgImFzdGVyaXNr
cyIsCi0gICAgICAgICJhdXRvIiwgImF2b2lkIiwgImJhY2tncm91bmQiLCAiYmFja3dhcmRzIiwg
ImJhc2VsaW5lIiwgImJlbG93IiwgImJpZGktb3ZlcnJpZGUiLCAiYmluYXJ5IiwgImJlbmdhbGki
LCAiYmxpbmsiLAotICAgICAgICAiYmxvY2siLCAiYmxvY2stYXhpcyIsICJib2xkIiwgImJvbGRl
ciIsICJib3JkZXIiLCAiYm9yZGVyLWJveCIsICJib3RoIiwgImJvdHRvbSIsICJicmVhay1hbGwi
LCAiYnJlYWstd29yZCIsICJidXR0b24iLAotICAgICAgICAiYnV0dG9uLWJldmVsIiwgImJ1dHRv
bmZhY2UiLCAiYnV0dG9uaGlnaGxpZ2h0IiwgImJ1dHRvbnNoYWRvdyIsICJidXR0b250ZXh0Iiwg
ImNhbWJvZGlhbiIsICJjYXBpdGFsaXplIiwgImNhcHMtbG9jay1pbmRpY2F0b3IiLAotICAgICAg
ICAiY2FwdGlvbiIsICJjYXB0aW9udGV4dCIsICJjYXJldCIsICJjZWxsIiwgImNlbnRlciIsICJj
aGVja2JveCIsICJjaXJjbGUiLCAiY2prLWVhcnRobHktYnJhbmNoIiwgImNqay1oZWF2ZW5seS1z
dGVtIiwgImNqay1pZGVvZ3JhcGhpYyIsCi0gICAgICAgICJjbGVhciIsICJjbGlwIiwgImNsb3Nl
LXF1b3RlIiwgImNvbC1yZXNpemUiLCAiY29sbGFwc2UiLCAiY29tcGFjdCIsICJjb25kZW5zZWQi
LCAiY29udGFpbiIsICJjb250ZW50IiwgImNvbnRlbnQtYm94IiwgImNvbnRleHQtbWVudSIsCi0g
ICAgICAgICJjb250aW51b3VzIiwgImNvcHkiLCAiY292ZXIiLCAiY3JvcCIsICJjcm9zcyIsICJj
cm9zc2hhaXIiLCAiY3VycmVudGNvbG9yIiwgImN1cnNpdmUiLCAiZGFzaGVkIiwgImRlY2ltYWwi
LCAiZGVjaW1hbC1sZWFkaW5nLXplcm8iLCAiZGVmYXVsdCIsCi0gICAgICAgICJkZWZhdWx0LWJ1
dHRvbiIsICJkZXN0aW5hdGlvbi1hdG9wIiwgImRlc3RpbmF0aW9uLWluIiwgImRlc3RpbmF0aW9u
LW91dCIsICJkZXN0aW5hdGlvbi1vdmVyIiwgImRldmFuYWdhcmkiLCAiZGlzYyIsICJkaXNjYXJk
IiwgImRvY3VtZW50IiwKLSAgICAgICAgImRvdC1kYXNoIiwgImRvdC1kb3QtZGFzaCIsICJkb3R0
ZWQiLCAiZG91YmxlIiwgImRvd24iLCAiZS1yZXNpemUiLCAiZWFzZSIsICJlYXNlLWluIiwgImVh
c2UtaW4tb3V0IiwgImVhc2Utb3V0IiwgImVsZW1lbnQiLAotICAgICAgICAiZWxsaXBzaXMiLCAi
ZW1iZWQiLCAiZW5kIiwgImV0aGlvcGljIiwgImV0aGlvcGljLWFiZWdlZGUiLCAiZXRoaW9waWMt
YWJlZ2VkZS1hbS1ldCIsICJldGhpb3BpYy1hYmVnZWRlLWdleiIsCi0gICAgICAgICJldGhpb3Bp
Yy1hYmVnZWRlLXRpLWVyIiwgImV0aGlvcGljLWFiZWdlZGUtdGktZXQiLCAiZXRoaW9waWMtaGFs
ZWhhbWUtYWEtZXIiLCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiLAotICAgICAgICAiZXRoaW9w
aWMtaGFsZWhhbWUtYW0tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtZ2V6IiwgImV0aGlvcGljLWhh
bGVoYW1lLW9tLWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCIsCi0gICAgICAgICJldGhp
b3BpYy1oYWxlaGFtZS1zby1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aS1lciIsICJldGhpb3Bp
Yy1oYWxlaGFtZS10aS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aWciLCAiZXctcmVzaXplIiwg
ImV4cGFuZGVkIiwKLSAgICAgICAgImV4dHJhLWNvbmRlbnNlZCIsICJleHRyYS1leHBhbmRlZCIs
ICJmYW50YXN5IiwgImZhc3QiLCAiZmlsbCIsICJmaXhlZCIsICJmbGF0IiwgImZvb3Rub3RlcyIs
ICJmb3J3YXJkcyIsICJmcm9tIiwgImdlb21ldHJpY1ByZWNpc2lvbiIsCi0gICAgICAgICJnZW9y
Z2lhbiIsICJncmF5dGV4dCIsICJncm9vdmUiLCAiZ3VqYXJhdGkiLCAiZ3VybXVraGkiLCAiaGFu
ZCIsICJoYW5ndWwiLCAiaGFuZ3VsLWNvbnNvbmFudCIsICJoZWJyZXciLCAiaGVscCIsCi0gICAg
ICAgICJoaWRkZW4iLCAiaGlkZSIsICJoaWdoZXIiLCAiaGlnaGxpZ2h0IiwgImhpZ2hsaWdodHRl
eHQiLCAiaGlyYWdhbmEiLCAiaGlyYWdhbmEtaXJvaGEiLCAiaG9yaXpvbnRhbCIsICJoc2wiLCAi
aHNsYSIsICJpY29uIiwgImlnbm9yZSIsCi0gICAgICAgICJpbmFjdGl2ZWJvcmRlciIsICJpbmFj
dGl2ZWNhcHRpb24iLCAiaW5hY3RpdmVjYXB0aW9udGV4dCIsICJpbmZpbml0ZSIsICJpbmZvYmFj
a2dyb3VuZCIsICJpbmZvdGV4dCIsICJpbmhlcml0IiwgImluaXRpYWwiLCAiaW5saW5lIiwKLSAg
ICAgICAgImlubGluZS1heGlzIiwgImlubGluZS1ibG9jayIsICJpbmxpbmUtdGFibGUiLCAiaW5z
ZXQiLCAiaW5zaWRlIiwgImludHJpbnNpYyIsICJpbnZlcnQiLCAiaXRhbGljIiwgImp1c3RpZnki
LCAia2FubmFkYSIsICJrYXRha2FuYSIsCi0gICAgICAgICJrYXRha2FuYS1pcm9oYSIsICJraG1l
ciIsICJsYW5kc2NhcGUiLCAibGFvIiwgImxhcmdlIiwgImxhcmdlciIsICJsZWZ0IiwgImxldmVs
IiwgImxpZ2h0ZXIiLCAibGluZS10aHJvdWdoIiwgImxpbmVhciIsICJsaW5lcyIsCi0gICAgICAg
ICJsaXN0LWl0ZW0iLCAibGlzdGJveCIsICJsaXN0aXRlbSIsICJsb2NhbCIsICJsb2dpY2FsIiwg
ImxvdWQiLCAibG93ZXIiLCAibG93ZXItYWxwaGEiLCAibG93ZXItYXJtZW5pYW4iLCAibG93ZXIt
Z3JlZWsiLAotICAgICAgICAibG93ZXItaGV4YWRlY2ltYWwiLCAibG93ZXItbGF0aW4iLCAibG93
ZXItbm9yd2VnaWFuIiwgImxvd2VyLXJvbWFuIiwgImxvd2VyY2FzZSIsICJsdHIiLCAibWFsYXlh
bGFtIiwgIm1hdGNoIiwgIm1lZGlhLWNvbnRyb2xzLWJhY2tncm91bmQiLAotICAgICAgICAibWVk
aWEtY3VycmVudC10aW1lLWRpc3BsYXkiLCAibWVkaWEtZnVsbHNjcmVlbi1idXR0b24iLCAibWVk
aWEtbXV0ZS1idXR0b24iLCAibWVkaWEtcGxheS1idXR0b24iLCAibWVkaWEtcmV0dXJuLXRvLXJl
YWx0aW1lLWJ1dHRvbiIsCi0gICAgICAgICJtZWRpYS1yZXdpbmQtYnV0dG9uIiwgIm1lZGlhLXNl
ZWstYmFjay1idXR0b24iLCAibWVkaWEtc2Vlay1mb3J3YXJkLWJ1dHRvbiIsICJtZWRpYS1zbGlk
ZXIiLCAibWVkaWEtc2xpZGVydGh1bWIiLCAibWVkaWEtdGltZS1yZW1haW5pbmctZGlzcGxheSIs
Ci0gICAgICAgICJtZWRpYS12b2x1bWUtc2xpZGVyIiwgIm1lZGlhLXZvbHVtZS1zbGlkZXItY29u
dGFpbmVyIiwgIm1lZGlhLXZvbHVtZS1zbGlkZXJ0aHVtYiIsICJtZWRpdW0iLCAibWVudSIsICJt
ZW51bGlzdCIsICJtZW51bGlzdC1idXR0b24iLAotICAgICAgICAibWVudWxpc3QtdGV4dCIsICJt
ZW51bGlzdC10ZXh0ZmllbGQiLCAibWVudXRleHQiLCAibWVzc2FnZS1ib3giLCAibWlkZGxlIiwg
Im1pbi1pbnRyaW5zaWMiLCAibWl4IiwgIm1vbmdvbGlhbiIsICJtb25vc3BhY2UiLCAibW92ZSIs
ICJtdWx0aXBsZSIsCi0gICAgICAgICJteWFubWFyIiwgIm4tcmVzaXplIiwgIm5hcnJvd2VyIiwg
Im5hdnkiLCAibmUtcmVzaXplIiwgIm5lc3ctcmVzaXplIiwgIm5vLWNsb3NlLXF1b3RlIiwgIm5v
LWRyb3AiLCAibm8tb3Blbi1xdW90ZSIsICJuby1yZXBlYXQiLCAibm9uZSIsCi0gICAgICAgICJu
b3JtYWwiLCAibm90LWFsbG93ZWQiLCAibm93cmFwIiwgIm5zLXJlc2l6ZSIsICJudy1yZXNpemUi
LCAibndzZS1yZXNpemUiLCAib2JsaXF1ZSIsICJvY3RhbCIsICJvcGVuLXF1b3RlIiwgIm9wdGlt
aXplTGVnaWJpbGl0eSIsCi0gICAgICAgICJvcHRpbWl6ZVNwZWVkIiwgIm9yaXlhIiwgIm9yb21v
IiwgIm91dHNldCIsICJvdXRzaWRlIiwgIm92ZXJsYXkiLCAib3ZlcmxpbmUiLCAicGFkZGluZyIs
ICJwYWRkaW5nLWJveCIsICJwYWludGVkIiwgInBhdXNlZCIsCi0gICAgICAgICJwZXJzaWFuIiwg
InBsdXMtZGFya2VyIiwgInBsdXMtbGlnaHRlciIsICJwb2ludGVyIiwgInBvcnRyYWl0IiwgInBy
ZSIsICJwcmUtbGluZSIsICJwcmUtd3JhcCIsICJwcmVzZXJ2ZS0zZCIsICJwcm9ncmVzcyIsCi0g
ICAgICAgICJwdXNoLWJ1dHRvbiIsICJyYWRpbyIsICJyZWFkLW9ubHkiLCAicmVhZC13cml0ZSIs
ICJyZWFkLXdyaXRlLXBsYWludGV4dC1vbmx5IiwgInJlbGF0aXZlIiwgInJlcGVhdCIsICJyZXBl
YXQteCIsCi0gICAgICAgICJyZXBlYXQteSIsICJyZXNldCIsICJyZXZlcnNlIiwgInJnYiIsICJy
Z2JhIiwgInJpZGdlIiwgInJpZ2h0IiwgInJvdW5kIiwgInJvdy1yZXNpemUiLCAicnRsIiwgInJ1
bi1pbiIsICJydW5uaW5nIiwgInMtcmVzaXplIiwgInNhbnMtc2VyaWYiLAotICAgICAgICAic2Ny
b2xsIiwgInNjcm9sbGJhciIsICJzZS1yZXNpemUiLCAic2VhcmNoZmllbGQiLCAic2VhcmNoZmll
bGQtY2FuY2VsLWJ1dHRvbiIsICJzZWFyY2hmaWVsZC1kZWNvcmF0aW9uIiwgInNlYXJjaGZpZWxk
LXJlc3VsdHMtYnV0dG9uIiwKLSAgICAgICAgInNlYXJjaGZpZWxkLXJlc3VsdHMtZGVjb3JhdGlv
biIsICJzZW1pLWNvbmRlbnNlZCIsICJzZW1pLWV4cGFuZGVkIiwgInNlcGFyYXRlIiwgInNlcmlm
IiwgInNob3ciLCAic2lkYW1hIiwgInNpbmdsZSIsCi0gICAgICAgICJza2lwLXdoaXRlLXNwYWNl
IiwgInNsaWRlIiwgInNsaWRlci1ob3Jpem9udGFsIiwgInNsaWRlci12ZXJ0aWNhbCIsICJzbGlk
ZXJ0aHVtYi1ob3Jpem9udGFsIiwgInNsaWRlcnRodW1iLXZlcnRpY2FsIiwgInNsb3ciLAotICAg
ICAgICAic21hbGwiLCAic21hbGwtY2FwcyIsICJzbWFsbC1jYXB0aW9uIiwgInNtYWxsZXIiLCAi
c29saWQiLCAic29tYWxpIiwgInNvdXJjZS1hdG9wIiwgInNvdXJjZS1pbiIsICJzb3VyY2Utb3V0
IiwgInNvdXJjZS1vdmVyIiwKLSAgICAgICAgInNwYWNlIiwgInNxdWFyZSIsICJzcXVhcmUtYnV0
dG9uIiwgInN0YXJ0IiwgInN0YXRpYyIsICJzdGF0dXMtYmFyIiwgInN0cmV0Y2giLCAic3Ryb2tl
IiwgInN1YiIsICJzdWJwaXhlbC1hbnRpYWxpYXNlZCIsICJzdXBlciIsCi0gICAgICAgICJzdy1y
ZXNpemUiLCAidGFibGUiLCAidGFibGUtY2FwdGlvbiIsICJ0YWJsZS1jZWxsIiwgInRhYmxlLWNv
bHVtbiIsICJ0YWJsZS1jb2x1bW4tZ3JvdXAiLCAidGFibGUtZm9vdGVyLWdyb3VwIiwgInRhYmxl
LWhlYWRlci1ncm91cCIsCi0gICAgICAgICJ0YWJsZS1yb3ciLCAidGFibGUtcm93LWdyb3VwIiwg
InRlbHVndSIsICJ0ZXh0IiwgInRleHQtYm90dG9tIiwgInRleHQtdG9wIiwgInRleHRhcmVhIiwg
InRleHRmaWVsZCIsICJ0aGFpIiwgInRoaWNrIiwgInRoaW4iLAotICAgICAgICAidGhyZWVkZGFy
a3NoYWRvdyIsICJ0aHJlZWRmYWNlIiwgInRocmVlZGhpZ2hsaWdodCIsICJ0aHJlZWRsaWdodHNo
YWRvdyIsICJ0aHJlZWRzaGFkb3ciLCAidGliZXRhbiIsICJ0aWdyZSIsICJ0aWdyaW55YS1lciIs
ICJ0aWdyaW55YS1lci1hYmVnZWRlIiwKLSAgICAgICAgInRpZ3JpbnlhLWV0IiwgInRpZ3Jpbnlh
LWV0LWFiZWdlZGUiLCAidG8iLCAidG9wIiwgInRyYW5zcGFyZW50IiwgInVsdHJhLWNvbmRlbnNl
ZCIsICJ1bHRyYS1leHBhbmRlZCIsICJ1bmRlcmxpbmUiLCAidXAiLCAidXBwZXItYWxwaGEiLCAi
dXBwZXItYXJtZW5pYW4iLAotICAgICAgICAidXBwZXItZ3JlZWsiLCAidXBwZXItaGV4YWRlY2lt
YWwiLCAidXBwZXItbGF0aW4iLCAidXBwZXItbm9yd2VnaWFuIiwgInVwcGVyLXJvbWFuIiwgInVw
cGVyY2FzZSIsICJ1cmR1IiwgInVybCIsICJ2ZXJ0aWNhbCIsICJ2ZXJ0aWNhbC10ZXh0IiwgInZp
c2libGUiLAotICAgICAgICAidmlzaWJsZUZpbGwiLCAidmlzaWJsZVBhaW50ZWQiLCAidmlzaWJs
ZVN0cm9rZSIsICJ2aXN1YWwiLCAidy1yZXNpemUiLCAid2FpdCIsICJ3YXZlIiwgIndoaXRlIiwg
IndpZGVyIiwgIndpbmRvdyIsICJ3aW5kb3dmcmFtZSIsICJ3aW5kb3d0ZXh0IiwKLSAgICAgICAg
IngtbGFyZ2UiLCAieC1zbWFsbCIsICJ4b3IiLCAieHgtbGFyZ2UiLCAieHgtc21hbGwiLCAieWVs
bG93IiwgIi13YXAtbWFycXVlZSIsICItd2Via2l0LWFjdGl2ZWxpbmsiLCAiLXdlYmtpdC1hdXRv
IiwgIi13ZWJraXQtYmFzZWxpbmUtbWlkZGxlIiwKLSAgICAgICAgIi13ZWJraXQtYm9keSIsICIt
d2Via2l0LWJveCIsICItd2Via2l0LWNlbnRlciIsICItd2Via2l0LWNvbnRyb2wiLCAiLXdlYmtp
dC1mb2N1cy1yaW5nLWNvbG9yIiwgIi13ZWJraXQtZ3JhYiIsICItd2Via2l0LWdyYWJiaW5nIiwK
LSAgICAgICAgIi13ZWJraXQtZ3JhZGllbnQiLCAiLXdlYmtpdC1pbmxpbmUtYm94IiwgIi13ZWJr
aXQtbGVmdCIsICItd2Via2l0LWxpbmsiLCAiLXdlYmtpdC1tYXJxdWVlIiwgIi13ZWJraXQtbWlu
aS1jb250cm9sIiwgIi13ZWJraXQtbm93cmFwIiwgIi13ZWJraXQtcGljdG9ncmFwaCIsCi0gICAg
ICAgICItd2Via2l0LXJpZ2h0IiwgIi13ZWJraXQtc21hbGwtY29udHJvbCIsICItd2Via2l0LXRl
eHQiLCAiLXdlYmtpdC14eHgtbGFyZ2UiLCAiLXdlYmtpdC16b29tLWluIiwgIi13ZWJraXQtem9v
bS1vdXQiLAotICAgIF0ua2V5U2V0KCk7Ci0KLSAgICB0aGlzLl9tZWRpYVR5cGVzID0gWyJhbGwi
LCAiYXVyYWwiLCAiYnJhaWxsZSIsICJlbWJvc3NlZCIsICJoYW5kaGVsZCIsICJpbXBvcnQiLCAi
cHJpbnQiLCAicHJvamVjdGlvbiIsICJzY3JlZW4iLCAidHR5IiwgInR2Il0ua2V5U2V0KCk7Ci0K
ICAgICB0aGlzLl9sZXhDb25kaXRpb25zID0gewogICAgICAgICBJTklUSUFMOiAwLAogICAgICAg
ICBDT01NRU5UOiAxLApAQCAtMTMwLDYgKzc4LDY5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NU
b2tlbml6ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5jb25kaXRpb24gPSB0aGlzLmNyZWF0ZUlu
aXRpYWxDb25kaXRpb24oKTsKIH0KIAorV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5B
dFJlbGF0ZWRLZXl3b3JkcyA9IFsKKyAgICJmcm9tIiwgImlmIiwgImluIiwgInRocm91Z2giCitd
LmtleVNldCgpOworCitXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLk1lZGlhVHlwZXMg
PSBbImFsbCIsICJhdXJhbCIsICJicmFpbGxlIiwgImVtYm9zc2VkIiwgImhhbmRoZWxkIiwgImlt
cG9ydCIsICJwcmludCIsICJwcm9qZWN0aW9uIiwgInNjcmVlbiIsICJ0dHkiLCAidHYiXS5rZXlT
ZXQoKTsKKworV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5TQ1NTVmFsdWVLZXl3b3Jk
cyA9IFsKKyAgICAiYWJzIiwgImFkanVzdC1jb2xvciIsICJhZGp1c3QtaHVlIiwgImFscGhhIiwg
ImFwcGVuZCIsICJjZWlsIiwgImNoYW5nZS1jb2xvciIsICJjb21wYXJhYmxlIiwgImNvbXBsZW1l
bnQiLCAiZGFya2VuIiwgImRlc2F0dXJhdGUiLAorICAgICJmYWRlLWluIiwgImZhZGUtb3V0Iiwg
ImZsb29yIiwgImdyYXlzY2FsZSIsICJodWUiLCAiaWUtaGV4LXN0ciIsICJpbnZlcnQiLCAiam9p
biIsICJsZW5ndGgiLCAibGlnaHRlbiIsCisgICAgImxpZ2h0bmVzcyIsICJtYXgiLCAibWluIiwg
Im1peCIsICJudGgiLCAib3BhY2lmeSIsICJvcGFjaXR5IiwgInBlcmNlbnRhZ2UiLCAicXVvdGUi
LCAicm91bmQiLCAic2F0dXJhdGUiLAorICAgICJzYXR1cmF0aW9uIiwgInNjYWxlLWNvbG9yIiwg
InRyYW5zcGFyZW50aXplIiwgInR5cGUtb2YiLCAidW5pdCIsICJ1bml0bGVzcyIsICJ1bnF1b3Rl
IiwgInppcCIKK10ua2V5U2V0KCk7CisKK1dlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIu
VmFsdWVLZXl3b3JkcyA9IFsKKyAgICAiYWJvdmUiLCAiYWJzb2x1dGUiLCAiYWN0aXZlYm9yZGVy
IiwgImFjdGl2ZWNhcHRpb24iLCAiYWZhciIsICJhZnRlci13aGl0ZS1zcGFjZSIsICJhaGVhZCIs
ICJhbGlhcyIsICJhbGwiLCAiYWxsLXNjcm9sbCIsCisgICAgImFsdGVybmF0ZSIsICJhbHdheXMi
LCAiYW1oYXJpYyIsICJhbWhhcmljLWFiZWdlZGUiLCAiYW50aWFsaWFzZWQiLCAiYXBwd29ya3Nw
YWNlIiwgImFyYWJpYy1pbmRpYyIsICJhcm1lbmlhbiIsICJhc3Rlcmlza3MiLAorICAgICJhdXRv
IiwgImF2b2lkIiwgImJhY2tncm91bmQiLCAiYmFja3dhcmRzIiwgImJhc2VsaW5lIiwgImJlbG93
IiwgImJpZGktb3ZlcnJpZGUiLCAiYmluYXJ5IiwgImJlbmdhbGkiLCAiYmxpbmsiLAorICAgICJi
bG9jayIsICJibG9jay1heGlzIiwgImJvbGQiLCAiYm9sZGVyIiwgImJvcmRlciIsICJib3JkZXIt
Ym94IiwgImJvdGgiLCAiYm90dG9tIiwgImJyZWFrLWFsbCIsICJicmVhay13b3JkIiwgImJ1dHRv
biIsCisgICAgImJ1dHRvbi1iZXZlbCIsICJidXR0b25mYWNlIiwgImJ1dHRvbmhpZ2hsaWdodCIs
ICJidXR0b25zaGFkb3ciLCAiYnV0dG9udGV4dCIsICJjYW1ib2RpYW4iLCAiY2FwaXRhbGl6ZSIs
ICJjYXBzLWxvY2staW5kaWNhdG9yIiwKKyAgICAiY2FwdGlvbiIsICJjYXB0aW9udGV4dCIsICJj
YXJldCIsICJjZWxsIiwgImNlbnRlciIsICJjaGVja2JveCIsICJjaXJjbGUiLCAiY2prLWVhcnRo
bHktYnJhbmNoIiwgImNqay1oZWF2ZW5seS1zdGVtIiwgImNqay1pZGVvZ3JhcGhpYyIsCisgICAg
ImNsZWFyIiwgImNsaXAiLCAiY2xvc2UtcXVvdGUiLCAiY29sLXJlc2l6ZSIsICJjb2xsYXBzZSIs
ICJjb21wYWN0IiwgImNvbmRlbnNlZCIsICJjb250YWluIiwgImNvbnRlbnQiLCAiY29udGVudC1i
b3giLCAiY29udGV4dC1tZW51IiwKKyAgICAiY29udGludW91cyIsICJjb3B5IiwgImNvdmVyIiwg
ImNyb3AiLCAiY3Jvc3MiLCAiY3Jvc3NoYWlyIiwgImN1cnJlbnRjb2xvciIsICJjdXJzaXZlIiwg
ImRhc2hlZCIsICJkZWNpbWFsIiwgImRlY2ltYWwtbGVhZGluZy16ZXJvIiwgImRlZmF1bHQiLAor
ICAgICJkZWZhdWx0LWJ1dHRvbiIsICJkZXN0aW5hdGlvbi1hdG9wIiwgImRlc3RpbmF0aW9uLWlu
IiwgImRlc3RpbmF0aW9uLW91dCIsICJkZXN0aW5hdGlvbi1vdmVyIiwgImRldmFuYWdhcmkiLCAi
ZGlzYyIsICJkaXNjYXJkIiwgImRvY3VtZW50IiwKKyAgICAiZG90LWRhc2giLCAiZG90LWRvdC1k
YXNoIiwgImRvdHRlZCIsICJkb3VibGUiLCAiZG93biIsICJlLXJlc2l6ZSIsICJlYXNlIiwgImVh
c2UtaW4iLCAiZWFzZS1pbi1vdXQiLCAiZWFzZS1vdXQiLCAiZWxlbWVudCIsCisgICAgImVsbGlw
c2lzIiwgImVtYmVkIiwgImVuZCIsICJldGhpb3BpYyIsICJldGhpb3BpYy1hYmVnZWRlIiwgImV0
aGlvcGljLWFiZWdlZGUtYW0tZXQiLCAiZXRoaW9waWMtYWJlZ2VkZS1nZXoiLAorICAgICJldGhp
b3BpYy1hYmVnZWRlLXRpLWVyIiwgImV0aGlvcGljLWFiZWdlZGUtdGktZXQiLCAiZXRoaW9waWMt
aGFsZWhhbWUtYWEtZXIiLCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiLAorICAgICJldGhpb3Bp
Yy1oYWxlaGFtZS1hbS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS1nZXoiLCAiZXRoaW9waWMtaGFs
ZWhhbWUtb20tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0IiwKKyAgICAiZXRoaW9waWMt
aGFsZWhhbWUtc28tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGktZXIiLCAiZXRoaW9waWMtaGFs
ZWhhbWUtdGktZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGlnIiwgImV3LXJlc2l6ZSIsICJleHBh
bmRlZCIsCisgICAgImV4dHJhLWNvbmRlbnNlZCIsICJleHRyYS1leHBhbmRlZCIsICJmYW50YXN5
IiwgImZhc3QiLCAiZmlsbCIsICJmaXhlZCIsICJmbGF0IiwgImZvb3Rub3RlcyIsICJmb3J3YXJk
cyIsICJmcm9tIiwgImdlb21ldHJpY1ByZWNpc2lvbiIsCisgICAgImdlb3JnaWFuIiwgImdyYXl0
ZXh0IiwgImdyb292ZSIsICJndWphcmF0aSIsICJndXJtdWtoaSIsICJoYW5kIiwgImhhbmd1bCIs
ICJoYW5ndWwtY29uc29uYW50IiwgImhlYnJldyIsICJoZWxwIiwKKyAgICAiaGlkZGVuIiwgImhp
ZGUiLCAiaGlnaGVyIiwgImhpZ2hsaWdodCIsICJoaWdobGlnaHR0ZXh0IiwgImhpcmFnYW5hIiwg
ImhpcmFnYW5hLWlyb2hhIiwgImhvcml6b250YWwiLCAiaHNsIiwgImhzbGEiLCAiaWNvbiIsICJp
Z25vcmUiLAorICAgICJpbmFjdGl2ZWJvcmRlciIsICJpbmFjdGl2ZWNhcHRpb24iLCAiaW5hY3Rp
dmVjYXB0aW9udGV4dCIsICJpbmZpbml0ZSIsICJpbmZvYmFja2dyb3VuZCIsICJpbmZvdGV4dCIs
ICJpbmhlcml0IiwgImluaXRpYWwiLCAiaW5saW5lIiwKKyAgICAiaW5saW5lLWF4aXMiLCAiaW5s
aW5lLWJsb2NrIiwgImlubGluZS10YWJsZSIsICJpbnNldCIsICJpbnNpZGUiLCAiaW50cmluc2lj
IiwgImludmVydCIsICJpdGFsaWMiLCAianVzdGlmeSIsICJrYW5uYWRhIiwgImthdGFrYW5hIiwK
KyAgICAia2F0YWthbmEtaXJvaGEiLCAia2htZXIiLCAibGFuZHNjYXBlIiwgImxhbyIsICJsYXJn
ZSIsICJsYXJnZXIiLCAibGVmdCIsICJsZXZlbCIsICJsaWdodGVyIiwgImxpbmUtdGhyb3VnaCIs
ICJsaW5lYXIiLCAibGluZXMiLAorICAgICJsaXN0LWl0ZW0iLCAibGlzdGJveCIsICJsaXN0aXRl
bSIsICJsb2NhbCIsICJsb2dpY2FsIiwgImxvdWQiLCAibG93ZXIiLCAibG93ZXItYWxwaGEiLCAi
bG93ZXItYXJtZW5pYW4iLCAibG93ZXItZ3JlZWsiLAorICAgICJsb3dlci1oZXhhZGVjaW1hbCIs
ICJsb3dlci1sYXRpbiIsICJsb3dlci1ub3J3ZWdpYW4iLCAibG93ZXItcm9tYW4iLCAibG93ZXJj
YXNlIiwgImx0ciIsICJtYWxheWFsYW0iLCAibWF0Y2giLCAibWVkaWEtY29udHJvbHMtYmFja2dy
b3VuZCIsCisgICAgIm1lZGlhLWN1cnJlbnQtdGltZS1kaXNwbGF5IiwgIm1lZGlhLWZ1bGxzY3Jl
ZW4tYnV0dG9uIiwgIm1lZGlhLW11dGUtYnV0dG9uIiwgIm1lZGlhLXBsYXktYnV0dG9uIiwgIm1l
ZGlhLXJldHVybi10by1yZWFsdGltZS1idXR0b24iLAorICAgICJtZWRpYS1yZXdpbmQtYnV0dG9u
IiwgIm1lZGlhLXNlZWstYmFjay1idXR0b24iLCAibWVkaWEtc2Vlay1mb3J3YXJkLWJ1dHRvbiIs
ICJtZWRpYS1zbGlkZXIiLCAibWVkaWEtc2xpZGVydGh1bWIiLCAibWVkaWEtdGltZS1yZW1haW5p
bmctZGlzcGxheSIsCisgICAgIm1lZGlhLXZvbHVtZS1zbGlkZXIiLCAibWVkaWEtdm9sdW1lLXNs
aWRlci1jb250YWluZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlcnRodW1iIiwgIm1lZGl1bSIsICJt
ZW51IiwgIm1lbnVsaXN0IiwgIm1lbnVsaXN0LWJ1dHRvbiIsCisgICAgIm1lbnVsaXN0LXRleHQi
LCAibWVudWxpc3QtdGV4dGZpZWxkIiwgIm1lbnV0ZXh0IiwgIm1lc3NhZ2UtYm94IiwgIm1pZGRs
ZSIsICJtaW4taW50cmluc2ljIiwgIm1peCIsICJtb25nb2xpYW4iLCAibW9ub3NwYWNlIiwgIm1v
dmUiLCAibXVsdGlwbGUiLAorICAgICJteWFubWFyIiwgIm4tcmVzaXplIiwgIm5hcnJvd2VyIiwg
Im5hdnkiLCAibmUtcmVzaXplIiwgIm5lc3ctcmVzaXplIiwgIm5vLWNsb3NlLXF1b3RlIiwgIm5v
LWRyb3AiLCAibm8tb3Blbi1xdW90ZSIsICJuby1yZXBlYXQiLCAibm9uZSIsCisgICAgIm5vcm1h
bCIsICJub3QtYWxsb3dlZCIsICJub3dyYXAiLCAibnMtcmVzaXplIiwgIm53LXJlc2l6ZSIsICJu
d3NlLXJlc2l6ZSIsICJvYmxpcXVlIiwgIm9jdGFsIiwgIm9wZW4tcXVvdGUiLCAib3B0aW1pemVM
ZWdpYmlsaXR5IiwKKyAgICAib3B0aW1pemVTcGVlZCIsICJvcml5YSIsICJvcm9tbyIsICJvdXRz
ZXQiLCAib3V0c2lkZSIsICJvdmVybGF5IiwgIm92ZXJsaW5lIiwgInBhZGRpbmciLCAicGFkZGlu
Zy1ib3giLCAicGFpbnRlZCIsICJwYXVzZWQiLAorICAgICJwZXJzaWFuIiwgInBsdXMtZGFya2Vy
IiwgInBsdXMtbGlnaHRlciIsICJwb2ludGVyIiwgInBvcnRyYWl0IiwgInByZSIsICJwcmUtbGlu
ZSIsICJwcmUtd3JhcCIsICJwcmVzZXJ2ZS0zZCIsICJwcm9ncmVzcyIsCisgICAgInB1c2gtYnV0
dG9uIiwgInJhZGlvIiwgInJlYWQtb25seSIsICJyZWFkLXdyaXRlIiwgInJlYWQtd3JpdGUtcGxh
aW50ZXh0LW9ubHkiLCAicmVsYXRpdmUiLCAicmVwZWF0IiwgInJlcGVhdC14IiwKKyAgICAicmVw
ZWF0LXkiLCAicmVzZXQiLCAicmV2ZXJzZSIsICJyZ2IiLCAicmdiYSIsICJyaWRnZSIsICJyaWdo
dCIsICJyb3VuZCIsICJyb3ctcmVzaXplIiwgInJ0bCIsICJydW4taW4iLCAicnVubmluZyIsICJz
LXJlc2l6ZSIsICJzYW5zLXNlcmlmIiwKKyAgICAic2Nyb2xsIiwgInNjcm9sbGJhciIsICJzZS1y
ZXNpemUiLCAic2VhcmNoZmllbGQiLCAic2VhcmNoZmllbGQtY2FuY2VsLWJ1dHRvbiIsICJzZWFy
Y2hmaWVsZC1kZWNvcmF0aW9uIiwgInNlYXJjaGZpZWxkLXJlc3VsdHMtYnV0dG9uIiwKKyAgICAi
c2VhcmNoZmllbGQtcmVzdWx0cy1kZWNvcmF0aW9uIiwgInNlbWktY29uZGVuc2VkIiwgInNlbWkt
ZXhwYW5kZWQiLCAic2VwYXJhdGUiLCAic2VyaWYiLCAic2hvdyIsICJzaWRhbWEiLCAic2luZ2xl
IiwKKyAgICAic2tpcC13aGl0ZS1zcGFjZSIsICJzbGlkZSIsICJzbGlkZXItaG9yaXpvbnRhbCIs
ICJzbGlkZXItdmVydGljYWwiLCAic2xpZGVydGh1bWItaG9yaXpvbnRhbCIsICJzbGlkZXJ0aHVt
Yi12ZXJ0aWNhbCIsICJzbG93IiwKKyAgICAic21hbGwiLCAic21hbGwtY2FwcyIsICJzbWFsbC1j
YXB0aW9uIiwgInNtYWxsZXIiLCAic29saWQiLCAic29tYWxpIiwgInNvdXJjZS1hdG9wIiwgInNv
dXJjZS1pbiIsICJzb3VyY2Utb3V0IiwgInNvdXJjZS1vdmVyIiwKKyAgICAic3BhY2UiLCAic3F1
YXJlIiwgInNxdWFyZS1idXR0b24iLCAic3RhcnQiLCAic3RhdGljIiwgInN0YXR1cy1iYXIiLCAi
c3RyZXRjaCIsICJzdHJva2UiLCAic3ViIiwgInN1YnBpeGVsLWFudGlhbGlhc2VkIiwgInN1cGVy
IiwKKyAgICAic3ctcmVzaXplIiwgInRhYmxlIiwgInRhYmxlLWNhcHRpb24iLCAidGFibGUtY2Vs
bCIsICJ0YWJsZS1jb2x1bW4iLCAidGFibGUtY29sdW1uLWdyb3VwIiwgInRhYmxlLWZvb3Rlci1n
cm91cCIsICJ0YWJsZS1oZWFkZXItZ3JvdXAiLAorICAgICJ0YWJsZS1yb3ciLCAidGFibGUtcm93
LWdyb3VwIiwgInRlbHVndSIsICJ0ZXh0IiwgInRleHQtYm90dG9tIiwgInRleHQtdG9wIiwgInRl
eHRhcmVhIiwgInRleHRmaWVsZCIsICJ0aGFpIiwgInRoaWNrIiwgInRoaW4iLAorICAgICJ0aHJl
ZWRkYXJrc2hhZG93IiwgInRocmVlZGZhY2UiLCAidGhyZWVkaGlnaGxpZ2h0IiwgInRocmVlZGxp
Z2h0c2hhZG93IiwgInRocmVlZHNoYWRvdyIsICJ0aWJldGFuIiwgInRpZ3JlIiwgInRpZ3Jpbnlh
LWVyIiwgInRpZ3JpbnlhLWVyLWFiZWdlZGUiLAorICAgICJ0aWdyaW55YS1ldCIsICJ0aWdyaW55
YS1ldC1hYmVnZWRlIiwgInRvIiwgInRvcCIsICJ0cmFuc3BhcmVudCIsICJ1bHRyYS1jb25kZW5z
ZWQiLCAidWx0cmEtZXhwYW5kZWQiLCAidW5kZXJsaW5lIiwgInVwIiwgInVwcGVyLWFscGhhIiwg
InVwcGVyLWFybWVuaWFuIiwKKyAgICAidXBwZXItZ3JlZWsiLCAidXBwZXItaGV4YWRlY2ltYWwi
LCAidXBwZXItbGF0aW4iLCAidXBwZXItbm9yd2VnaWFuIiwgInVwcGVyLXJvbWFuIiwgInVwcGVy
Y2FzZSIsICJ1cmR1IiwgInVybCIsICJ2ZXJ0aWNhbCIsICJ2ZXJ0aWNhbC10ZXh0IiwgInZpc2li
bGUiLAorICAgICJ2aXNpYmxlRmlsbCIsICJ2aXNpYmxlUGFpbnRlZCIsICJ2aXNpYmxlU3Ryb2tl
IiwgInZpc3VhbCIsICJ3LXJlc2l6ZSIsICJ3YWl0IiwgIndhdmUiLCAid2hpdGUiLCAid2lkZXIi
LCAid2luZG93IiwgIndpbmRvd2ZyYW1lIiwgIndpbmRvd3RleHQiLAorICAgICJ4LWxhcmdlIiwg
Ingtc21hbGwiLCAieG9yIiwgInh4LWxhcmdlIiwgInh4LXNtYWxsIiwgInllbGxvdyIsICItd2Fw
LW1hcnF1ZWUiLCAiLXdlYmtpdC1hY3RpdmVsaW5rIiwgIi13ZWJraXQtYXV0byIsICItd2Via2l0
LWJhc2VsaW5lLW1pZGRsZSIsCisgICAgIi13ZWJraXQtYm9keSIsICItd2Via2l0LWJveCIsICIt
d2Via2l0LWNlbnRlciIsICItd2Via2l0LWNvbnRyb2wiLCAiLXdlYmtpdC1mb2N1cy1yaW5nLWNv
bG9yIiwgIi13ZWJraXQtZ3JhYiIsICItd2Via2l0LWdyYWJiaW5nIiwKKyAgICAiLXdlYmtpdC1n
cmFkaWVudCIsICItd2Via2l0LWlubGluZS1ib3giLCAiLXdlYmtpdC1sZWZ0IiwgIi13ZWJraXQt
bGluayIsICItd2Via2l0LW1hcnF1ZWUiLCAiLXdlYmtpdC1taW5pLWNvbnRyb2wiLCAiLXdlYmtp
dC1ub3dyYXAiLCAiLXdlYmtpdC1waWN0b2dyYXBoIiwKKyAgICAiLXdlYmtpdC1yaWdodCIsICIt
d2Via2l0LXNtYWxsLWNvbnRyb2wiLCAiLXdlYmtpdC10ZXh0IiwgIi13ZWJraXQteHh4LWxhcmdl
IiwgIi13ZWJraXQtem9vbS1pbiIsICItd2Via2l0LXpvb20tb3V0IiwKK10ua2V5U2V0KCk7CisK
IFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgIGNyZWF0
ZUluaXRpYWxDb25kaXRpb246IGZ1bmN0aW9uKCkKICAgICB7CkBAIC0zNDEsNDMgKzM1Miw0NCBA
QCBjYXNlIDI2OgogLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KIGNh
c2UgdGhpcy5jYXNlX0lOSVRJQUw6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1
cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAnOycpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnXCcnKSB7CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnOicpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJyInKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsg
Z290b0Nhc2UgPSAyOTsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnIScpIHsgZ290b0Nhc2UgPSAzMTsgY29udGludWU7IH07CiAgICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gMzM7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyMnKSB7
IGdvdG9DYXNlID0gMzQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJyQnKSB7IGdvdG9DYXNlID0gMzE7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ1wnJykgeyBnb3RvQ2FzZSA9IDM1OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICckJykgeyBnb3RvQ2FzZSA9
IDM1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICcm
JykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICcuJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJywnKSB7IGdvdG9D
YXNlID0gMjk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJy0nKSB7IGdvdG9DYXNlID0gMzY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDM3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJy0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XCcnKSB7IGdvdG9DYXNlID0gMzY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPj0gJy0nKSB7IGdvdG9DYXNlID0gMzc7IGNvbnRpbnVlOyB9OwogICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJy8nKSB7IGdvdG9DYXNlID0gMzg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gMzk7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzonKSB7IGdvdG9DYXNlID0gNDE7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQzOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgeyBnb3Rv
Q2FzZSA9IDM4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICcvJykgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MjsgY29udGludWU7IH07CiAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnPycpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICc9JykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnXScpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOycpIHsgZ290b0Nhc2UgPSA0NDsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnPScpIHsg
Z290b0Nhc2UgPSAzMTsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9DYXNlID0g
Mjk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10n
KSB7IGdvdG9DYXNlID0gMzE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9DYXNlID0gMjk7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51
ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggIT0gJ2AnKSB7IGdvdG9DYXNlID0gMzE7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ18nKSB7IGdvdG9DYXNlID0gMzE7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ2EnKSB7IGdv
dG9DYXNlID0gMzE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3snKSB7IGdvdG9DYXNlID0gNDU7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ30nKSB7
IGdvdG9DYXNlID0gNDc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ3snKSB7IGdvdG9DYXNlID0gNDY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ30nKSB7IGdvdG9DYXNlID0gNDg7IGNvbnRpbnVlOyB9
OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQpAQCAtMzg4LDc5ICs0MDAsODkgQEAgY2FzZSAzMDoKIGNhc2UgMzE6CiAgICAgICAgICAgICAr
K2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKLSAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9D
YXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSAzMjoKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgdmFyIHRva2VuID0gdGhpcy5fbGluZS5zdWJzdHJpbmcoY3Vyc29yT25FbnRl
ciwgY3Vyc29yKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJz
ZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUwpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh0b2tlbiA9PT0gIkBtZWRpYSIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOworICAgICAgICAgICAgICAgICAgICBpZiAodGhp
cy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5J
VElBTCB8fCB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29u
ZGl0aW9ucy5QUk9QRVJUWSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRva2VuLmNo
YXJBdCgwKSA9PT0gIkAiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tl
blR5cGUgPSAiY3NzLWF0LXJ1bGUiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJ
QV9SVUxFOwotICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0b2tlbi5zdGFydHNX
aXRoKCJAIikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24u
cGFyc2VDb25kaXRpb24gPSB0b2tlbiA9PT0gIkBtZWRpYSIgPyB0aGlzLl9wYXJzZUNvbmRpdGlv
bnMuQVRfTUVESUFfUlVMRSA6IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5hdEtleXdvcmQgPSB0b2tlbjsK
KyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNl
Q29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mtc2VsZWN0b3IiOworICAgICAg
ICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fcHJvcGVydHlLZXl3b3Jkcy5oYXNPd25Q
cm9wZXJ0eSh0b2tlbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5
cGUgPSAiY3NzLXByb3BlcnR5IjsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlz
Ll9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9N
RURJQV9SVUxFIHx8IHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFy
c2VDb25kaXRpb25zLkFUX1JVTEUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChXZWJJ
bnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLkF0UmVsYXRlZEtleXdvcmRzLmhhc093blByb3Bl
cnR5KHRva2VuKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9
ICJjc3MtYXQtcnVsZSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0
aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEU7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ug
aWYgKFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuTWVkaWFUeXBlcy5oYXNPd25Qcm9w
ZXJ0eSh0b2tlbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUg
PSAiY3NzLWtleXdvcmQiOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgIGlmICh0aGlzLnRva2VuVHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBj
dXJzb3I7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzUHJvcGVydHlWYWx1ZSgp
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmlyc3RDaGFyID0gdG9rZW4uY2hhckF0
KDApOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0Q2hhciA9PT0gIiQiKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gInNjc3MtdmFyaWFibGUi
OworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZmlyc3RDaGFyID09PSAiISIpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWJhbmcta2V5
d29yZCI7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24u
YXRLZXl3b3JkID09PSAiQGV4dGVuZCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhp
cy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9yIjsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IGlmICgodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRp
dGlvbnMuQVRfTUVESUFfUlVMRSB8fCB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09
IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFKSAmJiB0b2tlbiBpbiB0aGlzLl9tZWRpYVR5
cGVzKQotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWtleXdv
cmQiOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VD
b25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSAmJiB0b2tlbiBpbiB0
aGlzLl9wcm9wZXJ0eUtleXdvcmRzKQotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tl
blR5cGUgPSAiY3NzLXByb3BlcnR5IjsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhp
cy5faXNQcm9wZXJ0eVZhbHVlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b2tl
biBpbiB0aGlzLl92YWx1ZUtleXdvcmRzKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBp
ZiAoV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5WYWx1ZUtleXdvcmRzLmhhc093blBy
b3BlcnR5KHRva2VuKSB8fCBXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLlNDU1NWYWx1
ZUtleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSkKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mta2V5d29yZCI7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlIGlmICh0b2tlbiBpbiB0aGlzLl9jb2xvcktleXdvcmRzKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9jb2xvcktleXdvcmRzLmhhc093blByb3BlcnR5
KHRva2VuKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB0aGlzIGRv
ZXMgbm90IGNvbnZlcnQgdG9rZW5zIHRvTG93ZXJDYXNlKCkgZm9yIHRoZSBzYWtlIG9mIHNwZWVk
LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1jb2xv
ciI7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRva2VuID09PSAiIWltcG9y
dGFudCIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3Nz
LWltcG9ydGFudCI7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
ICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOworICAgICAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNv
bmRpdGlvbiAhPT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZX1ZBTFVFKQorICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9yIjsKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9CiBjYXNlIDMz
OgogICAgICAgICAgICAgeXlhY2NlcHQgPSAwOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2No
YXJBdChZWU1BUktFUiA9ICsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykg
eworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJyEnKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcZicpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSAzMjsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI4OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzI7IGNv
bnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xyJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDEy
ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI2
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcgJykg
eyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICck
JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNl
ID0gMTE1OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICcjJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
JyInKSB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICclJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID09ICdcJycpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJywnKSB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy0nKSB7IGdvdG9DYXNlID0gMTMw
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzI7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnLicpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gMTI2
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjg7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7IGdvdG9DYXNlID0gMTMyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeyBnb3RvQ2FzZSA9IDEyODsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI2OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeyBn
b3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEzNDsgY29udGludWU7IH07CiAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnXicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdc
XCcpIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ10nKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID09ICdeJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICdgJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAxMzI7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7IGdv
dG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQpAQCAtNDY4LDg0ICs0OTAsMTIxIEBAIGNhc2UgMzQ6
CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdAJykgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcvJykgeyBn
b3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
OScpIHsgZ290b0Nhc2UgPSAxMjM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDEyNzsgY29udGludWU7IH07CiAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ0YnKSB7IGdvdG9DYXNlID0gMTIzOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWicpIHsgZ290b0Nhc2UgPSAxMjc7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2Fz
ZSA9IDMwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZicpIHsg
Z290b0Nhc2UgPSAxMjM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICd6JykgeyBnb3RvQ2FzZSA9IDEyNzsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0KIGNhc2UgMzU6CisgICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5
eWNoIDw9ICc8JykgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSAx
MjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJScpIHsg
Z290b0Nhc2UgPSAzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJywnKSB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
LicpIHsgZ290b0Nhc2UgPSAzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICc/JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0n
KSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSAzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9DYXNl
ID0gMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXycpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gMTI0OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMDsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CitjYXNlIDM2OgogICAgICAgICAgICAgeXlhY2NlcHQgPSAwOwogICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9ICsrY3Vyc29yKTsKLSAgICAgICAgICAg
IGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdcZicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicp
IHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xyJykgeyBnb3RvQ2FzZSA9
IDMyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcg
JykgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICcmJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJyQnKSB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXCcnKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnJScpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OwogICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ1wnJykgeyBnb3RvQ2FzZSA9IDExNTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnLCcpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExMzsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnLScpIHsgZ290b0Nhc2UgPSAx
MTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEx
ODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdbJykg
ewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAx
MTM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEx
NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcpIHsgZ290b0Nhc2UgPSAxMTg7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNDsgY29u
dGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9DYXNlID0gMTE3
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTM7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7
IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdbJykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTIwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdeJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1xcJykgeyBnb3RvQ2FzZSA9IDExOTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnXScpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgeworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPT0gJ14nKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OwogICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ2AnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDExMzsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDExODsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsg
Z290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci1jYXNlIDM2OgorY2FzZSAzNzoKICAgICAgICAg
ICAgIHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJL
RVIgPSArK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnLicpIHsgZ290b0Nhc2Ug
PSA2NjsgY29udGludWU7IH07Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsgZ290b0Nh
c2UgPSA1MDsgY29udGludWU7IH07Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290
b0Nhc2UgPSA1MTsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNv
bnRpbnVlOyB9OwotY2FzZSAzNzoKKyAgICAgICAgICAgIGlmICh5eWNoID09ICcuJykgeyBnb3Rv
Q2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICcvJykgeyBn
b3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5Jykg
eyBnb3RvQ2FzZSA9IDUyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1
MTsgY29udGludWU7IH07CitjYXNlIDM4OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJB
dCgrK2N1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsgZ290b0Nhc2UgPSAz
MDsgY29udGludWU7IH07Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2Ug
PSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nh
c2UgPSA3MDsgY29udGludWU7IH07CiAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzA7IGNvbnRp
bnVlOyB9OwotY2FzZSAzODoKK2Nhc2UgMzk6CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAg
ICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KFlZTUFSS0VSID0gKytjdXJzb3IpOwotICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJyonKSB7IGdvdG9DYXNlID0gMTA1OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07Ci1jYXNlIDM5OgorICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJyonKSB7IGdvdG9DYXNlID0gMTA2OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CitjYXNlIDQwOgogICAg
ICAgICAgICAgeXlhY2NlcHQgPSAxOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChZ
WU1BUktFUiA9ICsrY3Vyc29yKTsKICAgICAgICAgICAgIHN3aXRjaCAoeXljaCkgewogICAgICAg
ICAgICAgY2FzZSAnISc6CiAgICAgICAgICAgICBjYXNlICciJzoKLSAgICAgICAgICAgIGNhc2Ug
JyQnOgorICAgICAgICAgICAgY2FzZSAnJic6CiAgICAgICAgICAgICBjYXNlICdcJyc6CiAgICAg
ICAgICAgICBjYXNlICctJzoKICAgICAgICAgICAgIGNhc2UgJy8nOgpAQCAtNTkyLDkgKzY1MSw5
IEBAIGNhc2UgMzk6CiAgICAgICAgICAgICBjYXNlICd3JzoKICAgICAgICAgICAgIGNhc2UgJ3gn
OgogICAgICAgICAgICAgY2FzZSAneSc6Ci0gICAgICAgICAgICBjYXNlICd6JzogICAgeyBnb3Rv
Q2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJyUnOiAgICB7IGdvdG9D
YXNlID0gNjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnLic6ICAgIHsgZ290b0Nh
c2UgPSA2NjsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICd6JzogICAgeyBnb3RvQ2Fz
ZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJyUnOiAgICB7IGdvdG9DYXNl
ID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnLic6ICAgIHsgZ290b0Nhc2Ug
PSA2NzsgY29udGludWU7IH07CiAgICAgICAgICAgICBjYXNlICcwJzoKICAgICAgICAgICAgIGNh
c2UgJzEnOgogICAgICAgICAgICAgY2FzZSAnMic6CkBAIC02MDQsMjMgKzY2MywyMyBAQCBjYXNl
IDM5OgogICAgICAgICAgICAgY2FzZSAnNic6CiAgICAgICAgICAgICBjYXNlICc3JzoKICAgICAg
ICAgICAgIGNhc2UgJzgnOgotICAgICAgICAgICAgY2FzZSAnOSc6ICAgIHsgZ290b0Nhc2UgPSA1
MTsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdIJzogICAgeyBnb3RvQ2FzZSA9IDUz
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ18nOiAgICB7IGdvdG9DYXNlID0gNTQ7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnYyc6ICAgIHsgZ290b0Nhc2UgPSA1NTsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdkJzogICAgeyBnb3RvQ2FzZSA9IDU2OyBj
b250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ2UnOiAgICB7IGdvdG9DYXNlID0gNTc7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnZyc6ICAgIHsgZ290b0Nhc2UgPSA1ODsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdpJzogICAgeyBnb3RvQ2FzZSA9IDU5OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ2snOiAgICB7IGdvdG9DYXNlID0gNjA7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnbSc6ICAgIHsgZ290b0Nhc2UgPSA2MTsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICBjYXNlICdwJzogICAgeyBnb3RvQ2FzZSA9IDYyOyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ3InOiAgICB7IGdvdG9DYXNlID0gNjM7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgY2FzZSAncyc6ICAgIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7
IH07Ci0gICAgICAgICAgICBjYXNlICd0JzogICAgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgIGRlZmF1bHQ6ICAgIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07
CisgICAgICAgICAgICBjYXNlICc5JzogICAgeyBnb3RvQ2FzZSA9IDUyOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGNhc2UgJ0gnOiAgICB7IGdvdG9DYXNlID0gNTQ7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgY2FzZSAnXyc6ICAgIHsgZ290b0Nhc2UgPSA1NTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICBjYXNlICdjJzogICAgeyBnb3RvQ2FzZSA9IDU2OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgIGNhc2UgJ2QnOiAgICB7IGdvdG9DYXNlID0gNTc7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgY2FzZSAnZSc6ICAgIHsgZ290b0Nhc2UgPSA1ODsgY29udGludWU7IH07CisgICAg
ICAgICAgICBjYXNlICdnJzogICAgeyBnb3RvQ2FzZSA9IDU5OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgIGNhc2UgJ2knOiAgICB7IGdvdG9DYXNlID0gNjA7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgY2FzZSAnayc6ICAgIHsgZ290b0Nhc2UgPSA2MTsgY29udGludWU7IH07CisgICAgICAg
ICAgICBjYXNlICdtJzogICAgeyBnb3RvQ2FzZSA9IDYyOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgIGNhc2UgJ3AnOiAgICB7IGdvdG9DYXNlID0gNjM7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgY2FzZSAncic6ICAgIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07CisgICAgICAgICAg
ICBjYXNlICdzJzogICAgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IGNhc2UgJ3QnOiAgICB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ZGVmYXVsdDogICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0K
LWNhc2UgNDA6CitjYXNlIDQxOgogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBp
ZiAodGhpcy5faXNQcm9wZXJ0eVZhbHVlKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlz
LnRva2VuVHlwZSA9ICJjc3MtbnVtYmVyIjsKQEAgLTYyOCw5MiArNjg3LDkxIEBAIGNhc2UgNDA6
CiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9IG51bGw7CiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CiAgICAgICAgICAgICAgICAgfQotY2FzZSA0MToK
K2Nhc2UgNDI6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOwotICAgICAgICAgICAgICAgICAgICBp
ZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlv
bnMuUFJPUEVSVFkpCisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ucGFy
c2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSB8fCB0aGlzLl9j
b25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFM
KQogICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9u
ID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZX1ZBTFVFOwogICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KLWNhc2UgNDM6CitjYXNlIDQ0
OgogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
ICAgIHRoaXMudG9rZW5UeXBlID0gbnVsbDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMu
X2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JV
TEUpCi0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRp
b24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTDsKLSAgICAgICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0
aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZOworICAgICAgICAgICAgICAgICAg
ICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9jb25kaXRpb24ub3BlbkJy
YWNlcyA/IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSA6IHRoaXMuX3BhcnNlQ29uZGl0
aW9ucy5JTklUSUFMOworICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fY29uZGl0aW9u
LmF0S2V5d29yZDsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAg
ICAgICAgICB9Ci1jYXNlIDQ1OgorY2FzZSA0NjoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJibG9jay1z
dGFydCI7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzID0g
KHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzIHx8IDApICsgMTsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25k
aXRpb25zLkFUX01FRElBX1JVTEUpCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25k
aXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTDsKICAg
ICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29u
ZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZOwog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KLWNh
c2UgNDc6CitjYXNlIDQ4OgogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImJsb2NrLWVuZCI7Ci0gICAgICAg
ICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNl
Q29uZGl0aW9ucy5JTklUSUFMOworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0
aW9uLm9wZW5CcmFjZXMgPiAwKQorICAgICAgICAgICAgICAgICAgICAgICAgLS10aGlzLl9jb25k
aXRpb24ub3BlbkJyYWNlczsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBh
cnNlQ29uZGl0aW9uID0gdGhpcy5fY29uZGl0aW9uLm9wZW5CcmFjZXMgPyB0aGlzLl9wYXJzZUNv
bmRpdGlvbnMuUFJPUEVSVFkgOiB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTDsKKyAgICAg
ICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2NvbmRpdGlvbi5hdEtleXdvcmQ7CiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CiAgICAgICAgICAgICAgICAgfQotY2FzZSA0OToK
K2Nhc2UgNTA6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoY3Vyc29yKTsKLWNhc2UgNTA6Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAnOScp
IHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJyInKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnICcpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJyQnKSB7IGdvdG9D
YXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDMyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgfQorY2FzZSA1MToKKyAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc8JykgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdcJycpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNl
ID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicp
IHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICclJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLCcpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLScpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICcsJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CiAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAnLicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNTA7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMyOyBj
b250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgewot
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICc8JykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnPycpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICc/JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0n
KSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290b0Nhc2Ug
PSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
NTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ14nKSB7IGdvdG9DYXNl
ID0gMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2Fz
ZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICd6JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci1jYXNlIDUxOgorY2FzZSA1MjoKICAg
ICAgICAgICAgIHl5YWNjZXB0ID0gMTsKICAgICAgICAgICAgIFlZTUFSS0VSID0gKytjdXJzb3I7
CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAgICBz
d2l0Y2ggKHl5Y2gpIHsKICAgICAgICAgICAgIGNhc2UgJyEnOgogICAgICAgICAgICAgY2FzZSAn
Iic6Ci0gICAgICAgICAgICBjYXNlICckJzoKKyAgICAgICAgICAgIGNhc2UgJyYnOgogICAgICAg
ICAgICAgY2FzZSAnXCcnOgogICAgICAgICAgICAgY2FzZSAnLSc6CiAgICAgICAgICAgICBjYXNl
ICcvJzoKQEAgLTc2MCw5ICs4MTgsOSBAQCBjYXNlIDUxOgogICAgICAgICAgICAgY2FzZSAndyc6
CiAgICAgICAgICAgICBjYXNlICd4JzoKICAgICAgICAgICAgIGNhc2UgJ3knOgotICAgICAgICAg
ICAgY2FzZSAneic6ICAgIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07Ci0gICAgICAgICAg
ICBjYXNlICclJzogICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
IGNhc2UgJy4nOiAgICB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
Y2FzZSAneic6ICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICBj
YXNlICclJzogICAgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNh
c2UgJy4nOiAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgY2Fz
ZSAnMCc6CiAgICAgICAgICAgICBjYXNlICcxJzoKICAgICAgICAgICAgIGNhc2UgJzInOgpAQCAt
NzcyLDU4NCArODMwLDYxNyBAQCBjYXNlIDUxOgogICAgICAgICAgICAgY2FzZSAnNic6CiAgICAg
ICAgICAgICBjYXNlICc3JzoKICAgICAgICAgICAgIGNhc2UgJzgnOgotICAgICAgICAgICAgY2Fz
ZSAnOSc6ICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNl
ICdIJzogICAgeyBnb3RvQ2FzZSA9IDUzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2Ug
J18nOiAgICB7IGdvdG9DYXNlID0gNTQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAn
Yyc6ICAgIHsgZ290b0Nhc2UgPSA1NTsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdk
JzogICAgeyBnb3RvQ2FzZSA9IDU2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ2Un
OiAgICB7IGdvdG9DYXNlID0gNTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnZyc6
ICAgIHsgZ290b0Nhc2UgPSA1ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdpJzog
ICAgeyBnb3RvQ2FzZSA9IDU5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ2snOiAg
ICB7IGdvdG9DYXNlID0gNjA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnbSc6ICAg
IHsgZ290b0Nhc2UgPSA2MTsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdwJzogICAg
eyBnb3RvQ2FzZSA9IDYyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ3InOiAgICB7
IGdvdG9DYXNlID0gNjM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAncyc6ICAgIHsg
Z290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICd0JzogICAgeyBn
b3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGRlZmF1bHQ6ICAgIHsgZ290
b0Nhc2UgPSA0MDsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICc5JzogICAgeyBnb3Rv
Q2FzZSA9IDUyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ0gnOiAgICB7IGdvdG9D
YXNlID0gNTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnXyc6ICAgIHsgZ290b0Nh
c2UgPSA1NTsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdjJzogICAgeyBnb3RvQ2Fz
ZSA9IDU2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ2QnOiAgICB7IGdvdG9DYXNl
ID0gNTc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnZSc6ICAgIHsgZ290b0Nhc2Ug
PSA1ODsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdnJzogICAgeyBnb3RvQ2FzZSA9
IDU5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ2knOiAgICB7IGdvdG9DYXNlID0g
NjA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnayc6ICAgIHsgZ290b0Nhc2UgPSA2
MTsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdtJzogICAgeyBnb3RvQ2FzZSA9IDYy
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ3AnOiAgICB7IGdvdG9DYXNlID0gNjM7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAncic6ICAgIHsgZ290b0Nhc2UgPSA2NDsg
Y29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdzJzogICAgeyBnb3RvQ2FzZSA9IDY1OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ3QnOiAgICB7IGdvdG9DYXNlID0gNjY7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgZGVmYXVsdDogICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250
aW51ZTsgfTsKICAgICAgICAgICAgIH0KLWNhc2UgNTM6Ci0gICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICd6JykgeyBnb3Rv
Q2FzZSA9IDY0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29u
dGludWU7IH07CiBjYXNlIDU0OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1
cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnXycpIHsgZ290b0Nhc2UgPSAxMDI7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgIGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNlIDU1OgogICAg
ICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAo
eXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7
IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ18n
KSB7IGdvdG9DYXNlID0gMTAzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSA1MTsgY29udGludWU7IH07CiBjYXNlIDU2OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2No
YXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnZScpIHsgZ290b0Nhc2Ug
PSAxMDE7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNl
IDU3OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAg
ICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICBpZiAoeXljaCA9PSAneCcpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ2UnKSB7IGdvdG9DYXNlID0gMTAyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNlIDU4OgogICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAncicp
IHsgZ290b0Nhc2UgPSA5OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0g
NTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNl
ID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3gnKSB7IGdvdG9D
YXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250
aW51ZTsgfTsKIGNhc2UgNTk6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vy
c29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAg
ICAgICAgICBpZiAoeXljaCA9PSAncicpIHsgZ290b0Nhc2UgPSAxMDA7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKIGNhc2UgNjA6CiAgICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5
eWNoID09ICdIJykgeyBnb3RvQ2FzZSA9IDk4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnbicp
IHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0g
NTE7IGNvbnRpbnVlOyB9OwogY2FzZSA2MToKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0g
NjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdvdG9DYXNl
ID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdIJykgeyBnb3RvQ2FzZSA9IDk5OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNl
IDYyOgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAg
ICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAg
ICAgICAgICBpZiAoeXljaCA9PSAncycpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OworY2FzZSA2MzoKKyAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ3MnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2MnKSB7IGdvdG9DYXNl
ID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2MnKSB7IGdvdG9DYXNlID0g
NjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGlu
dWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICd0JykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAneCcpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAndCcpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPT0gJ3gnKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiAgICAgICAgICAgICB9Ci1jYXNl
IDYzOgotICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAg
ICAgICBpZiAoeXljaCA9PSAnYScpIHsgZ290b0Nhc2UgPSA5NjsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICBpZiAoeXljaCA9PSAnZScpIHsgZ290b0Nhc2UgPSA5NzsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogY2FzZSA2NDoKICAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJzknKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICck
JykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmICh5eWNoID09ICdhJykgeyBnb3RvQ2FzZSA9IDk3OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGlmICh5eWNoID09ICdlJykgeyBnb3RvQ2FzZSA9IDk4OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CitjYXNlIDY1Ogor
ICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnPCcpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNl
ID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJScp
IHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJywnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXCcnKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnLCcpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy4n
KSB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07
CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnPCcpIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICddJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgeyBnb3RvQ2FzZSA9
IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0
MTsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2Ug
PSA0OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
NDA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xc
JykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XycpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdeJykgeyBnb3RvQ2Fz
ZSA9IDQwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSA0OTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XicpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNl
ID0gNDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J3onKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7
IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9Ci1jYXNlIDY1OgotICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7
Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAndScpIHsgZ290b0Nhc2UgPSA5NDsgY29udGludWU7
IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogY2FzZSA2NjoK
ICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJy8nKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ3UnKSB7IGdvdG9DYXNlID0gOTU7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKIGNhc2UgNjc6CisgICAgICAg
ICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNo
IDw9ICcvJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5
eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDcwOyBjb250aW51ZTsgfTsKK2Nhc2UgNjg6CiAgICAg
ICAgICAgICBjdXJzb3IgPSBZWU1BUktFUjsKICAgICAgICAgICAgIGlmICh5eWFjY2VwdCA8PSAw
KSB7CiAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAg
ICAgICAgICAgfQotY2FzZSA2ODoKLSAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytj
dXJzb3IpOwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKIGNhc2Ug
Njk6CisgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CitjYXNlIDcwOgogICAgICAgICAgICAg
eXlhY2NlcHQgPSAxOwogICAgICAgICAgICAgWVlNQVJLRVIgPSArK2N1cnNvcjsKICAgICAgICAg
ICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdmJykgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdIJykgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID09ICclJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA9PSAnJScpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ0cnKSB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDgxOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDcwOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdHJykgeyBn
b3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSA4MjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYicpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdfJykgeyBnb3RvQ2FzZSA9IDcz
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MDsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXycpIHsg
Z290b0Nhc2UgPSA3NDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2MnKSB7IGdvdG9DYXNlID0gNzU7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2QnKSB7
IGdvdG9DYXNlID0gNzg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPj0gJ2YnKSB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2MnKSB7IGdvdG9DYXNlID0gNzY7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2QnKSB7IGdvdG9DYXNlID0g
Nzk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ2Yn
KSB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnbScpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2knKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZycpIHsgZ290b0Nhc2UgPSA3
OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnaCcp
IHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gNzc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ2cnKSB7IGdvdG9DYXNlID0gODA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2gnKSB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDc4OyBjb250aW51ZTsgfTsK
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoID09ICdrJykgeyBnb3RvQ2FzZSA9IDgyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdsJykgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA3NjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnaycpIHsgZ290b0Nhc2UgPSA4
MzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnbCcp
IHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gNzc7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3En
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAncCcpIHsgZ290b0Nhc2Ug
PSA3NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
NDA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3An
KSB7IGdvdG9DYXNlID0gNzU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdyJykgeyBnb3RvQ2FzZSA9
IDcyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdz
JykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICd0JykgeyBnb3RvQ2FzZSA9IDgwOyBjb250aW51ZTsgfTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncicpIHsgZ290b0Nhc2UgPSA3MzsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncycpIHsgZ290b0Nhc2Ug
PSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
dCcpIHsgZ290b0Nhc2UgPSA4MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nh
c2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAneCcpIHsgZ290
b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNv
bnRpbnVlOyB9OwotY2FzZSA3MjoKLSAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytj
dXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2EnKSB7IGdvdG9DYXNlID0gOTI7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2UnKSB7IGdvdG9DYXNlID0gOTM7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICd4JykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiBjYXNlIDcz
OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAg
ICBpZiAoeXljaCA9PSAnXycpIHsgZ290b0Nhc2UgPSA4OTsgY29udGludWU7IH07Ci0gICAgICAg
ICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ2EnKSB7IGdvdG9DYXNlID0gOTM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ2UnKSB7IGdvdG9DYXNlID0gOTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKIGNhc2UgNzQ6CiAgICAgICAgICAgICB5eWNoID0g
dGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdfJykgeyBn
b3RvQ2FzZSA9IDkwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsg
Y29udGludWU7IH07CitjYXNlIDc1OgorICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgr
K2N1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAncycpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoeXljaCA9PSAnYycpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBp
ZiAoeXljaCA9PSAnYycpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3QnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd4JykgeyBnb3RvQ2FzZSA9IDY4
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd0JykgeyBnb3RvQ2FzZSA9IDY5OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAneCcpIHsgZ290b0Nhc2Ug
PSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250
aW51ZTsgfTsKICAgICAgICAgICAgIH0KLWNhc2UgNzU6Ci0gICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3Rv
Q2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29u
dGludWU7IH07CiBjYXNlIDc2OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1
cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2ODsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAncycpIHsgZ290b0Nhc2UgPSA2ODsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKIGNhc2UgNzc6CiAg
ICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlm
ICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9PSAn
bScpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9
PSAncycpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9D
YXNlID0gNjg7IGNvbnRpbnVlOyB9OwogY2FzZSA3ODoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2UnKSB7IGdvdG9D
YXNlID0gODg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDY5OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiBj
YXNlIDc5OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAg
ICAgICAgICBpZiAoeXljaCA9PSAncicpIHsgZ290b0Nhc2UgPSA4NjsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ2UnKSB7IGdvdG9DYXNlID0gODk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKIGNhc2UgODA6CiAgICAgICAgICAgICB5eWNo
ID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICd1Jykg
eyBnb3RvQ2FzZSA9IDg0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2
NzsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9PSAncicpIHsgZ290b0Nhc2Ug
PSA4NzsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVl
OyB9OwogY2FzZSA4MToKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3Ip
OwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3onKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgIGlmICh5eWNoID09ICd1JykgeyBnb3RvQ2FzZSA9IDg1OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiBjYXNlIDgyOgogICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCAh
PSAnSCcpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXlj
aCA9PSAneicpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdv
dG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworY2FzZSA4MzoKICAgICAgICAgICAgIHl5Y2ggPSB0
aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3onKSB7IGdv
dG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBj
b250aW51ZTsgfTsKLWNhc2UgODQ6CisgICAgICAgICAgICBpZiAoeXljaCAhPSAnSCcpIHsgZ290
b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0
KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBnb3RvQ2FzZSA9IDY3
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9
IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7
IH07CitjYXNlIDg1OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7
Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7
IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OwotY2FzZSA4NjoK
KyAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsg
fTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAg
ICAgaWYgKHl5Y2ggIT0gJ2EnKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKK2Nhc2UgODc6CiAgICAgICAg
ICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNo
ID09ICdkJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSA2NzsgY29udGludWU7IH07Ci1jYXNlIDg4OgorICAgICAgICAgICAgaWYgKHl5Y2gg
IT0gJ2EnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgeXljaCA9
IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnZycpIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2QnKSB7IGdvdG9DYXNlID0g
Njk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsg
fTsKIGNhc2UgODk6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsK
LSAgICAgICAgICAgIGlmICh5eWNoICE9ICdxJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdnJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CitjYXNlIDkw
OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAg
ICBpZiAoeXljaCAhPSAnZScpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAg
ICAgICBpZiAoeXljaCAhPSAncScpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5
eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Ci1jYXNlIDkyOgorICAgICAgICAgICAgaWYgKHl5
Y2ggIT0gJ2UnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnZCcp
IHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0g
Njc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNl
ID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51
ZTsgfTsKIGNhc2UgOTM6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29y
KTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAg
ICAgICBpZiAoeXljaCA9PSAnZCcpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogY2FzZSA5NDoKICAgICAgICAg
ICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2gg
IT0gJ3InKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKK2Nhc2UgOTU6CiAgICAgICAgICAgICB5eWNoID0g
dGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICduJykgeyBn
b3RvQ2FzZSA9IDY0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsg
Y29udGludWU7IH07Ci1jYXNlIDk2OgorICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ3InKSB7IGdv
dG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJB
dCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnZCcpIHsgZ290b0Nhc2UgPSA2
NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKIGNhc2UgOTc6
CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAg
IGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51ZTsgfTsKLSAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9
PSAnZCcpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9D
YXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA5ODoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3onKSB7IGdvdG9D
YXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY1OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBj
YXNlIDk5OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAg
ICAgICAgICBpZiAoeXljaCAhPSAnYScpIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07Cisg
ICAgICAgICAgICBpZiAoeXljaCA9PSAneicpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07
CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OworY2FzZSAxMDA6CiAg
ICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlm
ICh5eWNoID09ICdkJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07Ci1jYXNlIDEwMToKKyAgICAgICAgICAgIGlm
ICh5eWNoICE9ICdhJykgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAg
IHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
J2cnKSB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdkJykgeyBnb3Rv
Q2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29u
dGludWU7IH07CiBjYXNlIDEwMjoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytj
dXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ3EnKSB7IGdvdG9DYXNlID0gNTA7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2cnKSB7IGdvdG9DYXNlID0gNjU7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsK
K2Nhc2UgMTAzOgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0g
ICAgICAgICAgICBpZiAoeXljaCAhPSAnZScpIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07
CisgICAgICAgICAgICBpZiAoeXljaCAhPSAncScpIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7
IH07CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAg
ICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07Ci1jYXNlIDEwNToKKyAgICAgICAg
ICAgIGlmICh5eWNoICE9ICdlJykgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2UgMTA2OgogICAgICAgICAgICAgKytjdXJz
b3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXGYnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykg
eyBnb3RvQ2FzZSA9IDEwOTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDEwNTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykg
eyBnb3RvQ2FzZSA9IDExMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDEwNjsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAxMDk7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgIGlmICh5eWNoICE9ICcqJykgeyBnb3RvQ2FzZSA9IDEwNTsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xyJykgeyBnb3RvQ2FzZSA9IDExMDsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJyonKSB7IGdvdG9DYXNl
ID0gMTA2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0KLWNhc2UgMTA3OgorY2FzZSAxMDg6
CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQo
Y3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICcqJykgeyBnb3RvQ2FzZSA9IDEwNzsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnLycpIHsgZ290b0Nhc2UgPSAx
MTE7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEwNTsgY29udGludWU7
IH07Ci1jYXNlIDEwOToKKyAgICAgICAgICAgIGlmICh5eWNoID09ICcqJykgeyBnb3RvQ2FzZSA9
IDEwODsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnLycpIHsgZ290b0Nh
c2UgPSAxMTI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEwNjsgY29u
dGludWU7IH07CitjYXNlIDExMDoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAg
dGhpcy5zZXRMZXhDb25kaXRpb24odGhpcy5fbGV4Q29uZGl0aW9ucy5DT01NRU5UKTsKICAgICAg
ICAgICAgIHsgdGhpcy50b2tlblR5cGUgPSAiY3NzLWNvbW1lbnQiOyByZXR1cm4gY3Vyc29yOyB9
Ci1jYXNlIDExMToKK2Nhc2UgMTEyOgogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAg
ICB7IHRoaXMudG9rZW5UeXBlID0gImNzcy1jb21tZW50IjsgcmV0dXJuIGN1cnNvcjsgfQotY2Fz
ZSAxMTM6CitjYXNlIDExNDoKICAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAg
IFlZTUFSS0VSID0gKytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1
cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAnLScpIHsKKyAgICAgICAgICAgIGlmICh5
eWNoIDw9ICcuJykgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdccicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExMzsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAxMTg7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNDsgY29u
dGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoID09ICckJykgeyBnb3RvQ2FzZSA9IDExMzsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJyUnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDEx
NDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7IGdvdG9DYXNlID0gMTE1OyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcsJykgeyBnb3RvQ2Fz
ZSA9IDExNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gMTEzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICctJykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ1snKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc8
JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9DYXNl
ID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICc5JykgeyBnb3RvQ2FzZSA9IDExMzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnXFwnKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9Jykgewor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gMTE0
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc8Jykg
eyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgeyBnb3RvQ2FzZSA9
IDExMzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
PycpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDExMzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7IGdvdG9DYXNlID0gMTE0OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjA7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ14nKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7IGdvdG9DYXNlID0gMTE5OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICddJykgeyBnb3RvQ2FzZSA9IDEx
MzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE3
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXicpIHsgZ290b0Nhc2UgPSAxMTg7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNDsg
Y29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA9PSAnYCcpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0g
MTEzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAx
MTc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2An
KSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLWNhc2UgMTE1
OgorY2FzZSAxMTY6CiAgICAgICAgICAgICArK2N1cnNvcjsKLSAgICAgICAgICAgIGlmICgoeXlj
aCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpKSA8PSAnOScpIHsKLSAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnJicpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnIScpIHsgZ290b0Nhc2UgPSA0OTsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA9PSAnJCcpIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgoeXljaCA9IHRoaXMuX2No
YXJBdChjdXJzb3IpKSA8PSAnPCcpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcn
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDEx
NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBn
b3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
Pj0gJyYnKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcsJykgewotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy0nKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnLScpIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7
IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCAhPSAnLicpIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9D
YXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXFwnKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgewotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJz0nKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICddJykgeworICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICc9JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/Jykg
eyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCAhPSAnXFwnKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCAhPSAnXicpIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXycpIHsgZ290b0Nhc2UgPSA1MDsgY29u
dGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gNDk7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7
IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLWNhc2UgMTE2Ogot
ICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29yLCB0cnVlKTsgfQog
Y2FzZSAxMTc6CisgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9zdHJpbmdUb2tlbihjdXJzb3Is
IHRydWUpOyB9CitjYXNlIDExODoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xy
JykgewotICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSA2Nzsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykgeyBnb3RvQ2Fz
ZSA9IDExNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNl
ID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcZicpIHsg
Z290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdcJycpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYn
KSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDEyMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICcmJykgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAxMjM7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAx
MTc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCAhPSAnXFwnKSB7
IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9Ci1jYXNlIDExOToKK2Nhc2UgMTIwOgogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnYScpIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIScpIHsKICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xuJykgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ1x0JykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcdCcpIHsgZ290b0Nhc2UgPSA2ODsgY29udGlu
dWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCAhPSAnXHInKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xyJykgeyBnb3RvQ2FzZSA9IDY4OyBj
b250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2Ug
PSA2NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
MTE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICci
JykgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICdcXCcpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3EnKSB7CiAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdmJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J2InKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdlJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2InKSB7IGdvdG9DYXNlID0gMTE4OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdlJykgeyBnb3Rv
Q2FzZSA9IDY4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAxMTg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gMTE3OyBj
b250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290
b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd0Jykgewot
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdvdG9DYXNlID0gNjc7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAncycpIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd2JykgeyBnb3RvQ2FzZSA9IDEx
NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3YnKSB7
IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAg
ICAgICAgIHRoaXMuc2V0TGV4Q29uZGl0aW9uKHRoaXMuX2xleENvbmRpdGlvbnMuU1NUUklORyk7
CiAgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9zdHJpbmdUb2tlbihjdXJzb3IpOyB9Ci1jYXNl
IDEyMjoKLSAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CiBjYXNlIDEyMzoKKyAgICAgICAg
ICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDExNzsgY29udGludWU7IH07CitjYXNlIDEyNDoKKyAgICAgICAgICAgICsrY3Vyc29yOwor
ICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOworICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJzwnKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeworICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2Ug
PSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnJicp
IHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPj0gJy0nKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXScpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnPScpIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0g
J1xcJykgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnXycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdfJykgeyBn
b3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAx
MjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3on
KSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KK2Nhc2UgMTI2OgorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9u
ID09PSB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24uSU5JVElBTCB8fCB0aGlzLl9jb25k
aXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbi5B
VF9SVUxFKQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29u
ZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZOworICAgICAgICAgICAgICAg
ICAgICB0aGlzLnRva2VuVHlwZSA9ICJzY3NzLXZhcmlhYmxlIjsKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGN1cnNvcjsKKyAgICAgICAgICAgICAgICB9CitjYXNlIDEyNzoKICAgICAgICAg
ICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwog
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ0AnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJy8nKSB7IGdvdG9DYXNlID0gMTI1OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMjM7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICcvJykgeyBnb3RvQ2FzZSA9IDEyOTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gMTI3OyBjb250aW51
ZTsgfTsKICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J0YnKSB7IGdvdG9DYXNlID0gMTIzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAxMjU7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdmJykgeyBnb3RvQ2FzZSA9IDEyMzsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1onKSB7IGdvdG9DYXNlID0gMTI3OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAxMjk7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9
IDEyNzsgY29udGludWU7IH07CiAgICAgICAgICAgICB9Ci1jYXNlIDEyNToKK2Nhc2UgMTI5Ogog
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5faXNQcm9wZXJ0eVZh
bHVlKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtY29s
b3IiOworICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VD
b25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMKQorICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9yIjsKICAgICAgICAgICAg
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBu
dWxsOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAg
IH0KLWNhc2UgMTI2OgorY2FzZSAxMzA6CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAgICAg
ICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2No
YXJBdChjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy0nKSB7CisgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnLicpIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIScpIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykgewogICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsK
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnIScpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJyEnKSB7IGdvdG9DYXNl
ID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICckJykgewotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gMTE1OyBj
b250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICckJykgeyBn
b3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICdcJycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBn
b3RvQ2FzZSA9IDExNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA+PSAnJicpIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1wn
JykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA+PSAnLScpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy0nKSB7IGdvdG9DYXNlID0gMTMwOyBjb250
aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc8JykgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDEyNjsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnPScpIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJz0nKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdAJykgeyBnb3RvQ2FzZSA9IDEyNjsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290
b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ1snKSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzQ7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ14nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwn
KSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICddJykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgeworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggIT0gJ14nKSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICdgJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTMyOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBn
b3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci1jYXNlIDEyODoKK2Nhc2UgMTMyOgogICAgICAg
ICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7
CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHInKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXGYnKSB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
IGlmICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICchJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjI7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIScpIHsgZ290b0Nhc2UgPSAxMzI7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTIzOyBjb250aW51
ZTsgfTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCAhPSAnXFwnKSB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotY2FzZSAxMzA6CitjYXNlIDEzNDoK
ICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChj
dXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2EnKSB7CiAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJyEnKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcbicp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcdCcpIHsgZ290b0Nhc2Ug
PSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XHQnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xyJykgeyBnb3Rv
Q2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ICE9ICdccicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnXCcnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicp
IHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNl
ID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDEzMjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9DYXNlID0gMTI4OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9D
YXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdxJykgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZicpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdiJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZScpIHsgZ290b0Nh
c2UgPSA2NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gMTI4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdiJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnZScpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID09ICduJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID09ICdzJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CiAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAndicpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoID09ICd2JykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9Owog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpA
QCAtMTM2MCwxMTQgKzE0NTEsMTE0IEBAIGNhc2UgMTMwOgogY2FzZSB0aGlzLmNhc2VfU1NUUklO
RzoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdccicpIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7
IGdvdG9DYXNlID0gMTM3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXGYnKSB7IGdvdG9DYXNlID0gMTM2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTM3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9
PSAnXG4nKSB7IGdvdG9DYXNlID0gMTQxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnXGYnKSB7IGdvdG9DYXNlID0gMTQwOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gMTQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxMzY7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTM5OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTQwOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDE0MzsgY29udGludWU7IH07CiAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
J1xcJykgeyBnb3RvQ2FzZSA9IDE0MTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSAxMzY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAnXFwnKSB7IGdvdG9DYXNlID0gMTQ1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDE0MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQotY2FzZSAxMzU6CitjYXNlIDEzOToKICAgICAgICAgICAgIHsgcmV0
dXJuIHRoaXMuX3N0cmluZ1Rva2VuKGN1cnNvcik7IH0KLWNhc2UgMTM2OgorY2FzZSAxNDA6CiAg
ICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0
KFlZTUFSS0VSID0gKytjdXJzb3IpOwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDE0MzsgY29u
dGludWU7IH07Ci1jYXNlIDEzNzoKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxNDc7IGNvbnRp
bnVlOyB9OworY2FzZSAxNDE6CiAgICAgICAgICAgICArK2N1cnNvcjsKLWNhc2UgMTM4OgorY2Fz
ZSAxNDI6CiAgICAgICAgICAgICB7IHRoaXMudG9rZW5UeXBlID0gbnVsbDsgcmV0dXJuIGN1cnNv
cjsgfQotY2FzZSAxMzk6CitjYXNlIDE0MzoKICAgICAgICAgICAgICsrY3Vyc29yOwotY2FzZSAx
NDA6CitjYXNlIDE0NDoKICAgICAgICAgICAgIHRoaXMuc2V0TGV4Q29uZGl0aW9uKHRoaXMuX2xl
eENvbmRpdGlvbnMuSU5JVElBTCk7CiAgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9zdHJpbmdU
b2tlbihjdXJzb3IsIHRydWUpOyB9Ci1jYXNlIDE0MToKK2Nhc2UgMTQ1OgogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
ZScpIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoID09ICciJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDEzODsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICciJykgeyBnb3RvQ2Fz
ZSA9IDE0NjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcm
JykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgewotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7IGdvdG9DYXNlID0gMTM4OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdbJykgeyBnb3RvQ2FzZSA9
IDE0MjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCAhPSAnYicpIHsgZ290b0Nhc2UgPSAxMzg7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ2InKSB7IGdvdG9D
YXNlID0gMTQyOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ3InKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdtJykgewotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ2cnKSB7IGdvdG9DYXNlID0gMTM4OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdnJykgeyBnb3Rv
Q2FzZSA9IDE0MjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnbicpIHsgZ290b0Nhc2UgPSAxNDI7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3EnKSB7
IGdvdG9DYXNlID0gMTM4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICduJykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncScpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3QnKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAncycpIHsgZ290b0Nhc2UgPSAxMzg7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3MnKSB7IGdvdG9DYXNlID0gMTQyOyBj
b250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoICE9ICd2JykgeyBnb3RvQ2FzZSA9IDEzODsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCAhPSAndicpIHsgZ290b0Nhc2UgPSAx
NDI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQotY2FzZSAxNDI6CitjYXNlIDE0NjoKICAgICAgICAgICAgIHl5YWNj
ZXB0ID0gMDsKICAgICAgICAgICAgIFlZTUFSS0VSID0gKytjdXJzb3I7CiAgICAgICAgICAgICB5
eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci1jYXNlIDE0MzoKK2Nhc2UgMTQ3OgogICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ1xyJykgewotICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdc
bicpIHsgZ290b0Nhc2UgPSAxMzU7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAxMzU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5
eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSAxMzk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzk7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTUwOyBjb250aW51ZTsg
fTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCAhPSAnXFwnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7IH07CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgKytjdXJzb3I7CiAg
ICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnZScpIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICciJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdcJycpIHsgZ290b0Nhc2Ug
PSAxNDI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnIicp
IHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA+PSAnXCcnKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXFwnKSB7IGdvdG9DYXNlID0gMTQy
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdcXCcp
IHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2InKSB7IGdvdG9DYXNl
ID0gMTQyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICdiJykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdyJykgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
bScpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdmJykgeyBnb3RvQ2Fz
ZSA9IDE0MjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnZicpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ24nKSB7IGdv
dG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID49ICdyJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnbicpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ3InKSB7IGdvdG9DYXNlID0g
MTQ2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd0JykgewotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ3QnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICd0JykgeyBnb3Rv
Q2FzZSA9IDE0NjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAndicpIHsgZ290b0Nhc2UgPSAxNDI7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3YnKSB7
IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGN1cnNvciA9IFlZTUFS
S0VSOwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEzNTsgY29udGludWU7IH07Ci1jYXNlIDE0
NjoKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzk7IGNvbnRpbnVlOyB9OworY2FzZSAxNTA6
CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQo
Y3Vyc29yKTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxNDA7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDE0NDsgY29udGludWU7IH07CiAgICAgICAgIH0KIAogICAg
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nv
dXJjZUNTU1Rva2VuaXplci5yZTJqcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCmluZGV4IDllN2IzZmYyMjQ3YjYyZjhkNGRkZmM4
YTJhZWVkMmJhMTEwMTNhZmIuLjYyOGU0OGEwNzI4YzdhMjk3NzNiMTAxZmM4ZWY2ODcyMWY5MTNm
N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
Q1NTVG9rZW5pemVyLnJlMmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCkBAIC01MSw2MSArNTEsOSBAQCBXZWJJbnNwZWN0
b3IuU291cmNlQ1NTVG9rZW5pemVyID0gZnVuY3Rpb24oKQogewogICAgIFdlYkluc3BlY3Rvci5T
b3VyY2VUb2tlbml6ZXIuY2FsbCh0aGlzKTsKIAotICAgIHRoaXMuX3Byb3BlcnR5S2V5d29yZHMg
PSBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuY3NzUHJvcGVydGllc01ldGFpbmZvLmtleVNl
dCgpOworICAgIHRoaXMuX3Byb3BlcnR5S2V5d29yZHMgPSBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxl
dGlvbnMuY3NzUHJvcGVydGllc01ldGFpbmZvS2V5U2V0KCk7CiAgICAgdGhpcy5fY29sb3JLZXl3
b3JkcyA9IFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuY29sb3JzKCk7CiAKLSAg
ICB0aGlzLl92YWx1ZUtleXdvcmRzID0gWwotICAgICAgICAiYWJvdmUiLCAiYWJzb2x1dGUiLCAi
YWN0aXZlYm9yZGVyIiwgImFjdGl2ZWNhcHRpb24iLCAiYWZhciIsICJhZnRlci13aGl0ZS1zcGFj
ZSIsICJhaGVhZCIsICJhbGlhcyIsICJhbGwiLCAiYWxsLXNjcm9sbCIsCi0gICAgICAgICJhbHRl
cm5hdGUiLCAiYWx3YXlzIiwgImFtaGFyaWMiLCAiYW1oYXJpYy1hYmVnZWRlIiwgImFudGlhbGlh
c2VkIiwgImFwcHdvcmtzcGFjZSIsICJhcmFiaWMtaW5kaWMiLCAiYXJtZW5pYW4iLCAiYXN0ZXJp
c2tzIiwKLSAgICAgICAgImF1dG8iLCAiYXZvaWQiLCAiYmFja2dyb3VuZCIsICJiYWNrd2FyZHMi
LCAiYmFzZWxpbmUiLCAiYmVsb3ciLCAiYmlkaS1vdmVycmlkZSIsICJiaW5hcnkiLCAiYmVuZ2Fs
aSIsICJibGluayIsCi0gICAgICAgICJibG9jayIsICJibG9jay1heGlzIiwgImJvbGQiLCAiYm9s
ZGVyIiwgImJvcmRlciIsICJib3JkZXItYm94IiwgImJvdGgiLCAiYm90dG9tIiwgImJyZWFrLWFs
bCIsICJicmVhay13b3JkIiwgImJ1dHRvbiIsCi0gICAgICAgICJidXR0b24tYmV2ZWwiLCAiYnV0
dG9uZmFjZSIsICJidXR0b25oaWdobGlnaHQiLCAiYnV0dG9uc2hhZG93IiwgImJ1dHRvbnRleHQi
LCAiY2FtYm9kaWFuIiwgImNhcGl0YWxpemUiLCAiY2Fwcy1sb2NrLWluZGljYXRvciIsCi0gICAg
ICAgICJjYXB0aW9uIiwgImNhcHRpb250ZXh0IiwgImNhcmV0IiwgImNlbGwiLCAiY2VudGVyIiwg
ImNoZWNrYm94IiwgImNpcmNsZSIsICJjamstZWFydGhseS1icmFuY2giLCAiY2prLWhlYXZlbmx5
LXN0ZW0iLCAiY2prLWlkZW9ncmFwaGljIiwKLSAgICAgICAgImNsZWFyIiwgImNsaXAiLCAiY2xv
c2UtcXVvdGUiLCAiY29sLXJlc2l6ZSIsICJjb2xsYXBzZSIsICJjb21wYWN0IiwgImNvbmRlbnNl
ZCIsICJjb250YWluIiwgImNvbnRlbnQiLCAiY29udGVudC1ib3giLCAiY29udGV4dC1tZW51IiwK
LSAgICAgICAgImNvbnRpbnVvdXMiLCAiY29weSIsICJjb3ZlciIsICJjcm9wIiwgImNyb3NzIiwg
ImNyb3NzaGFpciIsICJjdXJyZW50Y29sb3IiLCAiY3Vyc2l2ZSIsICJkYXNoZWQiLCAiZGVjaW1h
bCIsICJkZWNpbWFsLWxlYWRpbmctemVybyIsICJkZWZhdWx0IiwKLSAgICAgICAgImRlZmF1bHQt
YnV0dG9uIiwgImRlc3RpbmF0aW9uLWF0b3AiLCAiZGVzdGluYXRpb24taW4iLCAiZGVzdGluYXRp
b24tb3V0IiwgImRlc3RpbmF0aW9uLW92ZXIiLCAiZGV2YW5hZ2FyaSIsICJkaXNjIiwgImRpc2Nh
cmQiLCAiZG9jdW1lbnQiLAotICAgICAgICAiZG90LWRhc2giLCAiZG90LWRvdC1kYXNoIiwgImRv
dHRlZCIsICJkb3VibGUiLCAiZG93biIsICJlLXJlc2l6ZSIsICJlYXNlIiwgImVhc2UtaW4iLCAi
ZWFzZS1pbi1vdXQiLCAiZWFzZS1vdXQiLCAiZWxlbWVudCIsCi0gICAgICAgICJlbGxpcHNpcyIs
ICJlbWJlZCIsICJlbmQiLCAiZXRoaW9waWMiLCAiZXRoaW9waWMtYWJlZ2VkZSIsICJldGhpb3Bp
Yy1hYmVnZWRlLWFtLWV0IiwgImV0aGlvcGljLWFiZWdlZGUtZ2V6IiwKLSAgICAgICAgImV0aGlv
cGljLWFiZWdlZGUtdGktZXIiLCAiZXRoaW9waWMtYWJlZ2VkZS10aS1ldCIsICJldGhpb3BpYy1o
YWxlaGFtZS1hYS1lciIsICJldGhpb3BpYy1oYWxlaGFtZS1hYS1ldCIsCi0gICAgICAgICJldGhp
b3BpYy1oYWxlaGFtZS1hbS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS1nZXoiLCAiZXRoaW9waWMt
aGFsZWhhbWUtb20tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0IiwKLSAgICAgICAgImV0
aGlvcGljLWhhbGVoYW1lLXNvLWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLXRpLWVyIiwgImV0aGlv
cGljLWhhbGVoYW1lLXRpLWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLXRpZyIsICJldy1yZXNpemUi
LCAiZXhwYW5kZWQiLAotICAgICAgICAiZXh0cmEtY29uZGVuc2VkIiwgImV4dHJhLWV4cGFuZGVk
IiwgImZhbnRhc3kiLCAiZmFzdCIsICJmaWxsIiwgImZpeGVkIiwgImZsYXQiLCAiZm9vdG5vdGVz
IiwgImZvcndhcmRzIiwgImZyb20iLCAiZ2VvbWV0cmljUHJlY2lzaW9uIiwKLSAgICAgICAgImdl
b3JnaWFuIiwgImdyYXl0ZXh0IiwgImdyb292ZSIsICJndWphcmF0aSIsICJndXJtdWtoaSIsICJo
YW5kIiwgImhhbmd1bCIsICJoYW5ndWwtY29uc29uYW50IiwgImhlYnJldyIsICJoZWxwIiwKLSAg
ICAgICAgImhpZGRlbiIsICJoaWRlIiwgImhpZ2hlciIsICJoaWdobGlnaHQiLCAiaGlnaGxpZ2h0
dGV4dCIsICJoaXJhZ2FuYSIsICJoaXJhZ2FuYS1pcm9oYSIsICJob3Jpem9udGFsIiwgImhzbCIs
ICJoc2xhIiwgImljb24iLCAiaWdub3JlIiwKLSAgICAgICAgImluYWN0aXZlYm9yZGVyIiwgImlu
YWN0aXZlY2FwdGlvbiIsICJpbmFjdGl2ZWNhcHRpb250ZXh0IiwgImluZmluaXRlIiwgImluZm9i
YWNrZ3JvdW5kIiwgImluZm90ZXh0IiwgImluaGVyaXQiLCAiaW5pdGlhbCIsICJpbmxpbmUiLAot
ICAgICAgICAiaW5saW5lLWF4aXMiLCAiaW5saW5lLWJsb2NrIiwgImlubGluZS10YWJsZSIsICJp
bnNldCIsICJpbnNpZGUiLCAiaW50cmluc2ljIiwgImludmVydCIsICJpdGFsaWMiLCAianVzdGlm
eSIsICJrYW5uYWRhIiwgImthdGFrYW5hIiwKLSAgICAgICAgImthdGFrYW5hLWlyb2hhIiwgImto
bWVyIiwgImxhbmRzY2FwZSIsICJsYW8iLCAibGFyZ2UiLCAibGFyZ2VyIiwgImxlZnQiLCAibGV2
ZWwiLCAibGlnaHRlciIsICJsaW5lLXRocm91Z2giLCAibGluZWFyIiwgImxpbmVzIiwKLSAgICAg
ICAgImxpc3QtaXRlbSIsICJsaXN0Ym94IiwgImxpc3RpdGVtIiwgImxvY2FsIiwgImxvZ2ljYWwi
LCAibG91ZCIsICJsb3dlciIsICJsb3dlci1hbHBoYSIsICJsb3dlci1hcm1lbmlhbiIsICJsb3dl
ci1ncmVlayIsCi0gICAgICAgICJsb3dlci1oZXhhZGVjaW1hbCIsICJsb3dlci1sYXRpbiIsICJs
b3dlci1ub3J3ZWdpYW4iLCAibG93ZXItcm9tYW4iLCAibG93ZXJjYXNlIiwgImx0ciIsICJtYWxh
eWFsYW0iLCAibWF0Y2giLCAibWVkaWEtY29udHJvbHMtYmFja2dyb3VuZCIsCi0gICAgICAgICJt
ZWRpYS1jdXJyZW50LXRpbWUtZGlzcGxheSIsICJtZWRpYS1mdWxsc2NyZWVuLWJ1dHRvbiIsICJt
ZWRpYS1tdXRlLWJ1dHRvbiIsICJtZWRpYS1wbGF5LWJ1dHRvbiIsICJtZWRpYS1yZXR1cm4tdG8t
cmVhbHRpbWUtYnV0dG9uIiwKLSAgICAgICAgIm1lZGlhLXJld2luZC1idXR0b24iLCAibWVkaWEt
c2Vlay1iYWNrLWJ1dHRvbiIsICJtZWRpYS1zZWVrLWZvcndhcmQtYnV0dG9uIiwgIm1lZGlhLXNs
aWRlciIsICJtZWRpYS1zbGlkZXJ0aHVtYiIsICJtZWRpYS10aW1lLXJlbWFpbmluZy1kaXNwbGF5
IiwKLSAgICAgICAgIm1lZGlhLXZvbHVtZS1zbGlkZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlci1j
b250YWluZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlcnRodW1iIiwgIm1lZGl1bSIsICJtZW51Iiwg
Im1lbnVsaXN0IiwgIm1lbnVsaXN0LWJ1dHRvbiIsCi0gICAgICAgICJtZW51bGlzdC10ZXh0Iiwg
Im1lbnVsaXN0LXRleHRmaWVsZCIsICJtZW51dGV4dCIsICJtZXNzYWdlLWJveCIsICJtaWRkbGUi
LCAibWluLWludHJpbnNpYyIsICJtaXgiLCAibW9uZ29saWFuIiwgIm1vbm9zcGFjZSIsICJtb3Zl
IiwgIm11bHRpcGxlIiwKLSAgICAgICAgIm15YW5tYXIiLCAibi1yZXNpemUiLCAibmFycm93ZXIi
LCAibmF2eSIsICJuZS1yZXNpemUiLCAibmVzdy1yZXNpemUiLCAibm8tY2xvc2UtcXVvdGUiLCAi
bm8tZHJvcCIsICJuby1vcGVuLXF1b3RlIiwgIm5vLXJlcGVhdCIsICJub25lIiwKLSAgICAgICAg
Im5vcm1hbCIsICJub3QtYWxsb3dlZCIsICJub3dyYXAiLCAibnMtcmVzaXplIiwgIm53LXJlc2l6
ZSIsICJud3NlLXJlc2l6ZSIsICJvYmxpcXVlIiwgIm9jdGFsIiwgIm9wZW4tcXVvdGUiLCAib3B0
aW1pemVMZWdpYmlsaXR5IiwKLSAgICAgICAgIm9wdGltaXplU3BlZWQiLCAib3JpeWEiLCAib3Jv
bW8iLCAib3V0c2V0IiwgIm91dHNpZGUiLCAib3ZlcmxheSIsICJvdmVybGluZSIsICJwYWRkaW5n
IiwgInBhZGRpbmctYm94IiwgInBhaW50ZWQiLCAicGF1c2VkIiwKLSAgICAgICAgInBlcnNpYW4i
LCAicGx1cy1kYXJrZXIiLCAicGx1cy1saWdodGVyIiwgInBvaW50ZXIiLCAicG9ydHJhaXQiLCAi
cHJlIiwgInByZS1saW5lIiwgInByZS13cmFwIiwgInByZXNlcnZlLTNkIiwgInByb2dyZXNzIiwK
LSAgICAgICAgInB1c2gtYnV0dG9uIiwgInJhZGlvIiwgInJlYWQtb25seSIsICJyZWFkLXdyaXRl
IiwgInJlYWQtd3JpdGUtcGxhaW50ZXh0LW9ubHkiLCAicmVsYXRpdmUiLCAicmVwZWF0IiwgInJl
cGVhdC14IiwKLSAgICAgICAgInJlcGVhdC15IiwgInJlc2V0IiwgInJldmVyc2UiLCAicmdiIiwg
InJnYmEiLCAicmlkZ2UiLCAicmlnaHQiLCAicm91bmQiLCAicm93LXJlc2l6ZSIsICJydGwiLCAi
cnVuLWluIiwgInJ1bm5pbmciLCAicy1yZXNpemUiLCAic2Fucy1zZXJpZiIsCi0gICAgICAgICJz
Y3JvbGwiLCAic2Nyb2xsYmFyIiwgInNlLXJlc2l6ZSIsICJzZWFyY2hmaWVsZCIsICJzZWFyY2hm
aWVsZC1jYW5jZWwtYnV0dG9uIiwgInNlYXJjaGZpZWxkLWRlY29yYXRpb24iLCAic2VhcmNoZmll
bGQtcmVzdWx0cy1idXR0b24iLAotICAgICAgICAic2VhcmNoZmllbGQtcmVzdWx0cy1kZWNvcmF0
aW9uIiwgInNlbWktY29uZGVuc2VkIiwgInNlbWktZXhwYW5kZWQiLCAic2VwYXJhdGUiLCAic2Vy
aWYiLCAic2hvdyIsICJzaWRhbWEiLCAic2luZ2xlIiwKLSAgICAgICAgInNraXAtd2hpdGUtc3Bh
Y2UiLCAic2xpZGUiLCAic2xpZGVyLWhvcml6b250YWwiLCAic2xpZGVyLXZlcnRpY2FsIiwgInNs
aWRlcnRodW1iLWhvcml6b250YWwiLCAic2xpZGVydGh1bWItdmVydGljYWwiLCAic2xvdyIsCi0g
ICAgICAgICJzbWFsbCIsICJzbWFsbC1jYXBzIiwgInNtYWxsLWNhcHRpb24iLCAic21hbGxlciIs
ICJzb2xpZCIsICJzb21hbGkiLCAic291cmNlLWF0b3AiLCAic291cmNlLWluIiwgInNvdXJjZS1v
dXQiLCAic291cmNlLW92ZXIiLAotICAgICAgICAic3BhY2UiLCAic3F1YXJlIiwgInNxdWFyZS1i
dXR0b24iLCAic3RhcnQiLCAic3RhdGljIiwgInN0YXR1cy1iYXIiLCAic3RyZXRjaCIsICJzdHJv
a2UiLCAic3ViIiwgInN1YnBpeGVsLWFudGlhbGlhc2VkIiwgInN1cGVyIiwKLSAgICAgICAgInN3
LXJlc2l6ZSIsICJ0YWJsZSIsICJ0YWJsZS1jYXB0aW9uIiwgInRhYmxlLWNlbGwiLCAidGFibGUt
Y29sdW1uIiwgInRhYmxlLWNvbHVtbi1ncm91cCIsICJ0YWJsZS1mb290ZXItZ3JvdXAiLCAidGFi
bGUtaGVhZGVyLWdyb3VwIiwKLSAgICAgICAgInRhYmxlLXJvdyIsICJ0YWJsZS1yb3ctZ3JvdXAi
LCAidGVsdWd1IiwgInRleHQiLCAidGV4dC1ib3R0b20iLCAidGV4dC10b3AiLCAidGV4dGFyZWEi
LCAidGV4dGZpZWxkIiwgInRoYWkiLCAidGhpY2siLCAidGhpbiIsCi0gICAgICAgICJ0aHJlZWRk
YXJrc2hhZG93IiwgInRocmVlZGZhY2UiLCAidGhyZWVkaGlnaGxpZ2h0IiwgInRocmVlZGxpZ2h0
c2hhZG93IiwgInRocmVlZHNoYWRvdyIsICJ0aWJldGFuIiwgInRpZ3JlIiwgInRpZ3JpbnlhLWVy
IiwgInRpZ3JpbnlhLWVyLWFiZWdlZGUiLAotICAgICAgICAidGlncmlueWEtZXQiLCAidGlncmlu
eWEtZXQtYWJlZ2VkZSIsICJ0byIsICJ0b3AiLCAidHJhbnNwYXJlbnQiLCAidWx0cmEtY29uZGVu
c2VkIiwgInVsdHJhLWV4cGFuZGVkIiwgInVuZGVybGluZSIsICJ1cCIsICJ1cHBlci1hbHBoYSIs
ICJ1cHBlci1hcm1lbmlhbiIsCi0gICAgICAgICJ1cHBlci1ncmVlayIsICJ1cHBlci1oZXhhZGVj
aW1hbCIsICJ1cHBlci1sYXRpbiIsICJ1cHBlci1ub3J3ZWdpYW4iLCAidXBwZXItcm9tYW4iLCAi
dXBwZXJjYXNlIiwgInVyZHUiLCAidXJsIiwgInZlcnRpY2FsIiwgInZlcnRpY2FsLXRleHQiLCAi
dmlzaWJsZSIsCi0gICAgICAgICJ2aXNpYmxlRmlsbCIsICJ2aXNpYmxlUGFpbnRlZCIsICJ2aXNp
YmxlU3Ryb2tlIiwgInZpc3VhbCIsICJ3LXJlc2l6ZSIsICJ3YWl0IiwgIndhdmUiLCAid2hpdGUi
LCAid2lkZXIiLCAid2luZG93IiwgIndpbmRvd2ZyYW1lIiwgIndpbmRvd3RleHQiLAotICAgICAg
ICAieC1sYXJnZSIsICJ4LXNtYWxsIiwgInhvciIsICJ4eC1sYXJnZSIsICJ4eC1zbWFsbCIsICJ5
ZWxsb3ciLCAiLXdhcC1tYXJxdWVlIiwgIi13ZWJraXQtYWN0aXZlbGluayIsICItd2Via2l0LWF1
dG8iLCAiLXdlYmtpdC1iYXNlbGluZS1taWRkbGUiLAotICAgICAgICAiLXdlYmtpdC1ib2R5Iiwg
Ii13ZWJraXQtYm94IiwgIi13ZWJraXQtY2VudGVyIiwgIi13ZWJraXQtY29udHJvbCIsICItd2Vi
a2l0LWZvY3VzLXJpbmctY29sb3IiLCAiLXdlYmtpdC1ncmFiIiwgIi13ZWJraXQtZ3JhYmJpbmci
LAotICAgICAgICAiLXdlYmtpdC1ncmFkaWVudCIsICItd2Via2l0LWlubGluZS1ib3giLCAiLXdl
YmtpdC1sZWZ0IiwgIi13ZWJraXQtbGluayIsICItd2Via2l0LW1hcnF1ZWUiLCAiLXdlYmtpdC1t
aW5pLWNvbnRyb2wiLCAiLXdlYmtpdC1ub3dyYXAiLCAiLXdlYmtpdC1waWN0b2dyYXBoIiwKLSAg
ICAgICAgIi13ZWJraXQtcmlnaHQiLCAiLXdlYmtpdC1zbWFsbC1jb250cm9sIiwgIi13ZWJraXQt
dGV4dCIsICItd2Via2l0LXh4eC1sYXJnZSIsICItd2Via2l0LXpvb20taW4iLCAiLXdlYmtpdC16
b29tLW91dCIsCi0gICAgXS5rZXlTZXQoKTsKLQotICAgIHRoaXMuX21lZGlhVHlwZXMgPSBbImFs
bCIsICJhdXJhbCIsICJicmFpbGxlIiwgImVtYm9zc2VkIiwgImhhbmRoZWxkIiwgImltcG9ydCIs
ICJwcmludCIsICJwcm9qZWN0aW9uIiwgInNjcmVlbiIsICJ0dHkiLCAidHYiXS5rZXlTZXQoKTsK
LQogICAgIHRoaXMuX2xleENvbmRpdGlvbnMgPSB7CiAgICAgICAgIElOSVRJQUw6IDAsCiAgICAg
ICAgIENPTU1FTlQ6IDEsCkBAIC0xMjksNiArNzcsNjkgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNT
U1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLmNvbmRpdGlvbiA9IHRoaXMuY3JlYXRl
SW5pdGlhbENvbmRpdGlvbigpOwogfQogCitXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVy
LkF0UmVsYXRlZEtleXdvcmRzID0gWworICAgImZyb20iLCAiaWYiLCAiaW4iLCAidGhyb3VnaCIK
K10ua2V5U2V0KCk7CisKK1dlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuTWVkaWFUeXBl
cyA9IFsiYWxsIiwgImF1cmFsIiwgImJyYWlsbGUiLCAiZW1ib3NzZWQiLCAiaGFuZGhlbGQiLCAi
aW1wb3J0IiwgInByaW50IiwgInByb2plY3Rpb24iLCAic2NyZWVuIiwgInR0eSIsICJ0diJdLmtl
eVNldCgpOworCitXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLlNDU1NWYWx1ZUtleXdv
cmRzID0gWworICAgICJhYnMiLCAiYWRqdXN0LWNvbG9yIiwgImFkanVzdC1odWUiLCAiYWxwaGEi
LCAiYXBwZW5kIiwgImNlaWwiLCAiY2hhbmdlLWNvbG9yIiwgImNvbXBhcmFibGUiLCAiY29tcGxl
bWVudCIsICJkYXJrZW4iLCAiZGVzYXR1cmF0ZSIsCisgICAgImZhZGUtaW4iLCAiZmFkZS1vdXQi
LCAiZmxvb3IiLCAiZ3JheXNjYWxlIiwgImh1ZSIsICJpZS1oZXgtc3RyIiwgImludmVydCIsICJq
b2luIiwgImxlbmd0aCIsICJsaWdodGVuIiwKKyAgICAibGlnaHRuZXNzIiwgIm1heCIsICJtaW4i
LCAibWl4IiwgIm50aCIsICJvcGFjaWZ5IiwgIm9wYWNpdHkiLCAicGVyY2VudGFnZSIsICJxdW90
ZSIsICJyb3VuZCIsICJzYXR1cmF0ZSIsCisgICAgInNhdHVyYXRpb24iLCAic2NhbGUtY29sb3Ii
LCAidHJhbnNwYXJlbnRpemUiLCAidHlwZS1vZiIsICJ1bml0IiwgInVuaXRsZXNzIiwgInVucXVv
dGUiLCAiemlwIgorXS5rZXlTZXQoKTsKKworV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXpl
ci5WYWx1ZUtleXdvcmRzID0gWworICAgICJhYm92ZSIsICJhYnNvbHV0ZSIsICJhY3RpdmVib3Jk
ZXIiLCAiYWN0aXZlY2FwdGlvbiIsICJhZmFyIiwgImFmdGVyLXdoaXRlLXNwYWNlIiwgImFoZWFk
IiwgImFsaWFzIiwgImFsbCIsICJhbGwtc2Nyb2xsIiwKKyAgICAiYWx0ZXJuYXRlIiwgImFsd2F5
cyIsICJhbWhhcmljIiwgImFtaGFyaWMtYWJlZ2VkZSIsICJhbnRpYWxpYXNlZCIsICJhcHB3b3Jr
c3BhY2UiLCAiYXJhYmljLWluZGljIiwgImFybWVuaWFuIiwgImFzdGVyaXNrcyIsCisgICAgImF1
dG8iLCAiYXZvaWQiLCAiYmFja2dyb3VuZCIsICJiYWNrd2FyZHMiLCAiYmFzZWxpbmUiLCAiYmVs
b3ciLCAiYmlkaS1vdmVycmlkZSIsICJiaW5hcnkiLCAiYmVuZ2FsaSIsICJibGluayIsCisgICAg
ImJsb2NrIiwgImJsb2NrLWF4aXMiLCAiYm9sZCIsICJib2xkZXIiLCAiYm9yZGVyIiwgImJvcmRl
ci1ib3giLCAiYm90aCIsICJib3R0b20iLCAiYnJlYWstYWxsIiwgImJyZWFrLXdvcmQiLCAiYnV0
dG9uIiwKKyAgICAiYnV0dG9uLWJldmVsIiwgImJ1dHRvbmZhY2UiLCAiYnV0dG9uaGlnaGxpZ2h0
IiwgImJ1dHRvbnNoYWRvdyIsICJidXR0b250ZXh0IiwgImNhbWJvZGlhbiIsICJjYXBpdGFsaXpl
IiwgImNhcHMtbG9jay1pbmRpY2F0b3IiLAorICAgICJjYXB0aW9uIiwgImNhcHRpb250ZXh0Iiwg
ImNhcmV0IiwgImNlbGwiLCAiY2VudGVyIiwgImNoZWNrYm94IiwgImNpcmNsZSIsICJjamstZWFy
dGhseS1icmFuY2giLCAiY2prLWhlYXZlbmx5LXN0ZW0iLCAiY2prLWlkZW9ncmFwaGljIiwKKyAg
ICAiY2xlYXIiLCAiY2xpcCIsICJjbG9zZS1xdW90ZSIsICJjb2wtcmVzaXplIiwgImNvbGxhcHNl
IiwgImNvbXBhY3QiLCAiY29uZGVuc2VkIiwgImNvbnRhaW4iLCAiY29udGVudCIsICJjb250ZW50
LWJveCIsICJjb250ZXh0LW1lbnUiLAorICAgICJjb250aW51b3VzIiwgImNvcHkiLCAiY292ZXIi
LCAiY3JvcCIsICJjcm9zcyIsICJjcm9zc2hhaXIiLCAiY3VycmVudGNvbG9yIiwgImN1cnNpdmUi
LCAiZGFzaGVkIiwgImRlY2ltYWwiLCAiZGVjaW1hbC1sZWFkaW5nLXplcm8iLCAiZGVmYXVsdCIs
CisgICAgImRlZmF1bHQtYnV0dG9uIiwgImRlc3RpbmF0aW9uLWF0b3AiLCAiZGVzdGluYXRpb24t
aW4iLCAiZGVzdGluYXRpb24tb3V0IiwgImRlc3RpbmF0aW9uLW92ZXIiLCAiZGV2YW5hZ2FyaSIs
ICJkaXNjIiwgImRpc2NhcmQiLCAiZG9jdW1lbnQiLAorICAgICJkb3QtZGFzaCIsICJkb3QtZG90
LWRhc2giLCAiZG90dGVkIiwgImRvdWJsZSIsICJkb3duIiwgImUtcmVzaXplIiwgImVhc2UiLCAi
ZWFzZS1pbiIsICJlYXNlLWluLW91dCIsICJlYXNlLW91dCIsICJlbGVtZW50IiwKKyAgICAiZWxs
aXBzaXMiLCAiZW1iZWQiLCAiZW5kIiwgImV0aGlvcGljIiwgImV0aGlvcGljLWFiZWdlZGUiLCAi
ZXRoaW9waWMtYWJlZ2VkZS1hbS1ldCIsICJldGhpb3BpYy1hYmVnZWRlLWdleiIsCisgICAgImV0
aGlvcGljLWFiZWdlZGUtdGktZXIiLCAiZXRoaW9waWMtYWJlZ2VkZS10aS1ldCIsICJldGhpb3Bp
Yy1oYWxlaGFtZS1hYS1lciIsICJldGhpb3BpYy1oYWxlaGFtZS1hYS1ldCIsCisgICAgImV0aGlv
cGljLWhhbGVoYW1lLWFtLWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLWdleiIsICJldGhpb3BpYy1o
YWxlaGFtZS1vbS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS1zaWQtZXQiLAorICAgICJldGhpb3Bp
Yy1oYWxlaGFtZS1zby1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aS1lciIsICJldGhpb3BpYy1o
YWxlaGFtZS10aS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aWciLCAiZXctcmVzaXplIiwgImV4
cGFuZGVkIiwKKyAgICAiZXh0cmEtY29uZGVuc2VkIiwgImV4dHJhLWV4cGFuZGVkIiwgImZhbnRh
c3kiLCAiZmFzdCIsICJmaWxsIiwgImZpeGVkIiwgImZsYXQiLCAiZm9vdG5vdGVzIiwgImZvcndh
cmRzIiwgImZyb20iLCAiZ2VvbWV0cmljUHJlY2lzaW9uIiwKKyAgICAiZ2VvcmdpYW4iLCAiZ3Jh
eXRleHQiLCAiZ3Jvb3ZlIiwgImd1amFyYXRpIiwgImd1cm11a2hpIiwgImhhbmQiLCAiaGFuZ3Vs
IiwgImhhbmd1bC1jb25zb25hbnQiLCAiaGVicmV3IiwgImhlbHAiLAorICAgICJoaWRkZW4iLCAi
aGlkZSIsICJoaWdoZXIiLCAiaGlnaGxpZ2h0IiwgImhpZ2hsaWdodHRleHQiLCAiaGlyYWdhbmEi
LCAiaGlyYWdhbmEtaXJvaGEiLCAiaG9yaXpvbnRhbCIsICJoc2wiLCAiaHNsYSIsICJpY29uIiwg
Imlnbm9yZSIsCisgICAgImluYWN0aXZlYm9yZGVyIiwgImluYWN0aXZlY2FwdGlvbiIsICJpbmFj
dGl2ZWNhcHRpb250ZXh0IiwgImluZmluaXRlIiwgImluZm9iYWNrZ3JvdW5kIiwgImluZm90ZXh0
IiwgImluaGVyaXQiLCAiaW5pdGlhbCIsICJpbmxpbmUiLAorICAgICJpbmxpbmUtYXhpcyIsICJp
bmxpbmUtYmxvY2siLCAiaW5saW5lLXRhYmxlIiwgImluc2V0IiwgImluc2lkZSIsICJpbnRyaW5z
aWMiLCAiaW52ZXJ0IiwgIml0YWxpYyIsICJqdXN0aWZ5IiwgImthbm5hZGEiLCAia2F0YWthbmEi
LAorICAgICJrYXRha2FuYS1pcm9oYSIsICJraG1lciIsICJsYW5kc2NhcGUiLCAibGFvIiwgImxh
cmdlIiwgImxhcmdlciIsICJsZWZ0IiwgImxldmVsIiwgImxpZ2h0ZXIiLCAibGluZS10aHJvdWdo
IiwgImxpbmVhciIsICJsaW5lcyIsCisgICAgImxpc3QtaXRlbSIsICJsaXN0Ym94IiwgImxpc3Rp
dGVtIiwgImxvY2FsIiwgImxvZ2ljYWwiLCAibG91ZCIsICJsb3dlciIsICJsb3dlci1hbHBoYSIs
ICJsb3dlci1hcm1lbmlhbiIsICJsb3dlci1ncmVlayIsCisgICAgImxvd2VyLWhleGFkZWNpbWFs
IiwgImxvd2VyLWxhdGluIiwgImxvd2VyLW5vcndlZ2lhbiIsICJsb3dlci1yb21hbiIsICJsb3dl
cmNhc2UiLCAibHRyIiwgIm1hbGF5YWxhbSIsICJtYXRjaCIsICJtZWRpYS1jb250cm9scy1iYWNr
Z3JvdW5kIiwKKyAgICAibWVkaWEtY3VycmVudC10aW1lLWRpc3BsYXkiLCAibWVkaWEtZnVsbHNj
cmVlbi1idXR0b24iLCAibWVkaWEtbXV0ZS1idXR0b24iLCAibWVkaWEtcGxheS1idXR0b24iLCAi
bWVkaWEtcmV0dXJuLXRvLXJlYWx0aW1lLWJ1dHRvbiIsCisgICAgIm1lZGlhLXJld2luZC1idXR0
b24iLCAibWVkaWEtc2Vlay1iYWNrLWJ1dHRvbiIsICJtZWRpYS1zZWVrLWZvcndhcmQtYnV0dG9u
IiwgIm1lZGlhLXNsaWRlciIsICJtZWRpYS1zbGlkZXJ0aHVtYiIsICJtZWRpYS10aW1lLXJlbWFp
bmluZy1kaXNwbGF5IiwKKyAgICAibWVkaWEtdm9sdW1lLXNsaWRlciIsICJtZWRpYS12b2x1bWUt
c2xpZGVyLWNvbnRhaW5lciIsICJtZWRpYS12b2x1bWUtc2xpZGVydGh1bWIiLCAibWVkaXVtIiwg
Im1lbnUiLCAibWVudWxpc3QiLCAibWVudWxpc3QtYnV0dG9uIiwKKyAgICAibWVudWxpc3QtdGV4
dCIsICJtZW51bGlzdC10ZXh0ZmllbGQiLCAibWVudXRleHQiLCAibWVzc2FnZS1ib3giLCAibWlk
ZGxlIiwgIm1pbi1pbnRyaW5zaWMiLCAibWl4IiwgIm1vbmdvbGlhbiIsICJtb25vc3BhY2UiLCAi
bW92ZSIsICJtdWx0aXBsZSIsCisgICAgIm15YW5tYXIiLCAibi1yZXNpemUiLCAibmFycm93ZXIi
LCAibmF2eSIsICJuZS1yZXNpemUiLCAibmVzdy1yZXNpemUiLCAibm8tY2xvc2UtcXVvdGUiLCAi
bm8tZHJvcCIsICJuby1vcGVuLXF1b3RlIiwgIm5vLXJlcGVhdCIsICJub25lIiwKKyAgICAibm9y
bWFsIiwgIm5vdC1hbGxvd2VkIiwgIm5vd3JhcCIsICJucy1yZXNpemUiLCAibnctcmVzaXplIiwg
Im53c2UtcmVzaXplIiwgIm9ibGlxdWUiLCAib2N0YWwiLCAib3Blbi1xdW90ZSIsICJvcHRpbWl6
ZUxlZ2liaWxpdHkiLAorICAgICJvcHRpbWl6ZVNwZWVkIiwgIm9yaXlhIiwgIm9yb21vIiwgIm91
dHNldCIsICJvdXRzaWRlIiwgIm92ZXJsYXkiLCAib3ZlcmxpbmUiLCAicGFkZGluZyIsICJwYWRk
aW5nLWJveCIsICJwYWludGVkIiwgInBhdXNlZCIsCisgICAgInBlcnNpYW4iLCAicGx1cy1kYXJr
ZXIiLCAicGx1cy1saWdodGVyIiwgInBvaW50ZXIiLCAicG9ydHJhaXQiLCAicHJlIiwgInByZS1s
aW5lIiwgInByZS13cmFwIiwgInByZXNlcnZlLTNkIiwgInByb2dyZXNzIiwKKyAgICAicHVzaC1i
dXR0b24iLCAicmFkaW8iLCAicmVhZC1vbmx5IiwgInJlYWQtd3JpdGUiLCAicmVhZC13cml0ZS1w
bGFpbnRleHQtb25seSIsICJyZWxhdGl2ZSIsICJyZXBlYXQiLCAicmVwZWF0LXgiLAorICAgICJy
ZXBlYXQteSIsICJyZXNldCIsICJyZXZlcnNlIiwgInJnYiIsICJyZ2JhIiwgInJpZGdlIiwgInJp
Z2h0IiwgInJvdW5kIiwgInJvdy1yZXNpemUiLCAicnRsIiwgInJ1bi1pbiIsICJydW5uaW5nIiwg
InMtcmVzaXplIiwgInNhbnMtc2VyaWYiLAorICAgICJzY3JvbGwiLCAic2Nyb2xsYmFyIiwgInNl
LXJlc2l6ZSIsICJzZWFyY2hmaWVsZCIsICJzZWFyY2hmaWVsZC1jYW5jZWwtYnV0dG9uIiwgInNl
YXJjaGZpZWxkLWRlY29yYXRpb24iLCAic2VhcmNoZmllbGQtcmVzdWx0cy1idXR0b24iLAorICAg
ICJzZWFyY2hmaWVsZC1yZXN1bHRzLWRlY29yYXRpb24iLCAic2VtaS1jb25kZW5zZWQiLCAic2Vt
aS1leHBhbmRlZCIsICJzZXBhcmF0ZSIsICJzZXJpZiIsICJzaG93IiwgInNpZGFtYSIsICJzaW5n
bGUiLAorICAgICJza2lwLXdoaXRlLXNwYWNlIiwgInNsaWRlIiwgInNsaWRlci1ob3Jpem9udGFs
IiwgInNsaWRlci12ZXJ0aWNhbCIsICJzbGlkZXJ0aHVtYi1ob3Jpem9udGFsIiwgInNsaWRlcnRo
dW1iLXZlcnRpY2FsIiwgInNsb3ciLAorICAgICJzbWFsbCIsICJzbWFsbC1jYXBzIiwgInNtYWxs
LWNhcHRpb24iLCAic21hbGxlciIsICJzb2xpZCIsICJzb21hbGkiLCAic291cmNlLWF0b3AiLCAi
c291cmNlLWluIiwgInNvdXJjZS1vdXQiLCAic291cmNlLW92ZXIiLAorICAgICJzcGFjZSIsICJz
cXVhcmUiLCAic3F1YXJlLWJ1dHRvbiIsICJzdGFydCIsICJzdGF0aWMiLCAic3RhdHVzLWJhciIs
ICJzdHJldGNoIiwgInN0cm9rZSIsICJzdWIiLCAic3VicGl4ZWwtYW50aWFsaWFzZWQiLCAic3Vw
ZXIiLAorICAgICJzdy1yZXNpemUiLCAidGFibGUiLCAidGFibGUtY2FwdGlvbiIsICJ0YWJsZS1j
ZWxsIiwgInRhYmxlLWNvbHVtbiIsICJ0YWJsZS1jb2x1bW4tZ3JvdXAiLCAidGFibGUtZm9vdGVy
LWdyb3VwIiwgInRhYmxlLWhlYWRlci1ncm91cCIsCisgICAgInRhYmxlLXJvdyIsICJ0YWJsZS1y
b3ctZ3JvdXAiLCAidGVsdWd1IiwgInRleHQiLCAidGV4dC1ib3R0b20iLCAidGV4dC10b3AiLCAi
dGV4dGFyZWEiLCAidGV4dGZpZWxkIiwgInRoYWkiLCAidGhpY2siLCAidGhpbiIsCisgICAgInRo
cmVlZGRhcmtzaGFkb3ciLCAidGhyZWVkZmFjZSIsICJ0aHJlZWRoaWdobGlnaHQiLCAidGhyZWVk
bGlnaHRzaGFkb3ciLCAidGhyZWVkc2hhZG93IiwgInRpYmV0YW4iLCAidGlncmUiLCAidGlncmlu
eWEtZXIiLCAidGlncmlueWEtZXItYWJlZ2VkZSIsCisgICAgInRpZ3JpbnlhLWV0IiwgInRpZ3Jp
bnlhLWV0LWFiZWdlZGUiLCAidG8iLCAidG9wIiwgInRyYW5zcGFyZW50IiwgInVsdHJhLWNvbmRl
bnNlZCIsICJ1bHRyYS1leHBhbmRlZCIsICJ1bmRlcmxpbmUiLCAidXAiLCAidXBwZXItYWxwaGEi
LCAidXBwZXItYXJtZW5pYW4iLAorICAgICJ1cHBlci1ncmVlayIsICJ1cHBlci1oZXhhZGVjaW1h
bCIsICJ1cHBlci1sYXRpbiIsICJ1cHBlci1ub3J3ZWdpYW4iLCAidXBwZXItcm9tYW4iLCAidXBw
ZXJjYXNlIiwgInVyZHUiLCAidXJsIiwgInZlcnRpY2FsIiwgInZlcnRpY2FsLXRleHQiLCAidmlz
aWJsZSIsCisgICAgInZpc2libGVGaWxsIiwgInZpc2libGVQYWludGVkIiwgInZpc2libGVTdHJv
a2UiLCAidmlzdWFsIiwgInctcmVzaXplIiwgIndhaXQiLCAid2F2ZSIsICJ3aGl0ZSIsICJ3aWRl
ciIsICJ3aW5kb3ciLCAid2luZG93ZnJhbWUiLCAid2luZG93dGV4dCIsCisgICAgIngtbGFyZ2Ui
LCAieC1zbWFsbCIsICJ4b3IiLCAieHgtbGFyZ2UiLCAieHgtc21hbGwiLCAieWVsbG93IiwgIi13
YXAtbWFycXVlZSIsICItd2Via2l0LWFjdGl2ZWxpbmsiLCAiLXdlYmtpdC1hdXRvIiwgIi13ZWJr
aXQtYmFzZWxpbmUtbWlkZGxlIiwKKyAgICAiLXdlYmtpdC1ib2R5IiwgIi13ZWJraXQtYm94Iiwg
Ii13ZWJraXQtY2VudGVyIiwgIi13ZWJraXQtY29udHJvbCIsICItd2Via2l0LWZvY3VzLXJpbmct
Y29sb3IiLCAiLXdlYmtpdC1ncmFiIiwgIi13ZWJraXQtZ3JhYmJpbmciLAorICAgICItd2Via2l0
LWdyYWRpZW50IiwgIi13ZWJraXQtaW5saW5lLWJveCIsICItd2Via2l0LWxlZnQiLCAiLXdlYmtp
dC1saW5rIiwgIi13ZWJraXQtbWFycXVlZSIsICItd2Via2l0LW1pbmktY29udHJvbCIsICItd2Vi
a2l0LW5vd3JhcCIsICItd2Via2l0LXBpY3RvZ3JhcGgiLAorICAgICItd2Via2l0LXJpZ2h0Iiwg
Ii13ZWJraXQtc21hbGwtY29udHJvbCIsICItd2Via2l0LXRleHQiLCAiLXdlYmtpdC14eHgtbGFy
Z2UiLCAiLXdlYmtpdC16b29tLWluIiwgIi13ZWJraXQtem9vbS1vdXQiLAorXS5rZXlTZXQoKTsK
KwogV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUgPSB7CiAgICAgY3Jl
YXRlSW5pdGlhbENvbmRpdGlvbjogZnVuY3Rpb24oKQogICAgIHsKQEAgLTE4Niw4ICsxOTcsOSBA
QCBXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgICAgICBOdW1lcmljTGl0ZXJhbCA9ICItIj8gKFswLTldKyB8IFswLTldKiAiLiIgWzAtOV0r
KSAgKCJlbSIgfCAicmVtIiB8ICJfX3FlbSIgfCAiZXgiIHwgInB4IiB8ICJjbSIgfAogICAgICAg
ICAgICAgICAgICAgICAibW0iIHwgImluIiB8ICJwdCIgfCAicGMiIHwgImRlZyIgfCAicmFkIiB8
ICJncmFkIiB8ICJ0dXJuIiB8ICJtcyIgfCAicyIgfCAiSHoiIHwgImtIeiIgfCAiJSIpPzsKIAot
ICAgICAgICAgICAgICAgIENvbG9yID0gIiMiIFswLTlBLUZhLWZdKzsKLSAgICAgICAgICAgICAg
ICBJZGVudGlmaWVyID0gW0AhX1wtJDAtOWEtekEtWlxbXF09JyIvXSs7CisgICAgICAgICAgICAg
ICAgQ29sb3JPclNlbGVjdG9yID0gIiMiIFswLTlBLVphLXpdKzsKKyAgICAgICAgICAgICAgICBJ
ZGVudGlmaWVyID0gW0AhX1wtMC05YS16QS1aXFtcXT0nIi8mXSs7CisgICAgICAgICAgICAgICAg
VmFyaWFibGUgPSAiJCIgSWRlbnRpZmllcjsKIAogICAgICAgICAgICAgICAgIERvdWJsZVN0cmlu
Z0NvbnRlbnQgPSAoW15cclxuXCJcXF0gfCAiXFwiIFsnIlxcYmZucnR2XSkqOwogICAgICAgICAg
ICAgICAgIFNpbmdsZVN0cmluZ0NvbnRlbnQgPSAoW15cclxuXCdcXF0gfCAiXFwiIFsnIlxcYmZu
cnR2XSkqOwpAQCAtMjEzLDYgKzIyNSw3IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6
ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIDxJTklUSUFMPiBPcGVuQ3VybHlCcmFj
a2V0CiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlw
ZSA9ICJibG9jay1zdGFydCI7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5v
cGVuQnJhY2VzID0gKHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzIHx8IDApICsgMTsKICAgICAg
ICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhp
cy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElBX1JVTEUpCiAgICAgICAgICAgICAgICAgICAgICAg
ICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMu
SU5JVElBTDsKICAgICAgICAgICAgICAgICAgICAgZWxzZQpAQCAtMjIzLDE0ICsyMzYsMTcgQEAg
V2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICAgICAgPElOSVRJQUw+IENsb3NlQ3VybHlCcmFja2V0CiAgICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJibG9jay1lbmQiOwotICAgICAgICAg
ICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNv
bmRpdGlvbnMuSU5JVElBTDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlv
bi5vcGVuQnJhY2VzID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIC0tdGhpcy5fY29uZGl0
aW9uLm9wZW5CcmFjZXM7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJz
ZUNvbmRpdGlvbiA9IHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzID8gdGhpcy5fcGFyc2VDb25k
aXRpb25zLlBST1BFUlRZIDogdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUw7CisgICAgICAg
ICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkOwogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgICAgIDxJTklUSUFMPiBDb2xvbgogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOwotICAgICAgICAgICAgICAgICAgICBpZiAodGhp
cy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJP
UEVSVFkpCisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25k
aXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSB8fCB0aGlzLl9jb25kaXRp
b24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMKQogICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhp
cy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZX1ZBTFVFOwogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KQEAgLTIzOCwxMCArMjU0LDggQEAgV2Vi
SW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAg
ICAgPElOSVRJQUw+IFNlbWljb2xvbgogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOwotICAgICAgICAgICAgICAgICAgICBpZiAodGhp
cy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRf
UlVMRSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRp
dGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMOwotICAgICAgICAgICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25k
aXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFk7CisgICAgICAgICAgICAgICAg
ICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX2NvbmRpdGlvbi5vcGVu
QnJhY2VzID8gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZIDogdGhpcy5fcGFyc2VDb25k
aXRpb25zLklOSVRJQUw7CisgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jb25kaXRp
b24uYXRLZXl3b3JkOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOwogICAgICAg
ICAgICAgICAgIH0KIApAQCAtMjU0LDQxICsyNjgsNjMgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNT
U1Rva2VuaXplci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJz
b3I7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgPElOSVRJQUw+IENvbG9y
CisgICAgICAgICAgICAgICAgPElOSVRJQUw+IENvbG9yT3JTZWxlY3RvcgogICAgICAgICAgICAg
ICAgIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzUHJvcGVydHlWYWx1ZSgpKQog
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWNvbG9yIjsKKyAg
ICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9u
ID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1zZWxlY3RvciI7CiAgICAgICAgICAgICAgICAgICAg
IGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gbnVsbDsKICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9CiAKKyAg
ICAgICAgICAgICAgICA8SU5JVElBTD4gVmFyaWFibGUKKyAgICAgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRo
aXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbi5JTklUSUFMIHx8IHRoaXMuX2NvbmRpdGlvbi5w
YXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uLkFUX1JVTEUp
CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24g
PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFk7CisgICAgICAgICAgICAgICAgICAgIHRo
aXMudG9rZW5UeXBlID0gInNjc3MtdmFyaWFibGUiOworICAgICAgICAgICAgICAgICAgICByZXR1
cm4gY3Vyc29yOworICAgICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgICAgIDxJTklUSUFM
PiBJZGVudGlmaWVyCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICB2YXIg
dG9rZW4gPSB0aGlzLl9saW5lLnN1YnN0cmluZyhjdXJzb3JPbkVudGVyLCBjdXJzb3IpOwotICAg
ICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0
aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHRva2VuID09PSAiQG1lZGlhIikgeworICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2Vu
VHlwZSA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ucGFy
c2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMIHx8IHRoaXMuX2Nv
bmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZ
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4uY2hhckF0KDApID09PSAiQCIp
IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtYXQt
cnVsZSI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNl
Q29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElBX1JVTEU7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRva2VuLnN0YXJ0c1dpdGgoIkAiKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9
IHRva2VuID09PSAiQG1lZGlhIiA/IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJQV9SVUxF
IDogdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEU7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcy5fY29uZGl0aW9uLmF0S2V5d29yZCA9IHRva2VuOworICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRo
aXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRoaXMudG9rZW5UeXBlID0gImNzcy1zZWxlY3RvciI7CisgICAgICAgICAgICAgICAgICAgICAg
ICBlbHNlIGlmICh0aGlzLl9wcm9wZXJ0eUtleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtcHJvcGVy
dHkiOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJz
ZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElBX1JVTEUgfHwgdGhp
cy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRf
UlVMRSkgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5Tb3VyY2VD
U1NUb2tlbml6ZXIuQXRSZWxhdGVkS2V5d29yZHMuaGFzT3duUHJvcGVydHkodG9rZW4pKQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1hdC1ydWxlIjsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRp
b24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfUlVMRTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoV2ViSW5zcGVjdG9y
LlNvdXJjZUNTU1Rva2VuaXplci5NZWRpYVR5cGVzLmhhc093blByb3BlcnR5KHRva2VuKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mta2V5d29yZCI7
CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudG9r
ZW5UeXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKKworICAgICAg
ICAgICAgICAgICAgICBpZiAodGhpcy5faXNQcm9wZXJ0eVZhbHVlKCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHZhciBmaXJzdENoYXIgPSB0b2tlbi5jaGFyQXQoMCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoZmlyc3RDaGFyID09PSAiJCIpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAic2Nzcy12YXJpYWJsZSI7CisgICAgICAgICAgICAg
ICAgICAgICAgICBlbHNlIGlmIChmaXJzdENoYXIgPT09ICIhIikKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtYmFuZy1rZXl3b3JkIjsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5hdEtleXdvcmQgPT09ICJA
ZXh0ZW5kIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJj
c3Mtc2VsZWN0b3IiOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCh0aGlzLl9jb25k
aXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJQV9S
VUxFIHx8IHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25k
aXRpb25zLkFUX1JVTEUpICYmIHRva2VuIGluIHRoaXMuX21lZGlhVHlwZXMpCi0gICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mta2V5d29yZCI7Ci0gICAgICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhp
cy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZICYmIHRva2VuIGluIHRoaXMuX3Byb3BlcnR5S2V5
d29yZHMpCi0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtcHJv
cGVydHkiOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9pc1Byb3BlcnR5VmFs
dWUoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRva2VuIGluIHRoaXMuX3ZhbHVl
S2V5d29yZHMpCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChXZWJJbnNwZWN0b3Iu
U291cmNlQ1NTVG9rZW5pemVyLlZhbHVlS2V5d29yZHMuaGFzT3duUHJvcGVydHkodG9rZW4pIHx8
IFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuU0NTU1ZhbHVlS2V5d29yZHMuaGFzT3du
UHJvcGVydHkodG9rZW4pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5U
eXBlID0gImNzcy1rZXl3b3JkIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRv
a2VuIGluIHRoaXMuX2NvbG9yS2V5d29yZHMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGVs
c2UgaWYgKHRoaXMuX2NvbG9yS2V5d29yZHMuaGFzT3duUHJvcGVydHkodG9rZW4pKSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHRoaXMgZG9lcyBub3QgY29udmVydCB0
b2tlbnMgdG9Mb3dlckNhc2UoKSBmb3IgdGhlIHNha2Ugb2Ygc3BlZWQuCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWNvbG9yIjsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW4gPT09ICIhaW1wb3J0YW50IikKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtaW1wb3J0YW50IjsKLSAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRv
a2VuVHlwZSA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uICE9PSB0aGlz
Ll9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFlfVkFMVUUpCisgICAgICAgICAgICAgICAgICAgICAg
ICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mtc2VsZWN0b3IiOwogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICA8Kj4gW15d
IHsgdGhpcy50b2tlblR5cGUgPSBudWxsOyByZXR1cm4gY3Vyc29yOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlU291cmNlLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZVNvdXJjZS5qcwppbmRleCA0ZDIxZjUx
OGE3Y2IyZGY3ZmJhNGI4NmE0NWNhOTcyNTI0NWFlYzNkLi5kMmViODhjMTJkMmI1MDYwNjU5MGE1
MWJhN2I0OGFkNTllMDJmYmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1N0eWxlU291cmNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU3R5bGVTb3VyY2UuanMKQEAgLTMwLDEwICszMCwxMSBAQAogICogQGNvbnN0cnVj
dG9yCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0KICAqIEBwYXJhbSB7
V2ViSW5zcGVjdG9yLlJlc291cmNlfSByZXNvdXJjZQorICogQHBhcmFtIHtXZWJJbnNwZWN0b3Iu
U291cmNlTWFwcGluZ30gc291cmNlTWFwcGluZwogICovCi1XZWJJbnNwZWN0b3IuU3R5bGVTb3Vy
Y2UgPSBmdW5jdGlvbihyZXNvdXJjZSkKK1dlYkluc3BlY3Rvci5TdHlsZVNvdXJjZSA9IGZ1bmN0
aW9uKHJlc291cmNlLCBzb3VyY2VNYXBwaW5nKQogewotICAgIFdlYkluc3BlY3Rvci5VSVNvdXJj
ZUNvZGUuY2FsbCh0aGlzLCByZXNvdXJjZS51cmwsIHJlc291cmNlLCByZXNvdXJjZSk7CisgICAg
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5jYWxsKHRoaXMsIHJlc291cmNlLnVybCwgcmVzb3Vy
Y2UsIHJlc291cmNlLCBzb3VyY2VNYXBwaW5nKTsKIH0KIAogV2ViSW5zcGVjdG9yLlN0eWxlU291
cmNlLnVwZGF0ZVRpbWVvdXQgPSAyMDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1VJU291cmNlQ29kZVByb3ZpZGVyLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNVSVNvdXJjZUNvZGVQcm92aWRlci5qcwpp
bmRleCBmZDYyNGFjMzZhYzE2N2IxZjQ5NTBmNWEwYjdkNWNkNWE2MzQyZjFhLi5iNTExYTM4NmQ5
MGIxY2EyYjg3ZDhlZDI3ZjQ2MDMxYjEwZjE4Mjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1VJU291cmNlQ29kZVByb3ZpZGVyLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzVUlTb3VyY2VDb2RlUHJv
dmlkZXIuanMKQEAgLTY0LDcgKzY0LDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxlc1VJU291cmNlQ29k
ZVByb3ZpZGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHJlc291cmNlID0gLyoqIEB0eXBl
IHtXZWJJbnNwZWN0b3IuUmVzb3VyY2V9ICovIGV2ZW50LmRhdGE7CiAgICAgICAgIGlmIChyZXNv
dXJjZS50eXBlICE9PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TdHlsZXNoZWV0KQogICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3Bl
Y3Rvci5TdHlsZVNvdXJjZShyZXNvdXJjZSk7CisgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBu
ZXcgV2ViSW5zcGVjdG9yLlN0eWxlU291cmNlKHJlc291cmNlLCB0aGlzLl9zdHlsZXNTb3VyY2VN
YXBwaW5nKTsKICAgICAgICAgdGhpcy5fc3R5bGVzU291cmNlTWFwcGluZy5hZGRVSVNvdXJjZUNv
ZGUodWlTb3VyY2VDb2RlKTsKICAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3QoKS5hZGRV
SVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3JTeW50YXhIaWdobGlnaHQuY3NzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3JTeW50YXhIaWdobGln
aHQuY3NzCmluZGV4IDc0ODYzMWUxMWJmY2Y3NmEzYWE5Mzc1MzRlZGQ3OTJiOTVjZWU2ZGMuLjgx
ODk3ZDhkNDNkMWVlNzNmYTE3ZmRjNDVkMmQxODg1MzY3MDhiODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yU3ludGF4SGlnaGxpZ2h0LmNz
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3RvclN5bnRh
eEhpZ2hsaWdodC5jc3MKQEAgLTQ2LDcgKzQ2LDcgQEAKICAgICBjb2xvcjogYmxhY2s7CiB9CiAK
LS53ZWJraXQtY3NzLWltcG9ydGFudCB7Cisud2Via2l0LWNzcy1iYW5nLWtleXdvcmQgewogICAg
IGNvbG9yOiByZ2IoMjAwLCAwLCAxODApOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWFiNjk3ZmJjOTM1ZDMzYTZl
MTE1ZjVmNmNlMzhhMjUzZWZiZjliMi4uN2U2MzI5YmIwMGYxYjViNWU0MDUyZWI2MTQxMTUyMjk5
NTUzM2EzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDEyLTA5LTAzICBBbGV4YW5kZXIgUGF2
bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogSW1w
bGVtZW50IFNDU1Mgc291cmNlIGhpZ2hsaWdodGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgbW9kaWZpZWQgdG8gY292ZXIgdGhlIFNDU1Mgc3lu
dGF4IGFzIHdlbGwuCisKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3Mt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5o
dG1sOgorCisyMDEyLTA5LTAzICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5v
cmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogVW5oaWRlIGhpZGRlbiBjaGFyYWN0ZXJzCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mzg4OAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLWV4
cGVjdGVkLnR4dAppbmRleCA0MGE2NDQ5MTUzNTU0MDljYTk2MDkwMmQwZjY5NTE5ZWZjNzczNDE3
Li43ZGM5ZDM5Yjk0OTgzMDdmMjI5NDE2YjhhYmU2Y2FlYzVjNzdiODQ5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy1leHBlY3RlZC50
eHQKQEAgLTEsMTIgKzEsNDkgQEAKLVRlc3RzIHRoYXQgQ1NTU291cmNlU3ludGF4SGlnaGxpZ2h0
ZXIgZGV0ZWN0cyB0aGUgdG9rZW5zLgorVGVzdHMgdGhhdCAoUylDU1Mgc3ludGF4IGhpZ2hsaWdo
dGVyIHByb3Blcmx5IGRldGVjdHMgdGhlIHRva2Vucy4KIAogYVtocmVmPScvJ106IHdlYmtpdC1j
c3Mtc2VsZWN0b3IKLSNjb250ZW50ID4gYTpob3ZlcjogKix3ZWJraXQtY3NzLXNlbGVjdG9yLCos
d2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1jc3Mtc2VsZWN0b3IKKyNjb250ZW50ID4gYTpo
b3Zlcjogd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1jc3Mtc2VsZWN0b3IsKgogQGltcG9y
dCB1cmwoc3R5bGUuY3NzKTs6IHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3Mta2V5d29y
ZCwqCiBAaW1wb3J0IHVybCgic3R5bGUuY3NzIikgcHJvamVjdGlvbiwgdHY7OiB3ZWJraXQtY3Nz
LWF0LXJ1bGUsKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtY3NzLXN0cmluZywqLHdlYmtp
dC1jc3Mta2V5d29yZCwqLHdlYmtpdC1jc3Mta2V5d29yZCwqCiBAaW1wb3J0ICIvY3NzL2ZpcmVi
YWxsX3VuaWNvZGUuY3NzIjsgaHRtbCB7fTogd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNz
cy1zdHJpbmcsKix3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0LHdlYmtp
dC1ibG9jay1lbmQKIEBtZWRpYSBzY3JlZW4geyBib2R5IHsgY29sb3I6IHJlZDsgfSB9OiB3ZWJr
aXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtYmxvY2stc3RhcnQs
Kix3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0LCosd2Via2l0LWNzcy1w
cm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3ZWJraXQtYmxvY2stZW5kLCosd2Via2l0LWJs
b2NrLWVuZAogQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAiTXlIZWx2ZXRpY2EiOyB9OiB3ZWJr
aXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtYmxvY2stc3RhcnQsKix3ZWJraXQtY3NzLXByb3BlcnR5
LCosd2Via2l0LWNzcy1zdHJpbmcsKix3ZWJraXQtYmxvY2stZW5kCi1wIHsgY29sb3I6IGNvbG9y
OyByZWQ6IHJlZDsgY29sb3I6ICMwMDA7IGNvbG9yOiAjRkZGOyBjb2xvcjogIzEyM0FiQzsgY29s
b3I6ICNmYWViZmU7IGNvbG9yOnBhcGF5YXdoaXA7IH06IHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3
ZWJraXQtYmxvY2stc3RhcnQsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xv
ciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWNvbG9yLCosd2Via2l0LWNzcy1w
cm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0
LWNzcy1jb2xvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWNvbG9yLCosd2Vi
a2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3ZWJraXQtYmxvY2stZW5kCi1w
IHsgbWFyZ2luOiAtMTBweCAhaW1wb3J0YW50OyB9OiB3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Vi
a2l0LWJsb2NrLXN0YXJ0LCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtbnVtYmVy
LCosd2Via2l0LWNzcy1pbXBvcnRhbnQsKix3ZWJraXQtYmxvY2stZW5kCitwIHsgY29sb3I6IGNv
bG9yOyByZWQ6IHJlZDsgY29sb3I6ICMwMDA7IGNvbG9yOiAjRkZGOyBjb2xvcjogIzEyM0FiQzsg
Y29sb3I6ICNmYWViZmU7IGNvbG9yOnBhcGF5YXdoaXA7IH06IHdlYmtpdC1jc3Mtc2VsZWN0b3Is
Kix3ZWJraXQtYmxvY2stc3RhcnQsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1z
ZWxlY3RvciwqLHdlYmtpdC1jc3MtY29sb3IsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0
LWNzcy1jb2xvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWNvbG9yLCosd2Vi
a2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3ZWJraXQtY3NzLXByb3BlcnR5
LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWNv
bG9yLCosd2Via2l0LWJsb2NrLWVuZAorcCB7IG1hcmdpbjogLTEwcHggIWltcG9ydGFudDsgfTog
d2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1zdGFydCwqLHdlYmtpdC1jc3MtcHJv
cGVydHksKix3ZWJraXQtY3NzLW51bWJlciwqLHdlYmtpdC1jc3MtYmFuZy1rZXl3b3JkLCosd2Vi
a2l0LWJsb2NrLWVuZAorJG1hcmdpbi1sZWZ0OiAkb2Zmc2V0QmVmb3JlICsgMTJweCArICRvZmZz
ZXRBZnRlcjs6IHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKix3
ZWJraXQtY3NzLW51bWJlciwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCoKKyR0eXBlOiBtb25zdGVy
OworcCB7CitAaWYgJHR5cGUgPT0gb2NlYW4geworY29sb3I6IGJsdWU7Cit9IEBlbHNlIGlmICR0
eXBlID09IG1hdGFkb3IgeworY29sb3I6IHJlZDsKK30gQGVsc2UgaWYgJHR5cGUgPT0gbW9uc3Rl
ciB7Citjb2xvcjogZ3JlZW47Cit9IEBlbHNlIHsKK2NvbG9yOiBibGFjazsKK30KK306IHdlYmtp
dC1zY3NzLXZhcmlhYmxlLCosLHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQtYmxvY2stc3Rh
cnQsLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWJs
b2NrLXN0YXJ0LCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLCx3ZWJr
aXQtYmxvY2stZW5kLCosd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1hdC1ydWxlLCos
d2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtYmxvY2stc3RhcnQsLHdlYmtpdC1jc3MtcHJv
cGVydHksKix3ZWJraXQtY3NzLWNvbG9yLCosLHdlYmtpdC1ibG9jay1lbmQsKix3ZWJraXQtY3Nz
LWF0LXJ1bGUsKix3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdl
YmtpdC1ibG9jay1zdGFydCwsd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3Is
Kiwsd2Via2l0LWJsb2NrLWVuZCwqLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1ibG9jay1z
dGFydCwsd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKiwsd2Via2l0LWJs
b2NrLWVuZCwsd2Via2l0LWJsb2NrLWVuZAorQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHsgLml0
ZW0tI3skaX0geyB3aWR0aDogMmVtICogJGk7IH0gfTogd2Via2l0LWNzcy1hdC1ydWxlLCosd2Vi
a2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLW51bWJl
ciwqLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosd2Via2l0LWJsb2Nr
LXN0YXJ0LCosd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1zdGFydCx3ZWJraXQt
c2Nzcy12YXJpYWJsZSx3ZWJraXQtYmxvY2stZW5kLCosd2Via2l0LWJsb2NrLXN0YXJ0LCosd2Vi
a2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosd2Via2l0LXNjc3MtdmFyaWFi
bGUsKix3ZWJraXQtYmxvY2stZW5kLCosd2Via2l0LWJsb2NrLWVuZAorQG1peGluIGFkanVzdC1s
b2NhdGlvbigkeCwgJHkpIHsKK0BpZiB1bml0bGVzcygkeCkgeworQHdhcm4gIkFzc3VtaW5nICN7
JHh9IHRvIGJlIGluIHBpeGVscyI7CiskeDogMXB4ICogJHg7Cit9Citwb3NpdGlvbjogcmVsYXRp
dmU7IGxlZnQ6ICR4OyB0b3A6ICR5OworfTogd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LXNj
c3MtdmFyaWFibGUsKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1ibG9jay1zdGFydCws
d2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1rZXl3b3JkLCosd2Via2l0LXNjc3MtdmFy
aWFibGUsKix3ZWJraXQtYmxvY2stc3RhcnQsLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1j
c3Mtc3RyaW5nLCosLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWNzcy1udW1iZXIsKix3
ZWJraXQtc2Nzcy12YXJpYWJsZSwqLCx3ZWJraXQtYmxvY2stZW5kLCx3ZWJraXQtY3NzLXByb3Bl
cnR5LCosd2Via2l0LWNzcy1rZXl3b3JkLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1z
Y3NzLXZhcmlhYmxlLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxl
LCosLHdlYmtpdC1ibG9jay1lbmQKKyNuYXZiYXIgeworJG5hdmJhci13aWR0aDogODAwcHg7Cisk
aXRlbXM6IDU7CiskbmF2YmFyLWNvbG9yOiAjY2U0ZGQ2Oword2lkdGg6ICRuYXZiYXItd2lkdGg7
Citib3JkZXItYm90dG9tOiAycHggc29saWQgJG5hdmJhci1jb2xvcjsKK2xpIHsKK0BleHRlbmQg
Lm5vdGljZSAhb3B0aW9uYWw7CitmbG9hdDogbGVmdDsKK3dpZHRoOiAkbmF2YmFyLXdpZHRoLyRp
dGVtcyAtIDEwcHg7CitiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRuYXZiYXItY29sb3IsIDIw
JSk7CismOmhvdmVyIHsKK2JhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJG5hdmJhci1jb2xvciwg
MTAlKTsKK30KK30KK306IHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQtYmxvY2stc3RhcnQs
LHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWNzcy1udW1iZXIsKiwsd2Via2l0LXNjc3Mt
dmFyaWFibGUsKix3ZWJraXQtY3NzLW51bWJlciwqLCx3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdl
YmtpdC1jc3MtY29sb3IsKiwsd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1zY3NzLXZhcmlh
YmxlLCosLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLW51bWJlciwqLHdlYmtpdC1j
c3Mta2V5d29yZCwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosLHdlYmtpdC1jc3Mtc2VsZWN0b3Is
Kix3ZWJraXQtYmxvY2stc3RhcnQsLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3Mtc2Vs
ZWN0b3IsKix3ZWJraXQtY3NzLWJhbmcta2V5d29yZCwqLCx3ZWJraXQtY3NzLXByb3BlcnR5LCos
d2Via2l0LWNzcy1rZXl3b3JkLCosLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtc2Nzcy12
YXJpYWJsZSx3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosLHdlYmtp
dC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtc2Nzcy12YXJpYWJs
ZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosLHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQtYmxv
Y2stc3RhcnQsLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJr
aXQtc2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosLHdlYmtpdC1ibG9jay1lbmQs
LHdlYmtpdC1ibG9jay1lbmQsLHdlYmtpdC1ibG9jay1lbmQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbAppbmRleCA3MTk0ODMyOGE1N2U3Y2Zi
ODk3ZjVmMzhjMDM1MDRhOWU3OGNjZTM2Li5kNjZiYTBkMTBkOTFmMmJkZGY5Y2RkNWY4ODRkYThl
NzA4NGYyZWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hs
aWdodC1jc3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdo
dC1jc3MuaHRtbApAQCAtNiwyMCArNiw2MiBAQAogCiBmdW5jdGlvbiB0ZXN0KCkKIHsKLSAgICBm
dW5jdGlvbiBkdW1wU3ludGF4SGlnaGxpZ2h0Q1NTKHN0cikKKyAgICBmdW5jdGlvbiBkdW1wU3lu
dGF4SGlnaGxpZ2h0U0NTUyhzdHIpCiAgICAgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBT
eW50YXhIaWdobGlnaHQoc3RyLCAidGV4dC9jc3MiKTsKICAgICB9CiAKLSAgICBkdW1wU3ludGF4
SGlnaGxpZ2h0Q1NTKCJhW2hyZWY9Jy8nXSIpOwotICAgIGR1bXBTeW50YXhIaWdobGlnaHRDU1Mo
IiNjb250ZW50ID4gYTpob3ZlciIpOwotICAgIGR1bXBTeW50YXhIaWdobGlnaHRDU1MoIkBpbXBv
cnQgdXJsKHN0eWxlLmNzcyk7Iik7Ci0gICAgZHVtcFN5bnRheEhpZ2hsaWdodENTUygiQGltcG9y
dCB1cmwoXCJzdHlsZS5jc3NcIikgcHJvamVjdGlvbiwgdHY7Iik7Ci0gICAgZHVtcFN5bnRheEhp
Z2hsaWdodENTUygiQGltcG9ydCBcIi9jc3MvZmlyZWJhbGxfdW5pY29kZS5jc3NcIjsgaHRtbCB7
fSIpOwotICAgIGR1bXBTeW50YXhIaWdobGlnaHRDU1MoIkBtZWRpYSBzY3JlZW4geyBib2R5IHsg
Y29sb3I6IHJlZDsgfSB9Iik7Ci0gICAgZHVtcFN5bnRheEhpZ2hsaWdodENTUygiQGZvbnQtZmFj
ZSB7IGZvbnQtZmFtaWx5OiBcIk15SGVsdmV0aWNhXCI7IH0iKTsKLSAgICBkdW1wU3ludGF4SGln
aGxpZ2h0Q1NTKCJwIHsgY29sb3I6IGNvbG9yOyByZWQ6IHJlZDsgY29sb3I6ICMwMDA7IGNvbG9y
OiAjRkZGOyBjb2xvcjogIzEyM0FiQzsgY29sb3I6ICNmYWViZmU7IGNvbG9yOnBhcGF5YXdoaXA7
IH0iKTsKLSAgICBkdW1wU3ludGF4SGlnaGxpZ2h0Q1NTKCJwIHsgbWFyZ2luOiAtMTBweCAhaW1w
b3J0YW50OyB9Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoImFbaHJlZj0nLyddIik7
CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoIiNjb250ZW50ID4gYTpob3ZlciIpOworICAg
IGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKCJAaW1wb3J0IHVybChzdHlsZS5jc3MpOyIpOworICAg
IGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKCJAaW1wb3J0IHVybChcInN0eWxlLmNzc1wiKSBwcm9q
ZWN0aW9uLCB0djsiKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygiQGltcG9ydCBcIi9j
c3MvZmlyZWJhbGxfdW5pY29kZS5jc3NcIjsgaHRtbCB7fSIpOworICAgIGR1bXBTeW50YXhIaWdo
bGlnaHRTQ1NTKCJAbWVkaWEgc2NyZWVuIHsgYm9keSB7IGNvbG9yOiByZWQ7IH0gfSIpOworICAg
IGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKCJAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IFwiTXlI
ZWx2ZXRpY2FcIjsgfSIpOworICAgIGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKCJwIHsgY29sb3I6
IGNvbG9yOyByZWQ6IHJlZDsgY29sb3I6ICMwMDA7IGNvbG9yOiAjRkZGOyBjb2xvcjogIzEyM0Fi
QzsgY29sb3I6ICNmYWViZmU7IGNvbG9yOnBhcGF5YXdoaXA7IH0iKTsKKyAgICBkdW1wU3ludGF4
SGlnaGxpZ2h0U0NTUygicCB7IG1hcmdpbjogLTEwcHggIWltcG9ydGFudDsgfSIpOworICAgIGR1
bXBTeW50YXhIaWdobGlnaHRTQ1NTKCIkbWFyZ2luLWxlZnQ6ICRvZmZzZXRCZWZvcmUgKyAxMnB4
ICsgJG9mZnNldEFmdGVyOyIpOworICAgIGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKCIkdHlwZTog
bW9uc3RlcjtcbiIgKworICAgICAgICAicCB7XG4iICsKKyAgICAgICAgICAiQGlmICR0eXBlID09
IG9jZWFuIHtcbiIgKworICAgICAgICAgICAgImNvbG9yOiBibHVlO1xuIiArCisgICAgICAgICAg
In0gQGVsc2UgaWYgJHR5cGUgPT0gbWF0YWRvciB7XG4iICsKKyAgICAgICAgICAgICJjb2xvcjog
cmVkO1xuIiArCisgICAgICAgICAgIn0gQGVsc2UgaWYgJHR5cGUgPT0gbW9uc3RlciB7XG4iICsK
KyAgICAgICAgICAgICJjb2xvcjogZ3JlZW47XG4iICsKKyAgICAgICAgICAifSBAZWxzZSB7XG4i
ICsKKyAgICAgICAgICAgICJjb2xvcjogYmxhY2s7XG4iICsKKyAgICAgICAgICAifVxuIiArCisg
ICAgICAgICJ9Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoIkBmb3IgJGkgZnJvbSAx
IHRocm91Z2ggMyB7IC5pdGVtLSN7JGl9IHsgd2lkdGg6IDJlbSAqICRpOyB9IH0iKTsKKyAgICBk
dW1wU3ludGF4SGlnaGxpZ2h0U0NTUygKKyAgICAgICAgIkBtaXhpbiBhZGp1c3QtbG9jYXRpb24o
JHgsICR5KSB7XG4iICsKKyAgICAgICAgICAgICJAaWYgdW5pdGxlc3MoJHgpIHtcbiIgKworICAg
ICAgICAgICAgICAgICJAd2FybiBcIkFzc3VtaW5nICN7JHh9IHRvIGJlIGluIHBpeGVsc1wiO1xu
IiArCisgICAgICAgICAgICAgICAgIiR4OiAxcHggKiAkeDtcbiIgKworICAgICAgICAgICAgIn1c
biIgKworICAgICAgICAgICAgInBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogJHg7IHRvcDogJHk7
XG4iICsKKyAgICAgICAgIn0iKTsKKworICAgIGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKAorICAg
ICAgICAiI25hdmJhciB7XG4iICsKKyAgICAgICAgICAgICIkbmF2YmFyLXdpZHRoOiA4MDBweDtc
biIgKworICAgICAgICAgICAgIiRpdGVtczogNTtcbiIgKworICAgICAgICAgICAgIiRuYXZiYXIt
Y29sb3I6ICNjZTRkZDY7XG4iICsKKworICAgICAgICAgICAgIndpZHRoOiAkbmF2YmFyLXdpZHRo
O1xuIiArCisgICAgICAgICAgICAiYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRuYXZiYXItY29s
b3I7XG4iICsKKworICAgICAgICAgICAgImxpIHtcbiIgKworICAgICAgICAgICAgICAgICJAZXh0
ZW5kIC5ub3RpY2UgIW9wdGlvbmFsO1xuIiArCisgICAgICAgICAgICAgICAgImZsb2F0OiBsZWZ0
O1xuIiArCisgICAgICAgICAgICAgICAgIndpZHRoOiAkbmF2YmFyLXdpZHRoLyRpdGVtcyAtIDEw
cHg7XG4iICsKKyAgICAgICAgICAgICAgICAiYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbmF2
YmFyLWNvbG9yLCAyMCUpO1xuIiArCisgICAgICAgICAgICAgICAgIiY6aG92ZXIge1xuIiArCisg
ICAgICAgICAgICAgICAgICAgICJiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRuYXZiYXItY29s
b3IsIDEwJSk7XG4iICsKKyAgICAgICAgICAgICAgICAifVxuIiArCisgICAgICAgICAgICAifVxu
IiArCisgICAgICAgICJ9Iik7CiAKICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwog
fQpAQCAtMjksNyArNzEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgogPHA+Ci1UZXN0cyB0aGF0IENTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVyIGRldGVj
dHMgdGhlIHRva2Vucy4KK1Rlc3RzIHRoYXQgKFMpQ1NTIHN5bnRheCBoaWdobGlnaHRlciBwcm9w
ZXJseSBkZXRlY3RzIHRoZSB0b2tlbnMuCiA8L3A+CiAKIDwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162191</attachid>
            <date>2012-09-05 01:59:25 -0700</date>
            <delta_ts>2012-09-06 01:35:42 -0700</delta_ts>
            <desc>Rebased patch</desc>
            <filename>bug-95585-20120905125905.patch</filename>
            <type>text/plain</type>
            <size>134086</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYzMzkxMDNlMjIxOGEz
MjRiZjIzZWJkMWFkMzZhOWYxZGE4MmNkYS4uZjdhNjhmYjFlZDE2ODhlYTRjNGU4YjQ2MDMxZTkz
N2IzNjU3N2E5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTAzICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogSW1wbGVtZW50IFNDU1Mgc291cmNlIGhpZ2hsaWdodGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1vZGlmaWVzIHRoZSBl
eGlzdGluZyBDU1MgaGlnaGxpZ2h0ZXIgdG8gc3VwcG9ydCBTQ1NTIGFzIHdlbGwuIFRoZSAidGV4
dC9jc3MiIG1pbWUtdHlwZSBpcyBhc3NpZ25lZCB0byBTQVNTU291cmNlLgorICAgICAgICBBIHNt
YWxsIHJlZmFjdG9yaW5nIGhhcyBiZWVuIHBlcmZvcm1lZCB0byBlbmFibGUgY29kZSBzaGFyaW5n
IGFtb25nIHRoZSBDU1MgYW5kIFNDU1MgaGlnaGxpZ2h0ZXJzLgorCisgICAgICAgIFRlc3Q6IGlu
c3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LXNjc3MuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1ND
b21wbGV0aW9ucy5jc3NQcm9wZXJ0aWVzTWV0YWluZm9LZXlTZXQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TdGF0aWNDb250ZW50UHJvdmlkZXIpOiBFbmFibGVkIGNsaWVudHMgdG8gc3VwcGx5IHRoZSBj
b250ZW50IG1pbWUtdHlwZS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJv
dmlkZXIucHJvdG90eXBlLm1pbWVUeXBlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdGF0aWND
b250ZW50UHJvdmlkZXIucHJvdG90eXBlLnJlcXVlc3RDb250ZW50KTogVXNlIGNsaWVudC1zdXBw
bGllZCBjb250ZW50IG1pbWUtdHlwZSwgaWYgYW55LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU0FTU1Nv
dXJjZSk6IENvbnN0cnVjdCBTdGF0aWNDb250ZW50UHJvdmlkZXIgd2l0aCB0aGUgInRleHQvc2Nz
cyIgbWltZS10eXBlLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9r
ZW5pemVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplcik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlwZS5uZXh0VG9r
ZW4pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJl
MmpzOiBFeHRlbmRlZCB3aXRoIHRoZSBTQ1NTIHN5bnRheC4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1N0eWxlU291cmNlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlU291
cmNlKTogUGFzcyBwcm92aWRlZCBzb3VyY2VNYXBwaW5nIHRvIHRoZSAic3VwZXIiIFVJU291cmNl
Q29kZSBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1VJ
U291cmNlQ29kZVByb3ZpZGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlc1VJU291
cmNlQ29kZVByb3ZpZGVyLnByb3RvdHlwZS5fcmVzb3VyY2VBZGRlZCk6CisKIDIwMTItMDktMDQg
IEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBQYWdl
UG9wdXBDbGllbnQgaW1wbGVtZW50YXRpb24gZm9yIGlucHV0W3R5cGU9ZGF0ZV0gdG8gQ2hyb21p
dW0gV2ViS2l0IGxheWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9DU1NDb21wbGV0aW9ucy5qcwppbmRleCA4NGQ3Y2FlMGJhYmQ0MzYwZTc1MjgxMWQ2ODdm
ZTBmNjJjNTFjM2U2Li45ZTM3OTg1MzU3OWEyMDYzNzViOGI4NTZjYThkZjhhNzVlNTk5NTUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRp
b25zLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTQ29tcGxl
dGlvbnMuanMKQEAgLTgzLDYgKzgzLDEzIEBAIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5y
ZXF1ZXN0Q1NTTmFtZUNvbXBsZXRpb25zID0gZnVuY3Rpb24oKQogICAgIENTU0FnZW50LmdldFN1
cHBvcnRlZENTU1Byb3BlcnRpZXMocHJvcGVydHlOYW1lc0NhbGxiYWNrKTsKIH0KIAorV2ViSW5z
cGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc1Byb3BlcnRpZXNNZXRhaW5mb0tleVNldCA9IGZ1bmN0
aW9uKCkKK3sKKyAgICBpZiAoIVdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5fY3NzUHJvcGVy
dGllc01ldGFpbmZvS2V5U2V0KQorICAgICAgICBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMu
X2Nzc1Byb3BlcnRpZXNNZXRhaW5mb0tleVNldCA9IFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9u
cy5jc3NQcm9wZXJ0aWVzTWV0YWluZm8ua2V5U2V0KCk7CisgICAgcmV0dXJuIFdlYkluc3BlY3Rv
ci5DU1NDb21wbGV0aW9ucy5fY3NzUHJvcGVydGllc01ldGFpbmZvS2V5U2V0OworfQorCiBXZWJJ
bnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMucHJvdG90eXBlID0gewogICAgIHN0YXJ0c1dpdGg6IGZ1
bmN0aW9uKHByZWZpeCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRlcnMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRlcnMuanMKaW5kZXggZTFjMzk5NmYzMWUxY2RhM2Rm
NTZhYzhjOGEyYzBiNmU1ZWNiNTk4NS4uZTFkMzkyMzlmNDFhY2IxMDA2ODdiN2RlZDJmYTMwODBm
NTAwNjgzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
b250ZW50UHJvdmlkZXJzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ29udGVudFByb3ZpZGVycy5qcwpAQCAtMjQxLDEyICsyNDEsMTQgQEAgV2ViSW5zcGVjdG9y
LkNvbXBpbGVyU291cmNlTWFwcGluZ0NvbnRlbnRQcm92aWRlci5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGUKICAqIEBjb25zdHJ1Y3RvcgogICogQGltcGxlbWVudHMge1dlYkluc3BlY3Rv
ci5Db250ZW50UHJvdmlkZXJ9CiAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZXNvdXJjZVR5cGV9
IGNvbnRlbnRUeXBlIAotICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgCisgKiBAcGFyYW0ge3N0
cmluZ30gY29udGVudAorICogQHBhcmFtIHtzdHJpbmc9fSBtaW1lVHlwZQogICovCi1XZWJJbnNw
ZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVyID0gZnVuY3Rpb24oY29udGVudFR5cGUsIGNvbnRl
bnQpCitXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVyID0gZnVuY3Rpb24oY29udGVu
dFR5cGUsIGNvbnRlbnQsIG1pbWVUeXBlKQogewogICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50
OwogICAgIHRoaXMuX2NvbnRlbnRUeXBlID0gY29udGVudFR5cGU7CisgICAgdGhpcy5fbWltZVR5
cGUgPSBtaW1lVHlwZTsKIH0KIAogV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlci5w
cm90b3R5cGUgPSB7CkBAIC0yNjcsMTEgKzI2OSwxOSBAQCBXZWJJbnNwZWN0b3IuU3RhdGljQ29u
dGVudFByb3ZpZGVyLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHJl
dHVybiB7c3RyaW5nfQorICAgICAqLworICAgIG1pbWVUeXBlOiBmdW5jdGlvbigpCisgICAgewor
ICAgICAgICByZXR1cm4gdGhpcy5fbWltZVR5cGUgfHwgdGhpcy5fY29udGVudFR5cGUuY2Fub25p
Y2FsTWltZVR5cGUoKTsKKyAgICB9LAorCisgICAgLyoqCiAgICAgICogQHBhcmFtIHtmdW5jdGlv
big/c3RyaW5nLGJvb2xlYW4sc3RyaW5nKX0gY2FsbGJhY2sKICAgICAgKi8KICAgICByZXF1ZXN0
Q29udGVudDogZnVuY3Rpb24oY2FsbGJhY2spCiAgICAgewotICAgICAgICBjYWxsYmFjayh0aGlz
Ll9jb250ZW50LCBmYWxzZSwgdGhpcy5fY29udGVudFR5cGUuY2Fub25pY2FsTWltZVR5cGUoKSk7
CisgICAgICAgIGNhbGxiYWNrKHRoaXMuX2NvbnRlbnQsIGZhbHNlLCB0aGlzLm1pbWVUeXBlKCkp
OwogICAgIH0sCiAKICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIuanMKaW5k
ZXggMWQ1MjllMTVjNzJmMGI1MjFkMTI0OThmOTMxMTIwNWM0MjhkNzI3OS4uNjMwMTYzOGM5YTdk
YzZmNzFjNWU3NGNkZDUyY2ZkMzBiNDZiMjk4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrVUlTb3VyY2VDb2RlUHJv
dmlkZXIuanMKQEAgLTYzLDcgKzYzLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtVSVNvdXJjZUNv
ZGVQcm92aWRlci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX3N0eWxlUmVzb3VyY2VBZGRl
ZDogZnVuY3Rpb24ocmVzb3VyY2UpCiAgICAgewotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0g
bmV3IFdlYkluc3BlY3Rvci5TdHlsZVNvdXJjZShyZXNvdXJjZSk7CisgICAgICAgIHZhciB1aVNv
dXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlN0eWxlU291cmNlKHJlc291cmNlLCB0aGlzLl9z
dHlsZXNTb3VyY2VNYXBwaW5nKTsKICAgICAgICAgdGhpcy5fc3R5bGVzU291cmNlTWFwcGluZy5h
ZGRVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKICAgICAgICAgdGhpcy5fYWRkVUlTb3VyY2VD
b2RlKHVpU291cmNlQ29kZSk7CiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5nLmpzCmluZGV4IGI4YTQ5NzE4NDkz
YjU0NjRjMDM0NTAzNzM5ZmQ1MWNmYmQ1ZTEzN2UuLjA4ODQ0YWJkOTc5MGY3MTk4M2M3YWIxNmFj
MmJlNzFjNWU4NzczMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcwpAQCAtMTY2LDcgKzE2Niw3IEBAIFdlYklu
c3BlY3Rvci5TQVNTU291cmNlTWFwcGluZy5wcm90b3R5cGUgPSB7CiBXZWJJbnNwZWN0b3IuU0FT
U1NvdXJjZSA9IGZ1bmN0aW9uKHNhc3NVUkwpCiB7CiAgICAgdmFyIGNvbnRlbnQgPSBJbnNwZWN0
b3JGcm9udGVuZEhvc3QubG9hZFJlc291cmNlU3luY2hyb25vdXNseShzYXNzVVJMKTsKLSAgICB2
YXIgY29udGVudFByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlk
ZXIoV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU3R5bGVzaGVldCwgY29udGVudCk7CisgICAg
dmFyIGNvbnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3Zp
ZGVyKFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQsIGNvbnRlbnQsICJ0ZXh0
L2NzcyIpOwogICAgIFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuY2FsbCh0aGlzLCBzYXNzVVJM
LCBudWxsLCBjb250ZW50UHJvdmlkZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzCmluZGV4IDhkNWI4
ZGU4MjQwZDUzN2JlODdhNGI5NmYxZjhmNjBlMzFjMDljY2MuLmYxNDAyYmYyNzRlMzllMTgzNDgz
Y2ZjYmFmMTIwYjMwYmJiZThmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzCkBAIC0xLDQgKzEsNCBAQAot
LyogR2VuZXJhdGVkIGJ5IHJlMmMgMC4xMy41IG9uIE1vbiBKdWwgIDkgMTk6MzE6MzAgMjAxMiAq
LworLyogR2VuZXJhdGVkIGJ5IHJlMmMgMC4xMy41IG9uIE1vbiBTZXAgIDMgMTk6MTU6MTkgMjAx
MiAqLwogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKQEAgLTUyLDYxICs1Miw5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tl
bml6ZXIgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5j
YWxsKHRoaXMpOwogCi0gICAgdGhpcy5fcHJvcGVydHlLZXl3b3JkcyA9IFdlYkluc3BlY3Rvci5D
U1NDb21wbGV0aW9ucy5jc3NQcm9wZXJ0aWVzTWV0YWluZm8ua2V5U2V0KCk7CisgICAgdGhpcy5f
cHJvcGVydHlLZXl3b3JkcyA9IFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5jc3NQcm9wZXJ0
aWVzTWV0YWluZm9LZXlTZXQoKTsKICAgICB0aGlzLl9jb2xvcktleXdvcmRzID0gV2ViSW5zcGVj
dG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5jb2xvcnMoKTsKIAotICAgIHRoaXMuX3ZhbHVlS2V5
d29yZHMgPSBbCi0gICAgICAgICJhYm92ZSIsICJhYnNvbHV0ZSIsICJhY3RpdmVib3JkZXIiLCAi
YWN0aXZlY2FwdGlvbiIsICJhZmFyIiwgImFmdGVyLXdoaXRlLXNwYWNlIiwgImFoZWFkIiwgImFs
aWFzIiwgImFsbCIsICJhbGwtc2Nyb2xsIiwKLSAgICAgICAgImFsdGVybmF0ZSIsICJhbHdheXMi
LCAiYW1oYXJpYyIsICJhbWhhcmljLWFiZWdlZGUiLCAiYW50aWFsaWFzZWQiLCAiYXBwd29ya3Nw
YWNlIiwgImFyYWJpYy1pbmRpYyIsICJhcm1lbmlhbiIsICJhc3Rlcmlza3MiLAotICAgICAgICAi
YXV0byIsICJhdm9pZCIsICJiYWNrZ3JvdW5kIiwgImJhY2t3YXJkcyIsICJiYXNlbGluZSIsICJi
ZWxvdyIsICJiaWRpLW92ZXJyaWRlIiwgImJpbmFyeSIsICJiZW5nYWxpIiwgImJsaW5rIiwKLSAg
ICAgICAgImJsb2NrIiwgImJsb2NrLWF4aXMiLCAiYm9sZCIsICJib2xkZXIiLCAiYm9yZGVyIiwg
ImJvcmRlci1ib3giLCAiYm90aCIsICJib3R0b20iLCAiYnJlYWstYWxsIiwgImJyZWFrLXdvcmQi
LCAiYnV0dG9uIiwKLSAgICAgICAgImJ1dHRvbi1iZXZlbCIsICJidXR0b25mYWNlIiwgImJ1dHRv
bmhpZ2hsaWdodCIsICJidXR0b25zaGFkb3ciLCAiYnV0dG9udGV4dCIsICJjYW1ib2RpYW4iLCAi
Y2FwaXRhbGl6ZSIsICJjYXBzLWxvY2staW5kaWNhdG9yIiwKLSAgICAgICAgImNhcHRpb24iLCAi
Y2FwdGlvbnRleHQiLCAiY2FyZXQiLCAiY2VsbCIsICJjZW50ZXIiLCAiY2hlY2tib3giLCAiY2ly
Y2xlIiwgImNqay1lYXJ0aGx5LWJyYW5jaCIsICJjamstaGVhdmVubHktc3RlbSIsICJjamstaWRl
b2dyYXBoaWMiLAotICAgICAgICAiY2xlYXIiLCAiY2xpcCIsICJjbG9zZS1xdW90ZSIsICJjb2wt
cmVzaXplIiwgImNvbGxhcHNlIiwgImNvbXBhY3QiLCAiY29uZGVuc2VkIiwgImNvbnRhaW4iLCAi
Y29udGVudCIsICJjb250ZW50LWJveCIsICJjb250ZXh0LW1lbnUiLAotICAgICAgICAiY29udGlu
dW91cyIsICJjb3B5IiwgImNvdmVyIiwgImNyb3AiLCAiY3Jvc3MiLCAiY3Jvc3NoYWlyIiwgImN1
cnJlbnRjb2xvciIsICJjdXJzaXZlIiwgImRhc2hlZCIsICJkZWNpbWFsIiwgImRlY2ltYWwtbGVh
ZGluZy16ZXJvIiwgImRlZmF1bHQiLAotICAgICAgICAiZGVmYXVsdC1idXR0b24iLCAiZGVzdGlu
YXRpb24tYXRvcCIsICJkZXN0aW5hdGlvbi1pbiIsICJkZXN0aW5hdGlvbi1vdXQiLCAiZGVzdGlu
YXRpb24tb3ZlciIsICJkZXZhbmFnYXJpIiwgImRpc2MiLCAiZGlzY2FyZCIsICJkb2N1bWVudCIs
Ci0gICAgICAgICJkb3QtZGFzaCIsICJkb3QtZG90LWRhc2giLCAiZG90dGVkIiwgImRvdWJsZSIs
ICJkb3duIiwgImUtcmVzaXplIiwgImVhc2UiLCAiZWFzZS1pbiIsICJlYXNlLWluLW91dCIsICJl
YXNlLW91dCIsICJlbGVtZW50IiwKLSAgICAgICAgImVsbGlwc2lzIiwgImVtYmVkIiwgImVuZCIs
ICJldGhpb3BpYyIsICJldGhpb3BpYy1hYmVnZWRlIiwgImV0aGlvcGljLWFiZWdlZGUtYW0tZXQi
LCAiZXRoaW9waWMtYWJlZ2VkZS1nZXoiLAotICAgICAgICAiZXRoaW9waWMtYWJlZ2VkZS10aS1l
ciIsICJldGhpb3BpYy1hYmVnZWRlLXRpLWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLWFhLWVyIiwg
ImV0aGlvcGljLWhhbGVoYW1lLWFhLWV0IiwKLSAgICAgICAgImV0aGlvcGljLWhhbGVoYW1lLWFt
LWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLWdleiIsICJldGhpb3BpYy1oYWxlaGFtZS1vbS1ldCIs
ICJldGhpb3BpYy1oYWxlaGFtZS1zaWQtZXQiLAotICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUt
c28tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGktZXIiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGkt
ZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGlnIiwgImV3LXJlc2l6ZSIsICJleHBhbmRlZCIsCi0g
ICAgICAgICJleHRyYS1jb25kZW5zZWQiLCAiZXh0cmEtZXhwYW5kZWQiLCAiZmFudGFzeSIsICJm
YXN0IiwgImZpbGwiLCAiZml4ZWQiLCAiZmxhdCIsICJmb290bm90ZXMiLCAiZm9yd2FyZHMiLCAi
ZnJvbSIsICJnZW9tZXRyaWNQcmVjaXNpb24iLAotICAgICAgICAiZ2VvcmdpYW4iLCAiZ3JheXRl
eHQiLCAiZ3Jvb3ZlIiwgImd1amFyYXRpIiwgImd1cm11a2hpIiwgImhhbmQiLCAiaGFuZ3VsIiwg
Imhhbmd1bC1jb25zb25hbnQiLCAiaGVicmV3IiwgImhlbHAiLAotICAgICAgICAiaGlkZGVuIiwg
ImhpZGUiLCAiaGlnaGVyIiwgImhpZ2hsaWdodCIsICJoaWdobGlnaHR0ZXh0IiwgImhpcmFnYW5h
IiwgImhpcmFnYW5hLWlyb2hhIiwgImhvcml6b250YWwiLCAiaHNsIiwgImhzbGEiLCAiaWNvbiIs
ICJpZ25vcmUiLAotICAgICAgICAiaW5hY3RpdmVib3JkZXIiLCAiaW5hY3RpdmVjYXB0aW9uIiwg
ImluYWN0aXZlY2FwdGlvbnRleHQiLCAiaW5maW5pdGUiLCAiaW5mb2JhY2tncm91bmQiLCAiaW5m
b3RleHQiLCAiaW5oZXJpdCIsICJpbml0aWFsIiwgImlubGluZSIsCi0gICAgICAgICJpbmxpbmUt
YXhpcyIsICJpbmxpbmUtYmxvY2siLCAiaW5saW5lLXRhYmxlIiwgImluc2V0IiwgImluc2lkZSIs
ICJpbnRyaW5zaWMiLCAiaW52ZXJ0IiwgIml0YWxpYyIsICJqdXN0aWZ5IiwgImthbm5hZGEiLCAi
a2F0YWthbmEiLAotICAgICAgICAia2F0YWthbmEtaXJvaGEiLCAia2htZXIiLCAibGFuZHNjYXBl
IiwgImxhbyIsICJsYXJnZSIsICJsYXJnZXIiLCAibGVmdCIsICJsZXZlbCIsICJsaWdodGVyIiwg
ImxpbmUtdGhyb3VnaCIsICJsaW5lYXIiLCAibGluZXMiLAotICAgICAgICAibGlzdC1pdGVtIiwg
Imxpc3Rib3giLCAibGlzdGl0ZW0iLCAibG9jYWwiLCAibG9naWNhbCIsICJsb3VkIiwgImxvd2Vy
IiwgImxvd2VyLWFscGhhIiwgImxvd2VyLWFybWVuaWFuIiwgImxvd2VyLWdyZWVrIiwKLSAgICAg
ICAgImxvd2VyLWhleGFkZWNpbWFsIiwgImxvd2VyLWxhdGluIiwgImxvd2VyLW5vcndlZ2lhbiIs
ICJsb3dlci1yb21hbiIsICJsb3dlcmNhc2UiLCAibHRyIiwgIm1hbGF5YWxhbSIsICJtYXRjaCIs
ICJtZWRpYS1jb250cm9scy1iYWNrZ3JvdW5kIiwKLSAgICAgICAgIm1lZGlhLWN1cnJlbnQtdGlt
ZS1kaXNwbGF5IiwgIm1lZGlhLWZ1bGxzY3JlZW4tYnV0dG9uIiwgIm1lZGlhLW11dGUtYnV0dG9u
IiwgIm1lZGlhLXBsYXktYnV0dG9uIiwgIm1lZGlhLXJldHVybi10by1yZWFsdGltZS1idXR0b24i
LAotICAgICAgICAibWVkaWEtcmV3aW5kLWJ1dHRvbiIsICJtZWRpYS1zZWVrLWJhY2stYnV0dG9u
IiwgIm1lZGlhLXNlZWstZm9yd2FyZC1idXR0b24iLCAibWVkaWEtc2xpZGVyIiwgIm1lZGlhLXNs
aWRlcnRodW1iIiwgIm1lZGlhLXRpbWUtcmVtYWluaW5nLWRpc3BsYXkiLAotICAgICAgICAibWVk
aWEtdm9sdW1lLXNsaWRlciIsICJtZWRpYS12b2x1bWUtc2xpZGVyLWNvbnRhaW5lciIsICJtZWRp
YS12b2x1bWUtc2xpZGVydGh1bWIiLCAibWVkaXVtIiwgIm1lbnUiLCAibWVudWxpc3QiLCAibWVu
dWxpc3QtYnV0dG9uIiwKLSAgICAgICAgIm1lbnVsaXN0LXRleHQiLCAibWVudWxpc3QtdGV4dGZp
ZWxkIiwgIm1lbnV0ZXh0IiwgIm1lc3NhZ2UtYm94IiwgIm1pZGRsZSIsICJtaW4taW50cmluc2lj
IiwgIm1peCIsICJtb25nb2xpYW4iLCAibW9ub3NwYWNlIiwgIm1vdmUiLCAibXVsdGlwbGUiLAot
ICAgICAgICAibXlhbm1hciIsICJuLXJlc2l6ZSIsICJuYXJyb3dlciIsICJuYXZ5IiwgIm5lLXJl
c2l6ZSIsICJuZXN3LXJlc2l6ZSIsICJuby1jbG9zZS1xdW90ZSIsICJuby1kcm9wIiwgIm5vLW9w
ZW4tcXVvdGUiLCAibm8tcmVwZWF0IiwgIm5vbmUiLAotICAgICAgICAibm9ybWFsIiwgIm5vdC1h
bGxvd2VkIiwgIm5vd3JhcCIsICJucy1yZXNpemUiLCAibnctcmVzaXplIiwgIm53c2UtcmVzaXpl
IiwgIm9ibGlxdWUiLCAib2N0YWwiLCAib3Blbi1xdW90ZSIsICJvcHRpbWl6ZUxlZ2liaWxpdHki
LAotICAgICAgICAib3B0aW1pemVTcGVlZCIsICJvcml5YSIsICJvcm9tbyIsICJvdXRzZXQiLCAi
b3V0c2lkZSIsICJvdmVybGF5IiwgIm92ZXJsaW5lIiwgInBhZGRpbmciLCAicGFkZGluZy1ib3gi
LCAicGFpbnRlZCIsICJwYXVzZWQiLAotICAgICAgICAicGVyc2lhbiIsICJwbHVzLWRhcmtlciIs
ICJwbHVzLWxpZ2h0ZXIiLCAicG9pbnRlciIsICJwb3J0cmFpdCIsICJwcmUiLCAicHJlLWxpbmUi
LCAicHJlLXdyYXAiLCAicHJlc2VydmUtM2QiLCAicHJvZ3Jlc3MiLAotICAgICAgICAicHVzaC1i
dXR0b24iLCAicmFkaW8iLCAicmVhZC1vbmx5IiwgInJlYWQtd3JpdGUiLCAicmVhZC13cml0ZS1w
bGFpbnRleHQtb25seSIsICJyZWxhdGl2ZSIsICJyZXBlYXQiLCAicmVwZWF0LXgiLAotICAgICAg
ICAicmVwZWF0LXkiLCAicmVzZXQiLCAicmV2ZXJzZSIsICJyZ2IiLCAicmdiYSIsICJyaWRnZSIs
ICJyaWdodCIsICJyb3VuZCIsICJyb3ctcmVzaXplIiwgInJ0bCIsICJydW4taW4iLCAicnVubmlu
ZyIsICJzLXJlc2l6ZSIsICJzYW5zLXNlcmlmIiwKLSAgICAgICAgInNjcm9sbCIsICJzY3JvbGxi
YXIiLCAic2UtcmVzaXplIiwgInNlYXJjaGZpZWxkIiwgInNlYXJjaGZpZWxkLWNhbmNlbC1idXR0
b24iLCAic2VhcmNoZmllbGQtZGVjb3JhdGlvbiIsICJzZWFyY2hmaWVsZC1yZXN1bHRzLWJ1dHRv
biIsCi0gICAgICAgICJzZWFyY2hmaWVsZC1yZXN1bHRzLWRlY29yYXRpb24iLCAic2VtaS1jb25k
ZW5zZWQiLCAic2VtaS1leHBhbmRlZCIsICJzZXBhcmF0ZSIsICJzZXJpZiIsICJzaG93IiwgInNp
ZGFtYSIsICJzaW5nbGUiLAotICAgICAgICAic2tpcC13aGl0ZS1zcGFjZSIsICJzbGlkZSIsICJz
bGlkZXItaG9yaXpvbnRhbCIsICJzbGlkZXItdmVydGljYWwiLCAic2xpZGVydGh1bWItaG9yaXpv
bnRhbCIsICJzbGlkZXJ0aHVtYi12ZXJ0aWNhbCIsICJzbG93IiwKLSAgICAgICAgInNtYWxsIiwg
InNtYWxsLWNhcHMiLCAic21hbGwtY2FwdGlvbiIsICJzbWFsbGVyIiwgInNvbGlkIiwgInNvbWFs
aSIsICJzb3VyY2UtYXRvcCIsICJzb3VyY2UtaW4iLCAic291cmNlLW91dCIsICJzb3VyY2Utb3Zl
ciIsCi0gICAgICAgICJzcGFjZSIsICJzcXVhcmUiLCAic3F1YXJlLWJ1dHRvbiIsICJzdGFydCIs
ICJzdGF0aWMiLCAic3RhdHVzLWJhciIsICJzdHJldGNoIiwgInN0cm9rZSIsICJzdWIiLCAic3Vi
cGl4ZWwtYW50aWFsaWFzZWQiLCAic3VwZXIiLAotICAgICAgICAic3ctcmVzaXplIiwgInRhYmxl
IiwgInRhYmxlLWNhcHRpb24iLCAidGFibGUtY2VsbCIsICJ0YWJsZS1jb2x1bW4iLCAidGFibGUt
Y29sdW1uLWdyb3VwIiwgInRhYmxlLWZvb3Rlci1ncm91cCIsICJ0YWJsZS1oZWFkZXItZ3JvdXAi
LAotICAgICAgICAidGFibGUtcm93IiwgInRhYmxlLXJvdy1ncm91cCIsICJ0ZWx1Z3UiLCAidGV4
dCIsICJ0ZXh0LWJvdHRvbSIsICJ0ZXh0LXRvcCIsICJ0ZXh0YXJlYSIsICJ0ZXh0ZmllbGQiLCAi
dGhhaSIsICJ0aGljayIsICJ0aGluIiwKLSAgICAgICAgInRocmVlZGRhcmtzaGFkb3ciLCAidGhy
ZWVkZmFjZSIsICJ0aHJlZWRoaWdobGlnaHQiLCAidGhyZWVkbGlnaHRzaGFkb3ciLCAidGhyZWVk
c2hhZG93IiwgInRpYmV0YW4iLCAidGlncmUiLCAidGlncmlueWEtZXIiLCAidGlncmlueWEtZXIt
YWJlZ2VkZSIsCi0gICAgICAgICJ0aWdyaW55YS1ldCIsICJ0aWdyaW55YS1ldC1hYmVnZWRlIiwg
InRvIiwgInRvcCIsICJ0cmFuc3BhcmVudCIsICJ1bHRyYS1jb25kZW5zZWQiLCAidWx0cmEtZXhw
YW5kZWQiLCAidW5kZXJsaW5lIiwgInVwIiwgInVwcGVyLWFscGhhIiwgInVwcGVyLWFybWVuaWFu
IiwKLSAgICAgICAgInVwcGVyLWdyZWVrIiwgInVwcGVyLWhleGFkZWNpbWFsIiwgInVwcGVyLWxh
dGluIiwgInVwcGVyLW5vcndlZ2lhbiIsICJ1cHBlci1yb21hbiIsICJ1cHBlcmNhc2UiLCAidXJk
dSIsICJ1cmwiLCAidmVydGljYWwiLCAidmVydGljYWwtdGV4dCIsICJ2aXNpYmxlIiwKLSAgICAg
ICAgInZpc2libGVGaWxsIiwgInZpc2libGVQYWludGVkIiwgInZpc2libGVTdHJva2UiLCAidmlz
dWFsIiwgInctcmVzaXplIiwgIndhaXQiLCAid2F2ZSIsICJ3aGl0ZSIsICJ3aWRlciIsICJ3aW5k
b3ciLCAid2luZG93ZnJhbWUiLCAid2luZG93dGV4dCIsCi0gICAgICAgICJ4LWxhcmdlIiwgIngt
c21hbGwiLCAieG9yIiwgInh4LWxhcmdlIiwgInh4LXNtYWxsIiwgInllbGxvdyIsICItd2FwLW1h
cnF1ZWUiLCAiLXdlYmtpdC1hY3RpdmVsaW5rIiwgIi13ZWJraXQtYXV0byIsICItd2Via2l0LWJh
c2VsaW5lLW1pZGRsZSIsCi0gICAgICAgICItd2Via2l0LWJvZHkiLCAiLXdlYmtpdC1ib3giLCAi
LXdlYmtpdC1jZW50ZXIiLCAiLXdlYmtpdC1jb250cm9sIiwgIi13ZWJraXQtZm9jdXMtcmluZy1j
b2xvciIsICItd2Via2l0LWdyYWIiLCAiLXdlYmtpdC1ncmFiYmluZyIsCi0gICAgICAgICItd2Vi
a2l0LWdyYWRpZW50IiwgIi13ZWJraXQtaW5saW5lLWJveCIsICItd2Via2l0LWxlZnQiLCAiLXdl
YmtpdC1saW5rIiwgIi13ZWJraXQtbWFycXVlZSIsICItd2Via2l0LW1pbmktY29udHJvbCIsICIt
d2Via2l0LW5vd3JhcCIsICItd2Via2l0LXBpY3RvZ3JhcGgiLAotICAgICAgICAiLXdlYmtpdC1y
aWdodCIsICItd2Via2l0LXNtYWxsLWNvbnRyb2wiLCAiLXdlYmtpdC10ZXh0IiwgIi13ZWJraXQt
eHh4LWxhcmdlIiwgIi13ZWJraXQtem9vbS1pbiIsICItd2Via2l0LXpvb20tb3V0IiwKLSAgICBd
LmtleVNldCgpOwotCi0gICAgdGhpcy5fbWVkaWFUeXBlcyA9IFsiYWxsIiwgImF1cmFsIiwgImJy
YWlsbGUiLCAiZW1ib3NzZWQiLCAiaGFuZGhlbGQiLCAiaW1wb3J0IiwgInByaW50IiwgInByb2pl
Y3Rpb24iLCAic2NyZWVuIiwgInR0eSIsICJ0diJdLmtleVNldCgpOwotCiAgICAgdGhpcy5fbGV4
Q29uZGl0aW9ucyA9IHsKICAgICAgICAgSU5JVElBTDogMCwKICAgICAgICAgQ09NTUVOVDogMSwK
QEAgLTEzMCw2ICs3OCw2OSBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyID0gZnVu
Y3Rpb24oKQogICAgIHRoaXMuY29uZGl0aW9uID0gdGhpcy5jcmVhdGVJbml0aWFsQ29uZGl0aW9u
KCk7CiB9CiAKK1dlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuQXRSZWxhdGVkS2V5d29y
ZHMgPSBbCisgICAiZnJvbSIsICJpZiIsICJpbiIsICJ0aHJvdWdoIgorXS5rZXlTZXQoKTsKKwor
V2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5NZWRpYVR5cGVzID0gWyJhbGwiLCAiYXVy
YWwiLCAiYnJhaWxsZSIsICJlbWJvc3NlZCIsICJoYW5kaGVsZCIsICJpbXBvcnQiLCAicHJpbnQi
LCAicHJvamVjdGlvbiIsICJzY3JlZW4iLCAidHR5IiwgInR2Il0ua2V5U2V0KCk7CisKK1dlYklu
c3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuU0NTU1ZhbHVlS2V5d29yZHMgPSBbCisgICAgImFi
cyIsICJhZGp1c3QtY29sb3IiLCAiYWRqdXN0LWh1ZSIsICJhbHBoYSIsICJhcHBlbmQiLCAiY2Vp
bCIsICJjaGFuZ2UtY29sb3IiLCAiY29tcGFyYWJsZSIsICJjb21wbGVtZW50IiwgImRhcmtlbiIs
ICJkZXNhdHVyYXRlIiwKKyAgICAiZmFkZS1pbiIsICJmYWRlLW91dCIsICJmbG9vciIsICJncmF5
c2NhbGUiLCAiaHVlIiwgImllLWhleC1zdHIiLCAiaW52ZXJ0IiwgImpvaW4iLCAibGVuZ3RoIiwg
ImxpZ2h0ZW4iLAorICAgICJsaWdodG5lc3MiLCAibWF4IiwgIm1pbiIsICJtaXgiLCAibnRoIiwg
Im9wYWNpZnkiLCAib3BhY2l0eSIsICJwZXJjZW50YWdlIiwgInF1b3RlIiwgInJvdW5kIiwgInNh
dHVyYXRlIiwKKyAgICAic2F0dXJhdGlvbiIsICJzY2FsZS1jb2xvciIsICJ0cmFuc3BhcmVudGl6
ZSIsICJ0eXBlLW9mIiwgInVuaXQiLCAidW5pdGxlc3MiLCAidW5xdW90ZSIsICJ6aXAiCitdLmtl
eVNldCgpOworCitXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLlZhbHVlS2V5d29yZHMg
PSBbCisgICAgImFib3ZlIiwgImFic29sdXRlIiwgImFjdGl2ZWJvcmRlciIsICJhY3RpdmVjYXB0
aW9uIiwgImFmYXIiLCAiYWZ0ZXItd2hpdGUtc3BhY2UiLCAiYWhlYWQiLCAiYWxpYXMiLCAiYWxs
IiwgImFsbC1zY3JvbGwiLAorICAgICJhbHRlcm5hdGUiLCAiYWx3YXlzIiwgImFtaGFyaWMiLCAi
YW1oYXJpYy1hYmVnZWRlIiwgImFudGlhbGlhc2VkIiwgImFwcHdvcmtzcGFjZSIsICJhcmFiaWMt
aW5kaWMiLCAiYXJtZW5pYW4iLCAiYXN0ZXJpc2tzIiwKKyAgICAiYXV0byIsICJhdm9pZCIsICJi
YWNrZ3JvdW5kIiwgImJhY2t3YXJkcyIsICJiYXNlbGluZSIsICJiZWxvdyIsICJiaWRpLW92ZXJy
aWRlIiwgImJpbmFyeSIsICJiZW5nYWxpIiwgImJsaW5rIiwKKyAgICAiYmxvY2siLCAiYmxvY2st
YXhpcyIsICJib2xkIiwgImJvbGRlciIsICJib3JkZXIiLCAiYm9yZGVyLWJveCIsICJib3RoIiwg
ImJvdHRvbSIsICJicmVhay1hbGwiLCAiYnJlYWstd29yZCIsICJidXR0b24iLAorICAgICJidXR0
b24tYmV2ZWwiLCAiYnV0dG9uZmFjZSIsICJidXR0b25oaWdobGlnaHQiLCAiYnV0dG9uc2hhZG93
IiwgImJ1dHRvbnRleHQiLCAiY2FtYm9kaWFuIiwgImNhcGl0YWxpemUiLCAiY2Fwcy1sb2NrLWlu
ZGljYXRvciIsCisgICAgImNhcHRpb24iLCAiY2FwdGlvbnRleHQiLCAiY2FyZXQiLCAiY2VsbCIs
ICJjZW50ZXIiLCAiY2hlY2tib3giLCAiY2lyY2xlIiwgImNqay1lYXJ0aGx5LWJyYW5jaCIsICJj
amstaGVhdmVubHktc3RlbSIsICJjamstaWRlb2dyYXBoaWMiLAorICAgICJjbGVhciIsICJjbGlw
IiwgImNsb3NlLXF1b3RlIiwgImNvbC1yZXNpemUiLCAiY29sbGFwc2UiLCAiY29tcGFjdCIsICJj
b25kZW5zZWQiLCAiY29udGFpbiIsICJjb250ZW50IiwgImNvbnRlbnQtYm94IiwgImNvbnRleHQt
bWVudSIsCisgICAgImNvbnRpbnVvdXMiLCAiY29weSIsICJjb3ZlciIsICJjcm9wIiwgImNyb3Nz
IiwgImNyb3NzaGFpciIsICJjdXJyZW50Y29sb3IiLCAiY3Vyc2l2ZSIsICJkYXNoZWQiLCAiZGVj
aW1hbCIsICJkZWNpbWFsLWxlYWRpbmctemVybyIsICJkZWZhdWx0IiwKKyAgICAiZGVmYXVsdC1i
dXR0b24iLCAiZGVzdGluYXRpb24tYXRvcCIsICJkZXN0aW5hdGlvbi1pbiIsICJkZXN0aW5hdGlv
bi1vdXQiLCAiZGVzdGluYXRpb24tb3ZlciIsICJkZXZhbmFnYXJpIiwgImRpc2MiLCAiZGlzY2Fy
ZCIsICJkb2N1bWVudCIsCisgICAgImRvdC1kYXNoIiwgImRvdC1kb3QtZGFzaCIsICJkb3R0ZWQi
LCAiZG91YmxlIiwgImRvd24iLCAiZS1yZXNpemUiLCAiZWFzZSIsICJlYXNlLWluIiwgImVhc2Ut
aW4tb3V0IiwgImVhc2Utb3V0IiwgImVsZW1lbnQiLAorICAgICJlbGxpcHNpcyIsICJlbWJlZCIs
ICJlbmQiLCAiZXRoaW9waWMiLCAiZXRoaW9waWMtYWJlZ2VkZSIsICJldGhpb3BpYy1hYmVnZWRl
LWFtLWV0IiwgImV0aGlvcGljLWFiZWdlZGUtZ2V6IiwKKyAgICAiZXRoaW9waWMtYWJlZ2VkZS10
aS1lciIsICJldGhpb3BpYy1hYmVnZWRlLXRpLWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLWFhLWVy
IiwgImV0aGlvcGljLWhhbGVoYW1lLWFhLWV0IiwKKyAgICAiZXRoaW9waWMtaGFsZWhhbWUtYW0t
ZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtZ2V6IiwgImV0aGlvcGljLWhhbGVoYW1lLW9tLWV0Iiwg
ImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCIsCisgICAgImV0aGlvcGljLWhhbGVoYW1lLXNvLWV0
IiwgImV0aGlvcGljLWhhbGVoYW1lLXRpLWVyIiwgImV0aGlvcGljLWhhbGVoYW1lLXRpLWV0Iiwg
ImV0aGlvcGljLWhhbGVoYW1lLXRpZyIsICJldy1yZXNpemUiLCAiZXhwYW5kZWQiLAorICAgICJl
eHRyYS1jb25kZW5zZWQiLCAiZXh0cmEtZXhwYW5kZWQiLCAiZmFudGFzeSIsICJmYXN0IiwgImZp
bGwiLCAiZml4ZWQiLCAiZmxhdCIsICJmb290bm90ZXMiLCAiZm9yd2FyZHMiLCAiZnJvbSIsICJn
ZW9tZXRyaWNQcmVjaXNpb24iLAorICAgICJnZW9yZ2lhbiIsICJncmF5dGV4dCIsICJncm9vdmUi
LCAiZ3VqYXJhdGkiLCAiZ3VybXVraGkiLCAiaGFuZCIsICJoYW5ndWwiLCAiaGFuZ3VsLWNvbnNv
bmFudCIsICJoZWJyZXciLCAiaGVscCIsCisgICAgImhpZGRlbiIsICJoaWRlIiwgImhpZ2hlciIs
ICJoaWdobGlnaHQiLCAiaGlnaGxpZ2h0dGV4dCIsICJoaXJhZ2FuYSIsICJoaXJhZ2FuYS1pcm9o
YSIsICJob3Jpem9udGFsIiwgImhzbCIsICJoc2xhIiwgImljb24iLCAiaWdub3JlIiwKKyAgICAi
aW5hY3RpdmVib3JkZXIiLCAiaW5hY3RpdmVjYXB0aW9uIiwgImluYWN0aXZlY2FwdGlvbnRleHQi
LCAiaW5maW5pdGUiLCAiaW5mb2JhY2tncm91bmQiLCAiaW5mb3RleHQiLCAiaW5oZXJpdCIsICJp
bml0aWFsIiwgImlubGluZSIsCisgICAgImlubGluZS1heGlzIiwgImlubGluZS1ibG9jayIsICJp
bmxpbmUtdGFibGUiLCAiaW5zZXQiLCAiaW5zaWRlIiwgImludHJpbnNpYyIsICJpbnZlcnQiLCAi
aXRhbGljIiwgImp1c3RpZnkiLCAia2FubmFkYSIsICJrYXRha2FuYSIsCisgICAgImthdGFrYW5h
LWlyb2hhIiwgImtobWVyIiwgImxhbmRzY2FwZSIsICJsYW8iLCAibGFyZ2UiLCAibGFyZ2VyIiwg
ImxlZnQiLCAibGV2ZWwiLCAibGlnaHRlciIsICJsaW5lLXRocm91Z2giLCAibGluZWFyIiwgImxp
bmVzIiwKKyAgICAibGlzdC1pdGVtIiwgImxpc3Rib3giLCAibGlzdGl0ZW0iLCAibG9jYWwiLCAi
bG9naWNhbCIsICJsb3VkIiwgImxvd2VyIiwgImxvd2VyLWFscGhhIiwgImxvd2VyLWFybWVuaWFu
IiwgImxvd2VyLWdyZWVrIiwKKyAgICAibG93ZXItaGV4YWRlY2ltYWwiLCAibG93ZXItbGF0aW4i
LCAibG93ZXItbm9yd2VnaWFuIiwgImxvd2VyLXJvbWFuIiwgImxvd2VyY2FzZSIsICJsdHIiLCAi
bWFsYXlhbGFtIiwgIm1hdGNoIiwgIm1lZGlhLWNvbnRyb2xzLWJhY2tncm91bmQiLAorICAgICJt
ZWRpYS1jdXJyZW50LXRpbWUtZGlzcGxheSIsICJtZWRpYS1mdWxsc2NyZWVuLWJ1dHRvbiIsICJt
ZWRpYS1tdXRlLWJ1dHRvbiIsICJtZWRpYS1wbGF5LWJ1dHRvbiIsICJtZWRpYS1yZXR1cm4tdG8t
cmVhbHRpbWUtYnV0dG9uIiwKKyAgICAibWVkaWEtcmV3aW5kLWJ1dHRvbiIsICJtZWRpYS1zZWVr
LWJhY2stYnV0dG9uIiwgIm1lZGlhLXNlZWstZm9yd2FyZC1idXR0b24iLCAibWVkaWEtc2xpZGVy
IiwgIm1lZGlhLXNsaWRlcnRodW1iIiwgIm1lZGlhLXRpbWUtcmVtYWluaW5nLWRpc3BsYXkiLAor
ICAgICJtZWRpYS12b2x1bWUtc2xpZGVyIiwgIm1lZGlhLXZvbHVtZS1zbGlkZXItY29udGFpbmVy
IiwgIm1lZGlhLXZvbHVtZS1zbGlkZXJ0aHVtYiIsICJtZWRpdW0iLCAibWVudSIsICJtZW51bGlz
dCIsICJtZW51bGlzdC1idXR0b24iLAorICAgICJtZW51bGlzdC10ZXh0IiwgIm1lbnVsaXN0LXRl
eHRmaWVsZCIsICJtZW51dGV4dCIsICJtZXNzYWdlLWJveCIsICJtaWRkbGUiLCAibWluLWludHJp
bnNpYyIsICJtaXgiLCAibW9uZ29saWFuIiwgIm1vbm9zcGFjZSIsICJtb3ZlIiwgIm11bHRpcGxl
IiwKKyAgICAibXlhbm1hciIsICJuLXJlc2l6ZSIsICJuYXJyb3dlciIsICJuYXZ5IiwgIm5lLXJl
c2l6ZSIsICJuZXN3LXJlc2l6ZSIsICJuby1jbG9zZS1xdW90ZSIsICJuby1kcm9wIiwgIm5vLW9w
ZW4tcXVvdGUiLCAibm8tcmVwZWF0IiwgIm5vbmUiLAorICAgICJub3JtYWwiLCAibm90LWFsbG93
ZWQiLCAibm93cmFwIiwgIm5zLXJlc2l6ZSIsICJudy1yZXNpemUiLCAibndzZS1yZXNpemUiLCAi
b2JsaXF1ZSIsICJvY3RhbCIsICJvcGVuLXF1b3RlIiwgIm9wdGltaXplTGVnaWJpbGl0eSIsCisg
ICAgIm9wdGltaXplU3BlZWQiLCAib3JpeWEiLCAib3JvbW8iLCAib3V0c2V0IiwgIm91dHNpZGUi
LCAib3ZlcmxheSIsICJvdmVybGluZSIsICJwYWRkaW5nIiwgInBhZGRpbmctYm94IiwgInBhaW50
ZWQiLCAicGF1c2VkIiwKKyAgICAicGVyc2lhbiIsICJwbHVzLWRhcmtlciIsICJwbHVzLWxpZ2h0
ZXIiLCAicG9pbnRlciIsICJwb3J0cmFpdCIsICJwcmUiLCAicHJlLWxpbmUiLCAicHJlLXdyYXAi
LCAicHJlc2VydmUtM2QiLCAicHJvZ3Jlc3MiLAorICAgICJwdXNoLWJ1dHRvbiIsICJyYWRpbyIs
ICJyZWFkLW9ubHkiLCAicmVhZC13cml0ZSIsICJyZWFkLXdyaXRlLXBsYWludGV4dC1vbmx5Iiwg
InJlbGF0aXZlIiwgInJlcGVhdCIsICJyZXBlYXQteCIsCisgICAgInJlcGVhdC15IiwgInJlc2V0
IiwgInJldmVyc2UiLCAicmdiIiwgInJnYmEiLCAicmlkZ2UiLCAicmlnaHQiLCAicm91bmQiLCAi
cm93LXJlc2l6ZSIsICJydGwiLCAicnVuLWluIiwgInJ1bm5pbmciLCAicy1yZXNpemUiLCAic2Fu
cy1zZXJpZiIsCisgICAgInNjcm9sbCIsICJzY3JvbGxiYXIiLCAic2UtcmVzaXplIiwgInNlYXJj
aGZpZWxkIiwgInNlYXJjaGZpZWxkLWNhbmNlbC1idXR0b24iLCAic2VhcmNoZmllbGQtZGVjb3Jh
dGlvbiIsICJzZWFyY2hmaWVsZC1yZXN1bHRzLWJ1dHRvbiIsCisgICAgInNlYXJjaGZpZWxkLXJl
c3VsdHMtZGVjb3JhdGlvbiIsICJzZW1pLWNvbmRlbnNlZCIsICJzZW1pLWV4cGFuZGVkIiwgInNl
cGFyYXRlIiwgInNlcmlmIiwgInNob3ciLCAic2lkYW1hIiwgInNpbmdsZSIsCisgICAgInNraXAt
d2hpdGUtc3BhY2UiLCAic2xpZGUiLCAic2xpZGVyLWhvcml6b250YWwiLCAic2xpZGVyLXZlcnRp
Y2FsIiwgInNsaWRlcnRodW1iLWhvcml6b250YWwiLCAic2xpZGVydGh1bWItdmVydGljYWwiLCAi
c2xvdyIsCisgICAgInNtYWxsIiwgInNtYWxsLWNhcHMiLCAic21hbGwtY2FwdGlvbiIsICJzbWFs
bGVyIiwgInNvbGlkIiwgInNvbWFsaSIsICJzb3VyY2UtYXRvcCIsICJzb3VyY2UtaW4iLCAic291
cmNlLW91dCIsICJzb3VyY2Utb3ZlciIsCisgICAgInNwYWNlIiwgInNxdWFyZSIsICJzcXVhcmUt
YnV0dG9uIiwgInN0YXJ0IiwgInN0YXRpYyIsICJzdGF0dXMtYmFyIiwgInN0cmV0Y2giLCAic3Ry
b2tlIiwgInN1YiIsICJzdWJwaXhlbC1hbnRpYWxpYXNlZCIsICJzdXBlciIsCisgICAgInN3LXJl
c2l6ZSIsICJ0YWJsZSIsICJ0YWJsZS1jYXB0aW9uIiwgInRhYmxlLWNlbGwiLCAidGFibGUtY29s
dW1uIiwgInRhYmxlLWNvbHVtbi1ncm91cCIsICJ0YWJsZS1mb290ZXItZ3JvdXAiLCAidGFibGUt
aGVhZGVyLWdyb3VwIiwKKyAgICAidGFibGUtcm93IiwgInRhYmxlLXJvdy1ncm91cCIsICJ0ZWx1
Z3UiLCAidGV4dCIsICJ0ZXh0LWJvdHRvbSIsICJ0ZXh0LXRvcCIsICJ0ZXh0YXJlYSIsICJ0ZXh0
ZmllbGQiLCAidGhhaSIsICJ0aGljayIsICJ0aGluIiwKKyAgICAidGhyZWVkZGFya3NoYWRvdyIs
ICJ0aHJlZWRmYWNlIiwgInRocmVlZGhpZ2hsaWdodCIsICJ0aHJlZWRsaWdodHNoYWRvdyIsICJ0
aHJlZWRzaGFkb3ciLCAidGliZXRhbiIsICJ0aWdyZSIsICJ0aWdyaW55YS1lciIsICJ0aWdyaW55
YS1lci1hYmVnZWRlIiwKKyAgICAidGlncmlueWEtZXQiLCAidGlncmlueWEtZXQtYWJlZ2VkZSIs
ICJ0byIsICJ0b3AiLCAidHJhbnNwYXJlbnQiLCAidWx0cmEtY29uZGVuc2VkIiwgInVsdHJhLWV4
cGFuZGVkIiwgInVuZGVybGluZSIsICJ1cCIsICJ1cHBlci1hbHBoYSIsICJ1cHBlci1hcm1lbmlh
biIsCisgICAgInVwcGVyLWdyZWVrIiwgInVwcGVyLWhleGFkZWNpbWFsIiwgInVwcGVyLWxhdGlu
IiwgInVwcGVyLW5vcndlZ2lhbiIsICJ1cHBlci1yb21hbiIsICJ1cHBlcmNhc2UiLCAidXJkdSIs
ICJ1cmwiLCAidmVydGljYWwiLCAidmVydGljYWwtdGV4dCIsICJ2aXNpYmxlIiwKKyAgICAidmlz
aWJsZUZpbGwiLCAidmlzaWJsZVBhaW50ZWQiLCAidmlzaWJsZVN0cm9rZSIsICJ2aXN1YWwiLCAi
dy1yZXNpemUiLCAid2FpdCIsICJ3YXZlIiwgIndoaXRlIiwgIndpZGVyIiwgIndpbmRvdyIsICJ3
aW5kb3dmcmFtZSIsICJ3aW5kb3d0ZXh0IiwKKyAgICAieC1sYXJnZSIsICJ4LXNtYWxsIiwgInhv
ciIsICJ4eC1sYXJnZSIsICJ4eC1zbWFsbCIsICJ5ZWxsb3ciLCAiLXdhcC1tYXJxdWVlIiwgIi13
ZWJraXQtYWN0aXZlbGluayIsICItd2Via2l0LWF1dG8iLCAiLXdlYmtpdC1iYXNlbGluZS1taWRk
bGUiLAorICAgICItd2Via2l0LWJvZHkiLCAiLXdlYmtpdC1ib3giLCAiLXdlYmtpdC1jZW50ZXIi
LCAiLXdlYmtpdC1jb250cm9sIiwgIi13ZWJraXQtZm9jdXMtcmluZy1jb2xvciIsICItd2Via2l0
LWdyYWIiLCAiLXdlYmtpdC1ncmFiYmluZyIsCisgICAgIi13ZWJraXQtZ3JhZGllbnQiLCAiLXdl
YmtpdC1pbmxpbmUtYm94IiwgIi13ZWJraXQtbGVmdCIsICItd2Via2l0LWxpbmsiLCAiLXdlYmtp
dC1tYXJxdWVlIiwgIi13ZWJraXQtbWluaS1jb250cm9sIiwgIi13ZWJraXQtbm93cmFwIiwgIi13
ZWJraXQtcGljdG9ncmFwaCIsCisgICAgIi13ZWJraXQtcmlnaHQiLCAiLXdlYmtpdC1zbWFsbC1j
b250cm9sIiwgIi13ZWJraXQtdGV4dCIsICItd2Via2l0LXh4eC1sYXJnZSIsICItd2Via2l0LXpv
b20taW4iLCAiLXdlYmtpdC16b29tLW91dCIsCitdLmtleVNldCgpOworCiBXZWJJbnNwZWN0b3Iu
U291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlwZSA9IHsKICAgICBjcmVhdGVJbml0aWFsQ29uZGl0
aW9uOiBmdW5jdGlvbigpCiAgICAgewpAQCAtMzQxLDQzICszNTIsNDQgQEAgY2FzZSAyNjoKIC8q
ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiBjYXNlIHRoaXMuY2FzZV9J
TklUSUFMOgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwotICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJzsnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wn
JykgeworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzonKSB7CisgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJyYnKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgewog
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMjk7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7
IGdvdG9DYXNlID0gMzE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDMzOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcjJykgeyBnb3RvQ2FzZSA9IDM0
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICckJykg
eyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoID49ICdcJycpIHsgZ290b0Nhc2UgPSAzNTsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJCcpIHsgZ290b0Nhc2UgPSAzNTsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnJicpIHsgZ290b0Nhc2Ug
PSAzMTsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcsJykgeyBnb3RvQ2FzZSA9IDI5OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgeyBnb3Rv
Q2FzZSA9IDM2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAzNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICct
JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeyBnb3RvQ2Fz
ZSA9IDM2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49
ICctJykgeyBnb3RvQ2FzZSA9IDM3OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcvJykgeyBnb3Rv
Q2FzZSA9IDM4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICc5JykgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICc6JykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MzsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicpIHsgZ290b0Nhc2UgPSAzODsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsgZ290
b0Nhc2UgPSAzOTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnOScpIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNDI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnXicpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
Jz8nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnPScpIHsgZ290b0Nh
c2UgPSAzMTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJzsnKSB7IGdvdG9DYXNlID0gNDQ7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJz0nKSB7IGdvdG9DYXNlID0gMzE7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDI5OyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICddJykgeyBnb3RvQ2FzZSA9
IDMxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/
JykgeyBnb3RvQ2FzZSA9IDI5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAzMTsgY29udGludWU7IH07CiAgICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAneicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ICE9ICdgJykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoID09ICdfJykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdhJykgeyBnb3RvQ2FzZSA9IDMxOyBj
b250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICd7JykgeyBnb3RvQ2FzZSA9IDQ1OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd9JykgeyBnb3RvQ2FzZSA9IDQ3
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd7Jykg
eyBnb3RvQ2FzZSA9IDQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoID09ICd9JykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTM4OCw3OSAr
NDAwLDg5IEBAIGNhc2UgMzA6CiBjYXNlIDMxOgogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci0gICAgICAgICAgICB7IGdvdG9D
YXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250
aW51ZTsgfTsKIGNhc2UgMzI6CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHZh
ciB0b2tlbiA9IHRoaXMuX2xpbmUuc3Vic3RyaW5nKGN1cnNvck9uRW50ZXIsIGN1cnNvcik7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09
IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAodG9rZW4gPT09ICJAbWVkaWEiKSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMudG9r
ZW5UeXBlID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5w
YXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUwgfHwgdGhpcy5f
Y29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVS
VFkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbi5jaGFyQXQoMCkgPT09ICJA
IikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1h
dC1ydWxlIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFy
c2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW4uc3RhcnRzV2l0aCgiQCIpKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9u
ID0gdG9rZW4gPT09ICJAbWVkaWEiID8gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElBX1JV
TEUgOiB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfUlVMRTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkID0gdG9rZW47CisgICAgICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0g
dGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUwpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9yIjsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKHRoaXMuX3Byb3BlcnR5S2V5d29yZHMuaGFzT3duUHJvcGVydHkodG9rZW4p
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1wcm9w
ZXJ0eSI7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBh
cnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRSB8fCB0
aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5B
VF9SVUxFKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLlNvdXJj
ZUNTU1Rva2VuaXplci5BdFJlbGF0ZWRLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikpCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUi
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRp
dGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFOwotICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChXZWJJbnNwZWN0
b3IuU291cmNlQ1NTVG9rZW5pemVyLk1lZGlhVHlwZXMuaGFzT3duUHJvcGVydHkodG9rZW4pKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1rZXl3b3Jk
IjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50
b2tlblR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOworCisgICAg
ICAgICAgICAgICAgICAgIGlmICh0aGlzLl9pc1Byb3BlcnR5VmFsdWUoKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgdmFyIGZpcnN0Q2hhciA9IHRva2VuLmNoYXJBdCgwKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChmaXJzdENoYXIgPT09ICIkIikKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJzY3NzLXZhcmlhYmxlIjsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKGZpcnN0Q2hhciA9PT0gIiEiKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1iYW5nLWtleXdvcmQiOworICAgICAg
ICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLmF0S2V5d29yZCA9PT0g
IkBleHRlbmQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0g
ImNzcy1zZWxlY3RvciI7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHRoaXMuX2Nv
bmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElB
X1JVTEUgfHwgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNv
bmRpdGlvbnMuQVRfUlVMRSkgJiYgdG9rZW4gaW4gdGhpcy5fbWVkaWFUeXBlcykKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1rZXl3b3JkIjsKLSAgICAgICAg
ICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0
aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgJiYgdG9rZW4gaW4gdGhpcy5fcHJvcGVydHlL
ZXl3b3JkcykKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1w
cm9wZXJ0eSI7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX2lzUHJvcGVydHlW
YWx1ZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4gaW4gdGhpcy5fdmFs
dWVLZXl3b3JkcykKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKFdlYkluc3BlY3Rv
ci5Tb3VyY2VDU1NUb2tlbml6ZXIuVmFsdWVLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikg
fHwgV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5TQ1NTVmFsdWVLZXl3b3Jkcy5oYXNP
d25Qcm9wZXJ0eSh0b2tlbikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tl
blR5cGUgPSAiY3NzLWtleXdvcmQiOwotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAo
dG9rZW4gaW4gdGhpcy5fY29sb3JLZXl3b3JkcykgeworICAgICAgICAgICAgICAgICAgICAgICAg
ZWxzZSBpZiAodGhpcy5fY29sb3JLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyBkb2VzIG5vdCBjb252ZXJ0
IHRva2VucyB0b0xvd2VyQ2FzZSgpIGZvciB0aGUgc2FrZSBvZiBzcGVlZC4KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtY29sb3IiOwotICAgICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0b2tlbiA9PT0gIiFpbXBvcnRhbnQiKQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1pbXBvcnRhbnQiOwot
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
dG9rZW5UeXBlID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gIT09IHRo
aXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWV9WQUxVRSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1zZWxlY3RvciI7CiAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBjdXJzb3I7CiAgICAgICAgICAgICAgICAgfQogY2FzZSAzMzoKICAgICAgICAgICAg
IHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJLRVIg
PSArK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAnLScpIHsKKyAgICAgICAgICAg
IGlmICh5eWNoIDw9ICcuJykgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICchJykgewog
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAx
MzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEz
MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJCcpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDExNTsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIycpIHsgZ290b0Nh
c2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDEyNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdc
JycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2Fz
ZSA9IDExNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnJScpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXCcnKSB7IGdv
dG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICcsJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoID09ICctJykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsK
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICc8JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJy4nKSB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICc9JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
JzknKSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICc8JykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICc9JykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAxMzI7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7
IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSAxMzQ7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ14n
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7IGdvdG9DYXNl
ID0gMTMwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICddJykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ18nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAn
XicpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnYCcpIHsgZ290b0Nh
c2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ3onKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDEzMDsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMyOyBj
b250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0KQEAgLTQ2OCw4NCArNDkwLDEyMSBAQCBjYXNlIDM0OgogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
QCcpIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsgZ290b0Nhc2UgPSAzMDsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNl
ID0gMTIzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsg
Z290b0Nhc2UgPSAxMjc7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSAzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdGJykgeyBnb3RvQ2FzZSA9IDEyMzsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ1onKSB7IGdvdG9DYXNlID0gMTI3OyBjb250aW51ZTsgfTsK
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAzMDsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2YnKSB7IGdvdG9DYXNlID0gMTIz
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nh
c2UgPSAxMjc7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMDsg
Y29udGludWU7IH07CiAgICAgICAgICAgICB9CiBjYXNlIDM1OgorICAgICAgICAgICAgeXljaCA9
IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcpIHsK
KyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyUnKSB7IGdvdG9DYXNlID0gMzA7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI0OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnLScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcs
JykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9DYXNl
ID0gMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
JzknKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICddJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgeyBnb3RvQ2FzZSA9
IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
MzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnXicpIHsgZ290b0Nhc2UgPSAzMDsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICdgJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorY2Fz
ZSAzNjoKICAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoWVlNQVJLRVIgPSArK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAn
LScpIHsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgewogICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICciJykgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0g
MzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEx
NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE4
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2Ug
PSAxMTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDExMzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
ICcpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnJicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICckJykgeyBnb3Rv
Q2FzZSA9IDExMzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9D
YXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1wnJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyUnKSB7IGdvdG9D
YXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICcmJykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsg
Z290b0Nhc2UgPSAxMTU7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJywnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy0nKSB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9
OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnLicpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJz0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnOScpIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OwogICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJz0nKSB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeyBnb3RvQ2FzZSA9IDEx
ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycp
IHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDEyMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsgZ290b0Nh
c2UgPSAxMTk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ10nKSB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICdeJykgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdgJykgeyBnb3Rv
Q2FzZSA9IDExNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAneicpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gMTE0
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTg7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQotY2FzZSAzNjoKK2Nhc2UgMzc6CiAgICAgICAgICAgICB5eWFjY2VwdCA9
IDA7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KFlZTUFSS0VSID0gKytjdXJzb3Ip
OwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy4nKSB7IGdvdG9DYXNlID0gNjY7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy8nKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNTE7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKLWNh
c2UgMzc6CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnLicpIHsgZ290b0Nhc2UgPSA2NzsgY29u
dGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsgZ290b0Nhc2UgPSA1MTsg
Y29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSA1
MjsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9
OworY2FzZSAzODoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwog
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy8nKSB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNzA7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKLWNhc2Ug
Mzg6CitjYXNlIDM5OgogICAgICAgICAgICAgeXlhY2NlcHQgPSAwOwogICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9ICsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5
eWNoID09ICcqJykgeyBnb3RvQ2FzZSA9IDEwNTsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7
IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwotY2FzZSAzOToKKyAgICAgICAgICAgIGlmICh5
eWNoID09ICcqJykgeyBnb3RvQ2FzZSA9IDEwNjsgY29udGludWU7IH07CisgICAgICAgICAgICB7
IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OworY2FzZSA0MDoKICAgICAgICAgICAgIHl5YWNj
ZXB0ID0gMTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJLRVIgPSArK2N1
cnNvcik7CiAgICAgICAgICAgICBzd2l0Y2ggKHl5Y2gpIHsKICAgICAgICAgICAgIGNhc2UgJyEn
OgogICAgICAgICAgICAgY2FzZSAnIic6Ci0gICAgICAgICAgICBjYXNlICckJzoKKyAgICAgICAg
ICAgIGNhc2UgJyYnOgogICAgICAgICAgICAgY2FzZSAnXCcnOgogICAgICAgICAgICAgY2FzZSAn
LSc6CiAgICAgICAgICAgICBjYXNlICcvJzoKQEAgLTU5Miw5ICs2NTEsOSBAQCBjYXNlIDM5Ogog
ICAgICAgICAgICAgY2FzZSAndyc6CiAgICAgICAgICAgICBjYXNlICd4JzoKICAgICAgICAgICAg
IGNhc2UgJ3knOgotICAgICAgICAgICAgY2FzZSAneic6ICAgIHsgZ290b0Nhc2UgPSA0OTsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICclJzogICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJy4nOiAgICB7IGdvdG9DYXNlID0gNjY7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgY2FzZSAneic6ICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGlu
dWU7IH07CisgICAgICAgICAgICBjYXNlICclJzogICAgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJy4nOiAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgY2FzZSAnMCc6CiAgICAgICAgICAgICBjYXNlICcxJzoKICAgICAg
ICAgICAgIGNhc2UgJzInOgpAQCAtNjA0LDIzICs2NjMsMjMgQEAgY2FzZSAzOToKICAgICAgICAg
ICAgIGNhc2UgJzYnOgogICAgICAgICAgICAgY2FzZSAnNyc6CiAgICAgICAgICAgICBjYXNlICc4
JzoKLSAgICAgICAgICAgIGNhc2UgJzknOiAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgY2FzZSAnSCc6ICAgIHsgZ290b0Nhc2UgPSA1MzsgY29udGludWU7IH07
Ci0gICAgICAgICAgICBjYXNlICdfJzogICAgeyBnb3RvQ2FzZSA9IDU0OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgIGNhc2UgJ2MnOiAgICB7IGdvdG9DYXNlID0gNTU7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgY2FzZSAnZCc6ICAgIHsgZ290b0Nhc2UgPSA1NjsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICBjYXNlICdlJzogICAgeyBnb3RvQ2FzZSA9IDU3OyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgIGNhc2UgJ2cnOiAgICB7IGdvdG9DYXNlID0gNTg7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgY2FzZSAnaSc6ICAgIHsgZ290b0Nhc2UgPSA1OTsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICBjYXNlICdrJzogICAgeyBnb3RvQ2FzZSA9IDYwOyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgIGNhc2UgJ20nOiAgICB7IGdvdG9DYXNlID0gNjE7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgY2FzZSAncCc6ICAgIHsgZ290b0Nhc2UgPSA2MjsgY29udGludWU7IH07Ci0gICAgICAg
ICAgICBjYXNlICdyJzogICAgeyBnb3RvQ2FzZSA9IDYzOyBjb250aW51ZTsgfTsKLSAgICAgICAg
ICAgIGNhc2UgJ3MnOiAgICB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgY2FzZSAndCc6ICAgIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07Ci0gICAgICAgICAg
ICBkZWZhdWx0OiAgICB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
Y2FzZSAnOSc6ICAgIHsgZ290b0Nhc2UgPSA1MjsgY29udGludWU7IH07CisgICAgICAgICAgICBj
YXNlICdIJzogICAgeyBnb3RvQ2FzZSA9IDU0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNh
c2UgJ18nOiAgICB7IGdvdG9DYXNlID0gNTU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2Fz
ZSAnYyc6ICAgIHsgZ290b0Nhc2UgPSA1NjsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNl
ICdkJzogICAgeyBnb3RvQ2FzZSA9IDU3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2Ug
J2UnOiAgICB7IGdvdG9DYXNlID0gNTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAn
Zyc6ICAgIHsgZ290b0Nhc2UgPSA1OTsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdp
JzogICAgeyBnb3RvQ2FzZSA9IDYwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ2sn
OiAgICB7IGdvdG9DYXNlID0gNjE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnbSc6
ICAgIHsgZ290b0Nhc2UgPSA2MjsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdwJzog
ICAgeyBnb3RvQ2FzZSA9IDYzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ3InOiAg
ICB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAncyc6ICAg
IHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICd0JzogICAg
eyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGRlZmF1bHQ6ICAgIHsg
Z290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CiAgICAgICAgICAgICB9Ci1jYXNlIDQwOgorY2Fz
ZSA0MToKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzUHJv
cGVydHlWYWx1ZSgpKQogICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAi
Y3NzLW51bWJlciI7CkBAIC02MjgsOTIgKzY4Nyw5MSBAQCBjYXNlIDQwOgogICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KLWNhc2UgNDE6CitjYXNlIDQyOgogICAg
ICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHRo
aXMudG9rZW5UeXBlID0gbnVsbDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRp
dGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZKQor
ICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09
PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgfHwgdGhpcy5fY29uZGl0aW9uLnBhcnNl
Q29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkKICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNl
Q29uZGl0aW9ucy5QUk9QRVJUWV9WQUxVRTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1
cnNvcjsKICAgICAgICAgICAgICAgICB9Ci1jYXNlIDQzOgorY2FzZSA0NDoKICAgICAgICAgICAg
ICsrY3Vyc29yOwogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2Vu
VHlwZSA9IG51bGw7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ucGFy
c2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFKQotICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFy
c2VDb25kaXRpb25zLklOSVRJQUw7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3Bh
cnNlQ29uZGl0aW9ucy5QUk9QRVJUWTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0
aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fY29uZGl0aW9uLm9wZW5CcmFjZXMgPyB0aGlzLl9w
YXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgOiB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTDsK
KyAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2NvbmRpdGlvbi5hdEtleXdvcmQ7CiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CiAgICAgICAgICAgICAgICAgfQotY2Fz
ZSA0NToKK2Nhc2UgNDY6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiYmxvY2stc3RhcnQiOworICAgICAg
ICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyA9ICh0aGlzLl9jb25kaXRp
b24ub3BlbkJyYWNlcyB8fCAwKSArIDE7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9j
b25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJ
QV9SVUxFKQogICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29u
ZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUw7CiAgICAgICAgICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNv
bmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWTsKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9Ci1jYXNlIDQ3OgorY2FzZSA0
ODoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
ICAgICB0aGlzLnRva2VuVHlwZSA9ICJibG9jay1lbmQiOwotICAgICAgICAgICAgICAgICAgICB0
aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5J
VElBTDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2Vz
ID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIC0tdGhpcy5fY29uZGl0aW9uLm9wZW5CcmFj
ZXM7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9
IHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzID8gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BF
UlRZIDogdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUw7CisgICAgICAgICAgICAgICAgICAg
IGRlbGV0ZSB0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkOwogICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KLWNhc2UgNDk6CitjYXNlIDUwOgogICAg
ICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNv
cik7Ci1jYXNlIDUwOgotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICciJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9D
YXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICckJykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMjsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIH0KK2Nhc2UgNTE6CisgICAgICAgICAgICBpZiAo
eXljaCA8PSAnPCcpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7CisgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0g
NTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJScpIHsg
Z290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJywnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnXCcnKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJy0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnLCcpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy4nKSB7
IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CiAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnPCcpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7IGdv
dG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ1snKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICddJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgeyBnb3RvQ2FzZSA9
IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAz
MjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsg
fTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPT0gJ14nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7
IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSA0OTsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nh
c2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gMzI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfQotY2FzZSA1MToKK2Nhc2UgNTI6CiAgICAgICAgICAgICB5eWFj
Y2VwdCA9IDE7CiAgICAgICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOwogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgc3dpdGNoICh5eWNoKSB7
CiAgICAgICAgICAgICBjYXNlICchJzoKICAgICAgICAgICAgIGNhc2UgJyInOgotICAgICAgICAg
ICAgY2FzZSAnJCc6CisgICAgICAgICAgICBjYXNlICcmJzoKICAgICAgICAgICAgIGNhc2UgJ1wn
JzoKICAgICAgICAgICAgIGNhc2UgJy0nOgogICAgICAgICAgICAgY2FzZSAnLyc6CkBAIC03NjAs
OSArODE4LDkgQEAgY2FzZSA1MToKICAgICAgICAgICAgIGNhc2UgJ3cnOgogICAgICAgICAgICAg
Y2FzZSAneCc6CiAgICAgICAgICAgICBjYXNlICd5JzoKLSAgICAgICAgICAgIGNhc2UgJ3onOiAg
ICB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnJSc6ICAg
IHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICcuJzogICAg
eyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ3onOiAgICB7
IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnJSc6ICAgIHsg
Z290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICcuJzogICAgeyBn
b3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIGNhc2UgJzAnOgogICAgICAg
ICAgICAgY2FzZSAnMSc6CiAgICAgICAgICAgICBjYXNlICcyJzoKQEAgLTc3Miw1ODQgKzgzMCw2
MTcgQEAgY2FzZSA1MToKICAgICAgICAgICAgIGNhc2UgJzYnOgogICAgICAgICAgICAgY2FzZSAn
Nyc6CiAgICAgICAgICAgICBjYXNlICc4JzoKLSAgICAgICAgICAgIGNhc2UgJzknOiAgICB7IGdv
dG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnSCc6ICAgIHsgZ290
b0Nhc2UgPSA1MzsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdfJzogICAgeyBnb3Rv
Q2FzZSA9IDU0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ2MnOiAgICB7IGdvdG9D
YXNlID0gNTU7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnZCc6ICAgIHsgZ290b0Nh
c2UgPSA1NjsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdlJzogICAgeyBnb3RvQ2Fz
ZSA9IDU3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ2cnOiAgICB7IGdvdG9DYXNl
ID0gNTg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnaSc6ICAgIHsgZ290b0Nhc2Ug
PSA1OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdrJzogICAgeyBnb3RvQ2FzZSA9
IDYwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ20nOiAgICB7IGdvdG9DYXNlID0g
NjE7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAncCc6ICAgIHsgZ290b0Nhc2UgPSA2
MjsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdyJzogICAgeyBnb3RvQ2FzZSA9IDYz
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ3MnOiAgICB7IGdvdG9DYXNlID0gNjQ7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAndCc6ICAgIHsgZ290b0Nhc2UgPSA2NTsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICBkZWZhdWx0OiAgICB7IGdvdG9DYXNlID0gNDA7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnOSc6ICAgIHsgZ290b0Nhc2UgPSA1MjsgY29u
dGludWU7IH07CisgICAgICAgICAgICBjYXNlICdIJzogICAgeyBnb3RvQ2FzZSA9IDU0OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ18nOiAgICB7IGdvdG9DYXNlID0gNTU7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgY2FzZSAnYyc6ICAgIHsgZ290b0Nhc2UgPSA1NjsgY29udGlu
dWU7IH07CisgICAgICAgICAgICBjYXNlICdkJzogICAgeyBnb3RvQ2FzZSA9IDU3OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ2UnOiAgICB7IGdvdG9DYXNlID0gNTg7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgY2FzZSAnZyc6ICAgIHsgZ290b0Nhc2UgPSA1OTsgY29udGludWU7
IH07CisgICAgICAgICAgICBjYXNlICdpJzogICAgeyBnb3RvQ2FzZSA9IDYwOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIGNhc2UgJ2snOiAgICB7IGdvdG9DYXNlID0gNjE7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgY2FzZSAnbSc6ICAgIHsgZ290b0Nhc2UgPSA2MjsgY29udGludWU7IH07
CisgICAgICAgICAgICBjYXNlICdwJzogICAgeyBnb3RvQ2FzZSA9IDYzOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGNhc2UgJ3InOiAgICB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgY2FzZSAncyc6ICAgIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICBjYXNlICd0JzogICAgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgIGRlZmF1bHQ6ICAgIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CiAgICAg
ICAgICAgICB9Ci1jYXNlIDUzOgotICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1
cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAneicpIHsgZ290b0Nhc2UgPSA2NDsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogY2Fz
ZSA1NDoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ18nKSB7IGdvdG9DYXNlID0gMTAyOyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAo
eXljaCA9PSAneicpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAgICAgICAgICB7
IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA1NToKICAgICAgICAgICAgIHl5Y2gg
PSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7
IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUw
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdfJykgeyBnb3RvQ2FzZSA9
IDEwMzsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVl
OyB9OwogY2FzZSA1NjoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3Ip
OwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2UnKSB7IGdvdG9DYXNlID0gMTAxOyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAg
ICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA1NzoKICAgICAgICAg
ICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ20nKSB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ3gnKSB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdlJykg
eyBnb3RvQ2FzZSA9IDEwMjsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0g
NTE7IGNvbnRpbnVlOyB9OwogY2FzZSA1ODoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3InKSB7IGdvdG9DYXNlID0g
OTk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICd4JykgeyBnb3RvQ2FzZSA9IDY1OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNl
IDU5OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAg
ICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ3InKSB7IGdvdG9DYXNlID0gMTAwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNlIDYwOgogICAgICAgICAgICAgeXljaCA9
IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnSCcpIHsg
Z290b0Nhc2UgPSA5ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0g
NjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsg
fTsKIGNhc2UgNjE6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsK
LSAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdzJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAg
ICAgICBpZiAoeXljaCA9PSAnSCcpIHsgZ290b0Nhc2UgPSA5OTsgY29udGludWU7IH07CisgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA2MjoKICAgICAgICAg
ICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ20nKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ3MnKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2UgNjM6CisgICAgICAgICAgICB5eWNoID0g
dGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdzJykgewot
ICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdjJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgIGlmICh5eWNoID09ICdjJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsgZ290b0Nh
c2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3gnKSB7
IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3QnKSB7IGdv
dG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd4
JykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB7IGdvdG9D
YXNlID0gNTE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgfQotY2FzZSA2MzoKLSAgICAgICAg
ICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ2EnKSB7IGdvdG9DYXNlID0gOTY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ2UnKSB7IGdvdG9DYXNlID0gOTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKIGNhc2UgNjQ6CiAgICAgICAgICAgICB5eWNoID0g
dGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5Jykgewot
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnIicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcg
JykgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnJCcpIHsgZ290b0Nhc2Ug
PSA0OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
NDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAo
eXljaCA9PSAnYScpIHsgZ290b0Nhc2UgPSA5NzsgY29udGludWU7IH07CisgICAgICAgICAgICBp
ZiAoeXljaCA9PSAnZScpIHsgZ290b0Nhc2UgPSA5ODsgY29udGludWU7IH07CisgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OworY2FzZSA2NToKKyAgICAgICAgICAgIHl5
Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzwn
KSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyUnKSB7IGdvdG9DYXNlID0g
NDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNv
bnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICcsJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1wnJykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJywn
KSB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICcuJykgeyBnb3RvQ2FzZSA9
IDQwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0
OTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicp
IHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICc9JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7
IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XScpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9
OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290b0Nhc2Ug
PSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
NTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXicpIHsgZ290b0Nhc2UgPSA0MDsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ14nKSB7IGdvdG9DYXNl
ID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2Fz
ZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSA0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
YCcpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotY2FzZSA2NToK
LSAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAg
aWYgKHl5Y2ggPT0gJ3UnKSB7IGdvdG9DYXNlID0gOTQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKIGNhc2UgNjY6CiAgICAgICAgICAgICB5
eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoIDw9ICcv
JykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoIDw9
ICc5JykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNo
ID09ICd1JykgeyBnb3RvQ2FzZSA9IDk1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNlIDY3OgorICAgICAgICAgICAgeXljaCA9IHRo
aXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsgZ290
b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsg
Z290b0Nhc2UgPSA3MDsgY29udGludWU7IH07CitjYXNlIDY4OgogICAgICAgICAgICAgY3Vyc29y
ID0gWVlNQVJLRVI7CiAgICAgICAgICAgICBpZiAoeXlhY2NlcHQgPD0gMCkgewogICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0KLWNh
c2UgNjg6Ci0gICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CiBjYXNlIDY5OgorICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gNDE7IGNvbnRpbnVlOyB9OworY2FzZSA3MDoKICAgICAgICAgICAgIHl5YWNjZXB0ID0gMTsK
ICAgICAgICAgICAgIFlZTUFSS0VSID0gKytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZicpIHsKICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnSCcpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJy8nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnJScpIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJyUnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBn
b3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdHJykgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSA4MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSA3MDsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnRycpIHsgZ290b0Nhc2UgPSA0MTsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gODI7IGNv
bnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2InKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA9PSAnXycpIHsgZ290b0Nhc2UgPSA3MzsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ18nKSB7IGdvdG9DYXNlID0gNzQ7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQxOyBj
b250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdjJykgeyBnb3RvQ2FzZSA9IDc1OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdkJykgeyBnb3RvQ2FzZSA9IDc4
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdmJykg
eyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdjJykgeyBnb3RvQ2FzZSA9IDc2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdkJykgeyBnb3RvQ2FzZSA9IDc5OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdmJykgeyBnb3RvQ2FzZSA9
IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ20n
KSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdpJykgewotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2cnKSB7IGdvdG9DYXNlID0gNzk7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2gnKSB7IGdvdG9DYXNlID0g
NDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDc3
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdnJykg
eyBnb3RvQ2FzZSA9IDgwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdoJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA3ODsgY29udGludWU7IH07CiAgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnaycp
IHsgZ290b0Nhc2UgPSA4MjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnbCcpIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNzY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2snKSB7IGdvdG9DYXNlID0gODM7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2wnKSB7IGdvdG9DYXNlID0g
NDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDc3
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdxJykgewotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3AnKSB7IGdvdG9DYXNlID0gNzQ7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdwJykgeyBnb3RvQ2FzZSA9
IDc1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0
MTsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncicpIHsgZ290b0Nhc2UgPSA3MjsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncycpIHsgZ290b0Nhc2Ug
PSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
dCcpIHsgZ290b0Nhc2UgPSA4MDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ3InKSB7IGdvdG9DYXNlID0gNzM7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3MnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3QnKSB7IGdvdG9DYXNl
ID0gODE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJz
b3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3gnKSB7IGdvdG9DYXNlID0gNjg7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLWNh
c2UgNzI6Ci0gICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAg
ICAgICAgIGlmICh5eWNoID09ICdhJykgeyBnb3RvQ2FzZSA9IDkyOyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgIGlmICh5eWNoID09ICdlJykgeyBnb3RvQ2FzZSA9IDkzOyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICBp
ZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAgICAg
ICBpZiAoeXljaCA9PSAneCcpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogY2FzZSA3MzoKICAgICAgICAgICAg
IHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
J18nKSB7IGdvdG9DYXNlID0gODk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdhJykgeyBnb3Rv
Q2FzZSA9IDkzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdlJykgeyBn
b3RvQ2FzZSA9IDk0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsg
Y29udGludWU7IH07CiBjYXNlIDc0OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgr
K2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnXycpIHsgZ290b0Nhc2UgPSA5MDsg
Y29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9Owor
Y2FzZSA3NToKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwogICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ3MnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
J2MnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2Mn
KSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICd0JykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgICAgICBpZiAoeXljaCA9PSAneCcpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3gnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAg
ICAgICAgICB9Ci1jYXNlIDc1OgotICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1
cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2ODsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OwogY2Fz
ZSA3NjoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlm
ICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiBjYXNlIDc3OgogICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbicp
IHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0g
Njc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNl
ID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdvdG9D
YXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250
aW51ZTsgfTsKIGNhc2UgNzg6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vy
c29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdlJykgeyBnb3RvQ2FzZSA9IDg4OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAg
ICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogY2FzZSA3OToKICAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ3InKSB7IGdvdG9DYXNlID0gODY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdlJykg
eyBnb3RvQ2FzZSA9IDg5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2
ODsgY29udGludWU7IH07CiBjYXNlIDgwOgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJB
dCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAndScpIHsgZ290b0Nhc2UgPSA4
NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3InKSB7IGdvdG9DYXNlID0gODc7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKIGNhc2UgODE6
CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAg
IGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9
PSAndScpIHsgZ290b0Nhc2UgPSA4NTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9D
YXNlID0gNjg7IGNvbnRpbnVlOyB9OwogY2FzZSA4MjoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ0gnKSB7IGdvdG9D
YXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3onKSB7IGdv
dG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBj
b250aW51ZTsgfTsKK2Nhc2UgODM6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsr
Y3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9IDY4OyBj
b250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Ci1j
YXNlIDg0OgorICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ0gnKSB7IGdvdG9DYXNlID0gNjg7IGNv
bnRpbnVlOyB9OwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0g
ICAgICAgICAgICBpZiAoeXljaCAhPSAncicpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07
CisgICAgICAgICAgICBpZiAoeXljaCA9PSAneicpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7
IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworY2FzZSA4NToK
ICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAg
aWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLWNhc2UgODY6CisgICAgICAgICAgICBp
ZiAoeXljaCAhPSAncicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9
ICdhJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNo
ID09ICduJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSA2ODsgY29udGludWU7IH07CitjYXNlIDg3OgogICAgICAgICAgICAgeXljaCA9IHRo
aXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnZCcpIHsgZ290
b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNv
bnRpbnVlOyB9OwotY2FzZSA4ODoKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdhJykgeyBnb3Rv
Q2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQo
KytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2cnKSB7IGdvdG9DYXNlID0gNjg7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGlmICh5eWNoID09ICdkJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiBjYXNlIDg5Ogog
ICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBp
ZiAoeXljaCAhPSAncScpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAg
ICBpZiAoeXljaCA9PSAnZycpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworY2FzZSA5MDoKICAgICAgICAgICAg
IHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggIT0g
J2UnKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2gg
IT0gJ3EnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgeXljaCA9
IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7
IGNvbnRpbnVlOyB9OwotY2FzZSA5MjoKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdlJykgeyBn
b3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2QnKSB7IGdvdG9DYXNlID0g
Njg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiBjYXNlIDkz
OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAg
ICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAg
ICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ2QnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDY4OyBjb250aW51ZTsgfTsKIGNhc2UgOTQ6CiAgICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBnb3Rv
Q2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBn
b3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsg
Y29udGludWU7IH07CitjYXNlIDk1OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgr
K2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290b0Nhc2UgPSA2NDsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9Owot
Y2FzZSA5NjoKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBnb3RvQ2FzZSA9IDUxOyBj
b250aW51ZTsgfTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwot
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2QnKSB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNlIDk3OgogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAn
bScpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNl
ID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2QnKSB7IGdvdG9D
YXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250
aW51ZTsgfTsKIGNhc2UgOTg6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vy
c29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9IDY0OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAg
ICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA5OToKICAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5
Y2ggIT0gJ2EnKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ3onKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2UgMTAwOgogICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnZCcp
IHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0g
NTA7IGNvbnRpbnVlOyB9OwotY2FzZSAxMDE6CisgICAgICAgICAgICBpZiAoeXljaCAhPSAnYScp
IHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5f
Y2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdnJykgeyBnb3RvQ2Fz
ZSA9IDY0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGlu
dWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnZCcpIHsgZ290b0Nhc2UgPSA2NTsgY29u
dGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2Fz
ZSAxMDI6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAg
ICAgICAgIGlmICh5eWNoICE9ICdxJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgIGlmICh5eWNoID09ICdnJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CitjYXNlIDEwMzoKICAg
ICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYg
KHl5Y2ggIT0gJ2UnKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
aWYgKHl5Y2ggIT0gJ3EnKSB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9
PSAnbScpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9D
YXNlID0gNTA7IGNvbnRpbnVlOyB9OwotY2FzZSAxMDU6CisgICAgICAgICAgICBpZiAoeXljaCAh
PSAnZScpIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CisgICAgICAgICAgICB5eWNoID0g
dGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBn
b3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsg
Y29udGludWU7IH07CitjYXNlIDEwNjoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1xmJykgewotICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSAx
MDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMDU7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSAx
MTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMDY7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXHInKSB7IGdvdG9DYXNlID0gMTA5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBp
ZiAoeXljaCAhPSAnKicpIHsgZ290b0Nhc2UgPSAxMDU7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAxMTA7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICcqJykgeyBnb3RvQ2FzZSA9IDEwNjsgY29udGlu
dWU7IH07CiAgICAgICAgICAgICB9Ci1jYXNlIDEwNzoKK2Nhc2UgMTA4OgogICAgICAgICAgICAg
KytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci0gICAg
ICAgICAgICBpZiAoeXljaCA9PSAnKicpIHsgZ290b0Nhc2UgPSAxMDc7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy8nKSB7IGdvdG9DYXNlID0gMTExOyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMDU7IGNvbnRpbnVlOyB9OwotY2FzZSAxMDk6
CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnKicpIHsgZ290b0Nhc2UgPSAxMDg7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy8nKSB7IGdvdG9DYXNlID0gMTEyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMDY7IGNvbnRpbnVlOyB9OworY2Fz
ZSAxMTA6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHRoaXMuc2V0TGV4Q29u
ZGl0aW9uKHRoaXMuX2xleENvbmRpdGlvbnMuQ09NTUVOVCk7CiAgICAgICAgICAgICB7IHRoaXMu
dG9rZW5UeXBlID0gImNzcy1jb21tZW50IjsgcmV0dXJuIGN1cnNvcjsgfQotY2FzZSAxMTE6Citj
YXNlIDExMjoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeyB0aGlzLnRva2Vu
VHlwZSA9ICJjc3MtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KLWNhc2UgMTEzOgorY2FzZSAx
MTQ6CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAgICAgICAgICAgICBZWU1BUktFUiA9ICsr
Y3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwotICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJy0nKSB7CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicpIHsK
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsKICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ1xmJykgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
J1xuJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHInKSB7IGdvdG9D
YXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJyAnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OwogICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAnJCcpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICclJykgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9
OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ1wnJykgeyBnb3RvQ2FzZSA9IDExNTsgY29udGludWU7IH07Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLCcpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExMzsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnLScpIHsgZ290b0Nh
c2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdbJykgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9IDExNzsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nh
c2UgPSAxMTM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDExNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykg
eworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcpIHsgZ290b0Nhc2UgPSAx
MTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEx
NDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9DYXNl
ID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSAxMTM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
Jz8nKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdbJykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTIwOyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdeJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ1xcJykgeyBnb3RvQ2FzZSA9IDExOTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnXScpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJ14nKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9Owog
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ2AnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDExMzsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9
IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
eicpIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci1jYXNlIDExNToKK2Nhc2UgMTE2Ogog
ICAgICAgICAgICAgKytjdXJzb3I7Ci0gICAgICAgICAgICBpZiAoKHl5Y2ggPSB0aGlzLl9jaGFy
QXQoY3Vyc29yKSkgPD0gJzknKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgewotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPj0gJyEnKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJyQnKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICBpZiAoKHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKSkg
PD0gJzwnKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSA1MDsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICcmJykgeyBnb3Rv
Q2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLCcpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdcJycpIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPj0gJy0nKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0g
Jy4nKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250
aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgewotICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoID49ICc9JykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnXScpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJz8nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsg
Z290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAx
MTY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1sn
KSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdfJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
IT0gJ14nKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPj0gJ18nKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDEx
NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicp
IHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci1jYXNlIDExNjoKLSAgICAgICAgICAgIHsg
cmV0dXJuIHRoaXMuX3N0cmluZ1Rva2VuKGN1cnNvciwgdHJ1ZSk7IH0KIGNhc2UgMTE3OgorICAg
ICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29yLCB0cnVlKTsgfQorY2Fz
ZSAxMTg6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9j
aGFyQXQoY3Vyc29yKTsKICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsKLSAgICAgICAg
ICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7IGdvdG9DYXNlID0gMTE4
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XCcnKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9
IDExNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjI7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290
b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gMTIzOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCAhPSAnXFwnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDEx
ODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotY2FzZSAx
MTk6CitjYXNlIDEyMDoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9
IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2EnKSB7CiAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7CiAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdcbicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdc
dCcpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXHQnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
IT0gJ1xyJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoICE9ICdccicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2Ug
PSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
JyYnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9D
YXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9
PSAnXFwnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdxJykgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
ZicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdiJykgeyBnb3RvQ2Fz
ZSA9IDExNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnZScpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdiJykgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZScpIHsgZ290b0Nhc2UgPSA2ODsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE4OyBjb250
aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gMTE4OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29u
dGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoID09ICdzJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdvdG9DYXNlID0gNjg7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExODsg
Y29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA9PSAndicpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd2JykgeyBnb3RvQ2FzZSA9IDEx
ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB0aGlzLnNl
dExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25zLlNTVFJJTkcpOwogICAgICAgICAgICAg
eyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29yKTsgfQotY2FzZSAxMjI6Ci0gICAgICAg
ICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAxMTY7IGNvbnRpbnVlOyB9OwogY2FzZSAxMjM6CisgICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRp
bnVlOyB9OworY2FzZSAxMjQ6CisgICAgICAgICAgICArK2N1cnNvcjsKKyAgICAgICAgICAgIHl5
Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICc8Jykg
eworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJyYnKSB7IGdvdG9DYXNlID0g
MTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnLScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID49ICctJykgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicp
IHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICc/JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz0n
KSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdcXCcpIHsgZ290b0Nh
c2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXycpIHsgZ290b0Nhc2UgPSAxMjQ7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9
IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CitjYXNlIDEyNjoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fY29u
ZGl0aW9uLnBhcnNlQ29uZGl0aW9uLklOSVRJQUwgfHwgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29u
ZGl0aW9uID09PSB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24uQVRfUlVMRSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMu
X3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tl
blR5cGUgPSAic2Nzcy12YXJpYWJsZSI7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJz
b3I7CisgICAgICAgICAgICAgICAgfQorY2FzZSAxMjc6CiAgICAgICAgICAgICArK2N1cnNvcjsK
ICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdAJykgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcvJykgeyBnb3Rv
Q2FzZSA9IDEyNTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzkn
KSB7IGdvdG9DYXNlID0gMTIzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnLycpIHsgZ290b0Nhc2UgPSAxMjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDEyNzsgY29udGludWU7IH07CiAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdGJykgeyBnb3RvQ2Fz
ZSA9IDEyMzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7
IGdvdG9DYXNlID0gMTI1OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnZicpIHsgZ290b0Nhc2UgPSAxMjM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdaJykgeyBnb3RvQ2FzZSA9IDEyNzsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTI5OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSAxMjc7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgfQotY2FzZSAxMjU6CitjYXNlIDEyOToKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzUHJvcGVydHlWYWx1ZSgpKQogICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWNvbG9yIjsKKyAgICAgICAg
ICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0
aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRo
aXMudG9rZW5UeXBlID0gImNzcy1zZWxlY3RvciI7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gbnVsbDsKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9Ci1jYXNlIDEyNjoK
K2Nhc2UgMTMwOgogICAgICAgICAgICAgeXlhY2NlcHQgPSAwOwogICAgICAgICAgICAgWVlNQVJL
RVIgPSArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsK
LSAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
Jy4nKSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdcZicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CiAgICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHIn
KSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPj0gJyEnKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICchJykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGlu
dWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJCcpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDExNTsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnJCcpIHsgZ290b0Nhc2UgPSAxMjY7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSAxMTY7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJyYnKSB7
IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcJycpIHsgZ290b0Nhc2Ug
PSAxMjY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0g
Jy0nKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoID09ICctJykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CiAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdbJykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnPCcpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICcuJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJz0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScp
IHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPj0gJz0nKSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICc9JykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA+PSAnQCcpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9DYXNlID0gMTMyOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdbJykgeyBn
b3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gMTM0OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykg
ewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgeyBnb3RvQ2FzZSA9
IDEzMDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XScpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICde
JykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnYCcpIHsgZ290b0Nh
c2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ3onKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSAxMzA7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQotY2FzZSAxMjg6CitjYXNlIDEzMjoKICAgICAgICAgICAgICsrY3Vyc29y
OwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ1xyJykgewotICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicpIHsg
Z290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1xmJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAn
XG4nKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnIScpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gMTIyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyMzsgY29udGludWU7IH07CiAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykg
eyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KLWNhc2UgMTMwOgorY2FzZSAxMzQ6CiAgICAgICAgICAgICAr
K2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdhJykgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICch
JykgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXG4nKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHQnKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1x0JykgeyBnb3RvQ2Fz
ZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdccicpIHsgZ290b0Nhc2UgPSA2NzsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCAhPSAnXHInKSB7IGdv
dG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykg
ewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0g
MTI4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcm
JykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncScpIHsKICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2YnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnYicpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyODsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYicpIHsgZ290b0Nh
c2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ2UnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290
b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID09ICduJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ3QnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAncycpIHsg
Z290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID09ICdzJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3YnKSB7
IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAndicpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTEzNjAsMTE0ICsx
NDUxLDExNCBAQCBjYXNlIDEzMDoKIGNhc2UgdGhpcy5jYXNlX1NTVFJJTkc6CiAgICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XHInKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDEz
NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykgeyBnb3Rv
Q2FzZSA9IDEzNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEz
NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3Rv
Q2FzZSA9IDE0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xm
JykgeyBnb3RvQ2FzZSA9IDE0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDE0MTsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJyYnKSB7IGdvdG9DYXNlID0gMTM2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDEzOTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDE0MDsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxNDM7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290b0Nh
c2UgPSAxNDE7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
MTM2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykg
eyBnb3RvQ2FzZSA9IDE0NTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSAxNDA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KLWNhc2UgMTM1OgorY2FzZSAxMzk6CiAgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9zdHJp
bmdUb2tlbihjdXJzb3IpOyB9Ci1jYXNlIDEzNjoKK2Nhc2UgMTQwOgogICAgICAgICAgICAgeXlh
Y2NlcHQgPSAwOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9ICsr
Y3Vyc29yKTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxNDM7IGNvbnRpbnVlOyB9OwotY2Fz
ZSAxMzc6CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTQ3OyBjb250aW51ZTsgfTsKK2Nhc2Ug
MTQxOgogICAgICAgICAgICAgKytjdXJzb3I7Ci1jYXNlIDEzODoKK2Nhc2UgMTQyOgogICAgICAg
ICAgICAgeyB0aGlzLnRva2VuVHlwZSA9IG51bGw7IHJldHVybiBjdXJzb3I7IH0KLWNhc2UgMTM5
OgorY2FzZSAxNDM6CiAgICAgICAgICAgICArK2N1cnNvcjsKLWNhc2UgMTQwOgorY2FzZSAxNDQ6
CiAgICAgICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25zLklO
SVRJQUwpOwogICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29yLCB0
cnVlKTsgfQotY2FzZSAxNDE6CitjYXNlIDE0NToKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9j
aGFyQXQoKytjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7CiAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA9PSAnIicpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxMzg7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnIicpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2Ug
PSAxNDI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdbJykgeyBnb3RvQ2FzZSA9IDEzODsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggIT0gJ2InKSB7IGdvdG9DYXNlID0gMTM4OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdiJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29u
dGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdyJykgewogICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnbScpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoID49ICdnJykgeyBnb3RvQ2FzZSA9IDEzODsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnZycpIHsgZ290b0Nhc2UgPSAxNDI7IGNv
bnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ24nKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdxJykgeyBnb3RvQ2FzZSA9IDEz
ODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnbicp
IHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ3EnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICd0JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ3MnKSB7IGdvdG9DYXNlID0gMTM4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdzJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07CiAg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCAhPSAndicpIHsgZ290b0Nhc2UgPSAxMzg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ3YnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsg
fTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0KLWNhc2UgMTQyOgorY2FzZSAxNDY6CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAgICAg
ICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2No
YXJBdChjdXJzb3IpOwotY2FzZSAxNDM6CitjYXNlIDE0NzoKICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICdccicpIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNl
ID0gMTM1OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7
IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gMTM1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7
IGdvdG9DYXNlID0gMTM5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXGYnKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTM5OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDE1MDsgY29udGludWU7IH07CiAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBn
b3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7
CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA9PSAnIicpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXCcnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJyInKSB7IGdvdG9DYXNlID0g
MTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ1wnJykg
eyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgewotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPj0gJ1xcJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXFwnKSB7IGdvdG9DYXNlID0g
MTQ2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdiJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnYicpIHsgZ290b0Nh
c2UgPSAxNDY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAncicpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ20nKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZicpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2YnKSB7IGdvdG9D
YXNlID0gMTQ2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICduJykgeyBnb3RvQ2FzZSA9IDE0Mjsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAncicpIHsg
Z290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ24nKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoID49ICdyJykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7
IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoID49ICd0JykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAndCcpIHsgZ290b0Nhc2UgPSAxNDY7IGNv
bnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJ3YnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd2JykgeyBnb3RvQ2FzZSA9IDE0
NjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjdXJzb3IgPSBZWU1BUktFUjsKLSAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAxMzU7IGNvbnRpbnVlOyB9OwotY2FzZSAxNDY6CisgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gMTM5OyBjb250aW51ZTsgfTsKK2Nhc2UgMTUwOgogICAgICAgICAgICAg
KytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci0gICAg
ICAgICAgICB7IGdvdG9DYXNlID0gMTQwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSAxNDQ7IGNvbnRpbnVlOyB9OwogICAgICAgICB9CiAKICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6
ZXIucmUyanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rv
a2VuaXplci5yZTJqcwppbmRleCA5ZTdiM2ZmMjI0N2I2MmY4ZDRkZGZjOGEyYWVlZDJiYTExMDEz
YWZiLi42MjhlNDhhMDcyOGM3YTI5NzczYjEwMWZjOGVmNjg3MjFmOTEzZjdmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5y
ZTJqcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rv
a2VuaXplci5yZTJqcwpAQCAtNTEsNjEgKzUxLDkgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rv
a2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVy
LmNhbGwodGhpcyk7CiAKLSAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVjdG9y
LkNTU0NvbXBsZXRpb25zLmNzc1Byb3BlcnRpZXNNZXRhaW5mby5rZXlTZXQoKTsKKyAgICB0aGlz
Ll9wcm9wZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc1Byb3Bl
cnRpZXNNZXRhaW5mb0tleVNldCgpOwogICAgIHRoaXMuX2NvbG9yS2V5d29yZHMgPSBXZWJJbnNw
ZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmNvbG9ycygpOwogCi0gICAgdGhpcy5fdmFsdWVL
ZXl3b3JkcyA9IFsKLSAgICAgICAgImFib3ZlIiwgImFic29sdXRlIiwgImFjdGl2ZWJvcmRlciIs
ICJhY3RpdmVjYXB0aW9uIiwgImFmYXIiLCAiYWZ0ZXItd2hpdGUtc3BhY2UiLCAiYWhlYWQiLCAi
YWxpYXMiLCAiYWxsIiwgImFsbC1zY3JvbGwiLAotICAgICAgICAiYWx0ZXJuYXRlIiwgImFsd2F5
cyIsICJhbWhhcmljIiwgImFtaGFyaWMtYWJlZ2VkZSIsICJhbnRpYWxpYXNlZCIsICJhcHB3b3Jr
c3BhY2UiLCAiYXJhYmljLWluZGljIiwgImFybWVuaWFuIiwgImFzdGVyaXNrcyIsCi0gICAgICAg
ICJhdXRvIiwgImF2b2lkIiwgImJhY2tncm91bmQiLCAiYmFja3dhcmRzIiwgImJhc2VsaW5lIiwg
ImJlbG93IiwgImJpZGktb3ZlcnJpZGUiLCAiYmluYXJ5IiwgImJlbmdhbGkiLCAiYmxpbmsiLAot
ICAgICAgICAiYmxvY2siLCAiYmxvY2stYXhpcyIsICJib2xkIiwgImJvbGRlciIsICJib3JkZXIi
LCAiYm9yZGVyLWJveCIsICJib3RoIiwgImJvdHRvbSIsICJicmVhay1hbGwiLCAiYnJlYWstd29y
ZCIsICJidXR0b24iLAotICAgICAgICAiYnV0dG9uLWJldmVsIiwgImJ1dHRvbmZhY2UiLCAiYnV0
dG9uaGlnaGxpZ2h0IiwgImJ1dHRvbnNoYWRvdyIsICJidXR0b250ZXh0IiwgImNhbWJvZGlhbiIs
ICJjYXBpdGFsaXplIiwgImNhcHMtbG9jay1pbmRpY2F0b3IiLAotICAgICAgICAiY2FwdGlvbiIs
ICJjYXB0aW9udGV4dCIsICJjYXJldCIsICJjZWxsIiwgImNlbnRlciIsICJjaGVja2JveCIsICJj
aXJjbGUiLCAiY2prLWVhcnRobHktYnJhbmNoIiwgImNqay1oZWF2ZW5seS1zdGVtIiwgImNqay1p
ZGVvZ3JhcGhpYyIsCi0gICAgICAgICJjbGVhciIsICJjbGlwIiwgImNsb3NlLXF1b3RlIiwgImNv
bC1yZXNpemUiLCAiY29sbGFwc2UiLCAiY29tcGFjdCIsICJjb25kZW5zZWQiLCAiY29udGFpbiIs
ICJjb250ZW50IiwgImNvbnRlbnQtYm94IiwgImNvbnRleHQtbWVudSIsCi0gICAgICAgICJjb250
aW51b3VzIiwgImNvcHkiLCAiY292ZXIiLCAiY3JvcCIsICJjcm9zcyIsICJjcm9zc2hhaXIiLCAi
Y3VycmVudGNvbG9yIiwgImN1cnNpdmUiLCAiZGFzaGVkIiwgImRlY2ltYWwiLCAiZGVjaW1hbC1s
ZWFkaW5nLXplcm8iLCAiZGVmYXVsdCIsCi0gICAgICAgICJkZWZhdWx0LWJ1dHRvbiIsICJkZXN0
aW5hdGlvbi1hdG9wIiwgImRlc3RpbmF0aW9uLWluIiwgImRlc3RpbmF0aW9uLW91dCIsICJkZXN0
aW5hdGlvbi1vdmVyIiwgImRldmFuYWdhcmkiLCAiZGlzYyIsICJkaXNjYXJkIiwgImRvY3VtZW50
IiwKLSAgICAgICAgImRvdC1kYXNoIiwgImRvdC1kb3QtZGFzaCIsICJkb3R0ZWQiLCAiZG91Ymxl
IiwgImRvd24iLCAiZS1yZXNpemUiLCAiZWFzZSIsICJlYXNlLWluIiwgImVhc2UtaW4tb3V0Iiwg
ImVhc2Utb3V0IiwgImVsZW1lbnQiLAotICAgICAgICAiZWxsaXBzaXMiLCAiZW1iZWQiLCAiZW5k
IiwgImV0aGlvcGljIiwgImV0aGlvcGljLWFiZWdlZGUiLCAiZXRoaW9waWMtYWJlZ2VkZS1hbS1l
dCIsICJldGhpb3BpYy1hYmVnZWRlLWdleiIsCi0gICAgICAgICJldGhpb3BpYy1hYmVnZWRlLXRp
LWVyIiwgImV0aGlvcGljLWFiZWdlZGUtdGktZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXIi
LCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiLAotICAgICAgICAiZXRoaW9waWMtaGFsZWhhbWUt
YW0tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtZ2V6IiwgImV0aGlvcGljLWhhbGVoYW1lLW9tLWV0
IiwgImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCIsCi0gICAgICAgICJldGhpb3BpYy1oYWxlaGFt
ZS1zby1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aS1lciIsICJldGhpb3BpYy1oYWxlaGFtZS10
aS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aWciLCAiZXctcmVzaXplIiwgImV4cGFuZGVkIiwK
LSAgICAgICAgImV4dHJhLWNvbmRlbnNlZCIsICJleHRyYS1leHBhbmRlZCIsICJmYW50YXN5Iiwg
ImZhc3QiLCAiZmlsbCIsICJmaXhlZCIsICJmbGF0IiwgImZvb3Rub3RlcyIsICJmb3J3YXJkcyIs
ICJmcm9tIiwgImdlb21ldHJpY1ByZWNpc2lvbiIsCi0gICAgICAgICJnZW9yZ2lhbiIsICJncmF5
dGV4dCIsICJncm9vdmUiLCAiZ3VqYXJhdGkiLCAiZ3VybXVraGkiLCAiaGFuZCIsICJoYW5ndWwi
LCAiaGFuZ3VsLWNvbnNvbmFudCIsICJoZWJyZXciLCAiaGVscCIsCi0gICAgICAgICJoaWRkZW4i
LCAiaGlkZSIsICJoaWdoZXIiLCAiaGlnaGxpZ2h0IiwgImhpZ2hsaWdodHRleHQiLCAiaGlyYWdh
bmEiLCAiaGlyYWdhbmEtaXJvaGEiLCAiaG9yaXpvbnRhbCIsICJoc2wiLCAiaHNsYSIsICJpY29u
IiwgImlnbm9yZSIsCi0gICAgICAgICJpbmFjdGl2ZWJvcmRlciIsICJpbmFjdGl2ZWNhcHRpb24i
LCAiaW5hY3RpdmVjYXB0aW9udGV4dCIsICJpbmZpbml0ZSIsICJpbmZvYmFja2dyb3VuZCIsICJp
bmZvdGV4dCIsICJpbmhlcml0IiwgImluaXRpYWwiLCAiaW5saW5lIiwKLSAgICAgICAgImlubGlu
ZS1heGlzIiwgImlubGluZS1ibG9jayIsICJpbmxpbmUtdGFibGUiLCAiaW5zZXQiLCAiaW5zaWRl
IiwgImludHJpbnNpYyIsICJpbnZlcnQiLCAiaXRhbGljIiwgImp1c3RpZnkiLCAia2FubmFkYSIs
ICJrYXRha2FuYSIsCi0gICAgICAgICJrYXRha2FuYS1pcm9oYSIsICJraG1lciIsICJsYW5kc2Nh
cGUiLCAibGFvIiwgImxhcmdlIiwgImxhcmdlciIsICJsZWZ0IiwgImxldmVsIiwgImxpZ2h0ZXIi
LCAibGluZS10aHJvdWdoIiwgImxpbmVhciIsICJsaW5lcyIsCi0gICAgICAgICJsaXN0LWl0ZW0i
LCAibGlzdGJveCIsICJsaXN0aXRlbSIsICJsb2NhbCIsICJsb2dpY2FsIiwgImxvdWQiLCAibG93
ZXIiLCAibG93ZXItYWxwaGEiLCAibG93ZXItYXJtZW5pYW4iLCAibG93ZXItZ3JlZWsiLAotICAg
ICAgICAibG93ZXItaGV4YWRlY2ltYWwiLCAibG93ZXItbGF0aW4iLCAibG93ZXItbm9yd2VnaWFu
IiwgImxvd2VyLXJvbWFuIiwgImxvd2VyY2FzZSIsICJsdHIiLCAibWFsYXlhbGFtIiwgIm1hdGNo
IiwgIm1lZGlhLWNvbnRyb2xzLWJhY2tncm91bmQiLAotICAgICAgICAibWVkaWEtY3VycmVudC10
aW1lLWRpc3BsYXkiLCAibWVkaWEtZnVsbHNjcmVlbi1idXR0b24iLCAibWVkaWEtbXV0ZS1idXR0
b24iLCAibWVkaWEtcGxheS1idXR0b24iLCAibWVkaWEtcmV0dXJuLXRvLXJlYWx0aW1lLWJ1dHRv
biIsCi0gICAgICAgICJtZWRpYS1yZXdpbmQtYnV0dG9uIiwgIm1lZGlhLXNlZWstYmFjay1idXR0
b24iLCAibWVkaWEtc2Vlay1mb3J3YXJkLWJ1dHRvbiIsICJtZWRpYS1zbGlkZXIiLCAibWVkaWEt
c2xpZGVydGh1bWIiLCAibWVkaWEtdGltZS1yZW1haW5pbmctZGlzcGxheSIsCi0gICAgICAgICJt
ZWRpYS12b2x1bWUtc2xpZGVyIiwgIm1lZGlhLXZvbHVtZS1zbGlkZXItY29udGFpbmVyIiwgIm1l
ZGlhLXZvbHVtZS1zbGlkZXJ0aHVtYiIsICJtZWRpdW0iLCAibWVudSIsICJtZW51bGlzdCIsICJt
ZW51bGlzdC1idXR0b24iLAotICAgICAgICAibWVudWxpc3QtdGV4dCIsICJtZW51bGlzdC10ZXh0
ZmllbGQiLCAibWVudXRleHQiLCAibWVzc2FnZS1ib3giLCAibWlkZGxlIiwgIm1pbi1pbnRyaW5z
aWMiLCAibWl4IiwgIm1vbmdvbGlhbiIsICJtb25vc3BhY2UiLCAibW92ZSIsICJtdWx0aXBsZSIs
Ci0gICAgICAgICJteWFubWFyIiwgIm4tcmVzaXplIiwgIm5hcnJvd2VyIiwgIm5hdnkiLCAibmUt
cmVzaXplIiwgIm5lc3ctcmVzaXplIiwgIm5vLWNsb3NlLXF1b3RlIiwgIm5vLWRyb3AiLCAibm8t
b3Blbi1xdW90ZSIsICJuby1yZXBlYXQiLCAibm9uZSIsCi0gICAgICAgICJub3JtYWwiLCAibm90
LWFsbG93ZWQiLCAibm93cmFwIiwgIm5zLXJlc2l6ZSIsICJudy1yZXNpemUiLCAibndzZS1yZXNp
emUiLCAib2JsaXF1ZSIsICJvY3RhbCIsICJvcGVuLXF1b3RlIiwgIm9wdGltaXplTGVnaWJpbGl0
eSIsCi0gICAgICAgICJvcHRpbWl6ZVNwZWVkIiwgIm9yaXlhIiwgIm9yb21vIiwgIm91dHNldCIs
ICJvdXRzaWRlIiwgIm92ZXJsYXkiLCAib3ZlcmxpbmUiLCAicGFkZGluZyIsICJwYWRkaW5nLWJv
eCIsICJwYWludGVkIiwgInBhdXNlZCIsCi0gICAgICAgICJwZXJzaWFuIiwgInBsdXMtZGFya2Vy
IiwgInBsdXMtbGlnaHRlciIsICJwb2ludGVyIiwgInBvcnRyYWl0IiwgInByZSIsICJwcmUtbGlu
ZSIsICJwcmUtd3JhcCIsICJwcmVzZXJ2ZS0zZCIsICJwcm9ncmVzcyIsCi0gICAgICAgICJwdXNo
LWJ1dHRvbiIsICJyYWRpbyIsICJyZWFkLW9ubHkiLCAicmVhZC13cml0ZSIsICJyZWFkLXdyaXRl
LXBsYWludGV4dC1vbmx5IiwgInJlbGF0aXZlIiwgInJlcGVhdCIsICJyZXBlYXQteCIsCi0gICAg
ICAgICJyZXBlYXQteSIsICJyZXNldCIsICJyZXZlcnNlIiwgInJnYiIsICJyZ2JhIiwgInJpZGdl
IiwgInJpZ2h0IiwgInJvdW5kIiwgInJvdy1yZXNpemUiLCAicnRsIiwgInJ1bi1pbiIsICJydW5u
aW5nIiwgInMtcmVzaXplIiwgInNhbnMtc2VyaWYiLAotICAgICAgICAic2Nyb2xsIiwgInNjcm9s
bGJhciIsICJzZS1yZXNpemUiLCAic2VhcmNoZmllbGQiLCAic2VhcmNoZmllbGQtY2FuY2VsLWJ1
dHRvbiIsICJzZWFyY2hmaWVsZC1kZWNvcmF0aW9uIiwgInNlYXJjaGZpZWxkLXJlc3VsdHMtYnV0
dG9uIiwKLSAgICAgICAgInNlYXJjaGZpZWxkLXJlc3VsdHMtZGVjb3JhdGlvbiIsICJzZW1pLWNv
bmRlbnNlZCIsICJzZW1pLWV4cGFuZGVkIiwgInNlcGFyYXRlIiwgInNlcmlmIiwgInNob3ciLCAi
c2lkYW1hIiwgInNpbmdsZSIsCi0gICAgICAgICJza2lwLXdoaXRlLXNwYWNlIiwgInNsaWRlIiwg
InNsaWRlci1ob3Jpem9udGFsIiwgInNsaWRlci12ZXJ0aWNhbCIsICJzbGlkZXJ0aHVtYi1ob3Jp
em9udGFsIiwgInNsaWRlcnRodW1iLXZlcnRpY2FsIiwgInNsb3ciLAotICAgICAgICAic21hbGwi
LCAic21hbGwtY2FwcyIsICJzbWFsbC1jYXB0aW9uIiwgInNtYWxsZXIiLCAic29saWQiLCAic29t
YWxpIiwgInNvdXJjZS1hdG9wIiwgInNvdXJjZS1pbiIsICJzb3VyY2Utb3V0IiwgInNvdXJjZS1v
dmVyIiwKLSAgICAgICAgInNwYWNlIiwgInNxdWFyZSIsICJzcXVhcmUtYnV0dG9uIiwgInN0YXJ0
IiwgInN0YXRpYyIsICJzdGF0dXMtYmFyIiwgInN0cmV0Y2giLCAic3Ryb2tlIiwgInN1YiIsICJz
dWJwaXhlbC1hbnRpYWxpYXNlZCIsICJzdXBlciIsCi0gICAgICAgICJzdy1yZXNpemUiLCAidGFi
bGUiLCAidGFibGUtY2FwdGlvbiIsICJ0YWJsZS1jZWxsIiwgInRhYmxlLWNvbHVtbiIsICJ0YWJs
ZS1jb2x1bW4tZ3JvdXAiLCAidGFibGUtZm9vdGVyLWdyb3VwIiwgInRhYmxlLWhlYWRlci1ncm91
cCIsCi0gICAgICAgICJ0YWJsZS1yb3ciLCAidGFibGUtcm93LWdyb3VwIiwgInRlbHVndSIsICJ0
ZXh0IiwgInRleHQtYm90dG9tIiwgInRleHQtdG9wIiwgInRleHRhcmVhIiwgInRleHRmaWVsZCIs
ICJ0aGFpIiwgInRoaWNrIiwgInRoaW4iLAotICAgICAgICAidGhyZWVkZGFya3NoYWRvdyIsICJ0
aHJlZWRmYWNlIiwgInRocmVlZGhpZ2hsaWdodCIsICJ0aHJlZWRsaWdodHNoYWRvdyIsICJ0aHJl
ZWRzaGFkb3ciLCAidGliZXRhbiIsICJ0aWdyZSIsICJ0aWdyaW55YS1lciIsICJ0aWdyaW55YS1l
ci1hYmVnZWRlIiwKLSAgICAgICAgInRpZ3JpbnlhLWV0IiwgInRpZ3JpbnlhLWV0LWFiZWdlZGUi
LCAidG8iLCAidG9wIiwgInRyYW5zcGFyZW50IiwgInVsdHJhLWNvbmRlbnNlZCIsICJ1bHRyYS1l
eHBhbmRlZCIsICJ1bmRlcmxpbmUiLCAidXAiLCAidXBwZXItYWxwaGEiLCAidXBwZXItYXJtZW5p
YW4iLAotICAgICAgICAidXBwZXItZ3JlZWsiLCAidXBwZXItaGV4YWRlY2ltYWwiLCAidXBwZXIt
bGF0aW4iLCAidXBwZXItbm9yd2VnaWFuIiwgInVwcGVyLXJvbWFuIiwgInVwcGVyY2FzZSIsICJ1
cmR1IiwgInVybCIsICJ2ZXJ0aWNhbCIsICJ2ZXJ0aWNhbC10ZXh0IiwgInZpc2libGUiLAotICAg
ICAgICAidmlzaWJsZUZpbGwiLCAidmlzaWJsZVBhaW50ZWQiLCAidmlzaWJsZVN0cm9rZSIsICJ2
aXN1YWwiLCAidy1yZXNpemUiLCAid2FpdCIsICJ3YXZlIiwgIndoaXRlIiwgIndpZGVyIiwgIndp
bmRvdyIsICJ3aW5kb3dmcmFtZSIsICJ3aW5kb3d0ZXh0IiwKLSAgICAgICAgIngtbGFyZ2UiLCAi
eC1zbWFsbCIsICJ4b3IiLCAieHgtbGFyZ2UiLCAieHgtc21hbGwiLCAieWVsbG93IiwgIi13YXAt
bWFycXVlZSIsICItd2Via2l0LWFjdGl2ZWxpbmsiLCAiLXdlYmtpdC1hdXRvIiwgIi13ZWJraXQt
YmFzZWxpbmUtbWlkZGxlIiwKLSAgICAgICAgIi13ZWJraXQtYm9keSIsICItd2Via2l0LWJveCIs
ICItd2Via2l0LWNlbnRlciIsICItd2Via2l0LWNvbnRyb2wiLCAiLXdlYmtpdC1mb2N1cy1yaW5n
LWNvbG9yIiwgIi13ZWJraXQtZ3JhYiIsICItd2Via2l0LWdyYWJiaW5nIiwKLSAgICAgICAgIi13
ZWJraXQtZ3JhZGllbnQiLCAiLXdlYmtpdC1pbmxpbmUtYm94IiwgIi13ZWJraXQtbGVmdCIsICIt
d2Via2l0LWxpbmsiLCAiLXdlYmtpdC1tYXJxdWVlIiwgIi13ZWJraXQtbWluaS1jb250cm9sIiwg
Ii13ZWJraXQtbm93cmFwIiwgIi13ZWJraXQtcGljdG9ncmFwaCIsCi0gICAgICAgICItd2Via2l0
LXJpZ2h0IiwgIi13ZWJraXQtc21hbGwtY29udHJvbCIsICItd2Via2l0LXRleHQiLCAiLXdlYmtp
dC14eHgtbGFyZ2UiLCAiLXdlYmtpdC16b29tLWluIiwgIi13ZWJraXQtem9vbS1vdXQiLAotICAg
IF0ua2V5U2V0KCk7Ci0KLSAgICB0aGlzLl9tZWRpYVR5cGVzID0gWyJhbGwiLCAiYXVyYWwiLCAi
YnJhaWxsZSIsICJlbWJvc3NlZCIsICJoYW5kaGVsZCIsICJpbXBvcnQiLCAicHJpbnQiLCAicHJv
amVjdGlvbiIsICJzY3JlZW4iLCAidHR5IiwgInR2Il0ua2V5U2V0KCk7Ci0KICAgICB0aGlzLl9s
ZXhDb25kaXRpb25zID0gewogICAgICAgICBJTklUSUFMOiAwLAogICAgICAgICBDT01NRU5UOiAx
LApAQCAtMTI5LDYgKzc3LDY5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIgPSBm
dW5jdGlvbigpCiAgICAgdGhpcy5jb25kaXRpb24gPSB0aGlzLmNyZWF0ZUluaXRpYWxDb25kaXRp
b24oKTsKIH0KIAorV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5BdFJlbGF0ZWRLZXl3
b3JkcyA9IFsKKyAgICJmcm9tIiwgImlmIiwgImluIiwgInRocm91Z2giCitdLmtleVNldCgpOwor
CitXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLk1lZGlhVHlwZXMgPSBbImFsbCIsICJh
dXJhbCIsICJicmFpbGxlIiwgImVtYm9zc2VkIiwgImhhbmRoZWxkIiwgImltcG9ydCIsICJwcmlu
dCIsICJwcm9qZWN0aW9uIiwgInNjcmVlbiIsICJ0dHkiLCAidHYiXS5rZXlTZXQoKTsKKworV2Vi
SW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5TQ1NTVmFsdWVLZXl3b3JkcyA9IFsKKyAgICAi
YWJzIiwgImFkanVzdC1jb2xvciIsICJhZGp1c3QtaHVlIiwgImFscGhhIiwgImFwcGVuZCIsICJj
ZWlsIiwgImNoYW5nZS1jb2xvciIsICJjb21wYXJhYmxlIiwgImNvbXBsZW1lbnQiLCAiZGFya2Vu
IiwgImRlc2F0dXJhdGUiLAorICAgICJmYWRlLWluIiwgImZhZGUtb3V0IiwgImZsb29yIiwgImdy
YXlzY2FsZSIsICJodWUiLCAiaWUtaGV4LXN0ciIsICJpbnZlcnQiLCAiam9pbiIsICJsZW5ndGgi
LCAibGlnaHRlbiIsCisgICAgImxpZ2h0bmVzcyIsICJtYXgiLCAibWluIiwgIm1peCIsICJudGgi
LCAib3BhY2lmeSIsICJvcGFjaXR5IiwgInBlcmNlbnRhZ2UiLCAicXVvdGUiLCAicm91bmQiLCAi
c2F0dXJhdGUiLAorICAgICJzYXR1cmF0aW9uIiwgInNjYWxlLWNvbG9yIiwgInRyYW5zcGFyZW50
aXplIiwgInR5cGUtb2YiLCAidW5pdCIsICJ1bml0bGVzcyIsICJ1bnF1b3RlIiwgInppcCIKK10u
a2V5U2V0KCk7CisKK1dlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuVmFsdWVLZXl3b3Jk
cyA9IFsKKyAgICAiYWJvdmUiLCAiYWJzb2x1dGUiLCAiYWN0aXZlYm9yZGVyIiwgImFjdGl2ZWNh
cHRpb24iLCAiYWZhciIsICJhZnRlci13aGl0ZS1zcGFjZSIsICJhaGVhZCIsICJhbGlhcyIsICJh
bGwiLCAiYWxsLXNjcm9sbCIsCisgICAgImFsdGVybmF0ZSIsICJhbHdheXMiLCAiYW1oYXJpYyIs
ICJhbWhhcmljLWFiZWdlZGUiLCAiYW50aWFsaWFzZWQiLCAiYXBwd29ya3NwYWNlIiwgImFyYWJp
Yy1pbmRpYyIsICJhcm1lbmlhbiIsICJhc3Rlcmlza3MiLAorICAgICJhdXRvIiwgImF2b2lkIiwg
ImJhY2tncm91bmQiLCAiYmFja3dhcmRzIiwgImJhc2VsaW5lIiwgImJlbG93IiwgImJpZGktb3Zl
cnJpZGUiLCAiYmluYXJ5IiwgImJlbmdhbGkiLCAiYmxpbmsiLAorICAgICJibG9jayIsICJibG9j
ay1heGlzIiwgImJvbGQiLCAiYm9sZGVyIiwgImJvcmRlciIsICJib3JkZXItYm94IiwgImJvdGgi
LCAiYm90dG9tIiwgImJyZWFrLWFsbCIsICJicmVhay13b3JkIiwgImJ1dHRvbiIsCisgICAgImJ1
dHRvbi1iZXZlbCIsICJidXR0b25mYWNlIiwgImJ1dHRvbmhpZ2hsaWdodCIsICJidXR0b25zaGFk
b3ciLCAiYnV0dG9udGV4dCIsICJjYW1ib2RpYW4iLCAiY2FwaXRhbGl6ZSIsICJjYXBzLWxvY2st
aW5kaWNhdG9yIiwKKyAgICAiY2FwdGlvbiIsICJjYXB0aW9udGV4dCIsICJjYXJldCIsICJjZWxs
IiwgImNlbnRlciIsICJjaGVja2JveCIsICJjaXJjbGUiLCAiY2prLWVhcnRobHktYnJhbmNoIiwg
ImNqay1oZWF2ZW5seS1zdGVtIiwgImNqay1pZGVvZ3JhcGhpYyIsCisgICAgImNsZWFyIiwgImNs
aXAiLCAiY2xvc2UtcXVvdGUiLCAiY29sLXJlc2l6ZSIsICJjb2xsYXBzZSIsICJjb21wYWN0Iiwg
ImNvbmRlbnNlZCIsICJjb250YWluIiwgImNvbnRlbnQiLCAiY29udGVudC1ib3giLCAiY29udGV4
dC1tZW51IiwKKyAgICAiY29udGludW91cyIsICJjb3B5IiwgImNvdmVyIiwgImNyb3AiLCAiY3Jv
c3MiLCAiY3Jvc3NoYWlyIiwgImN1cnJlbnRjb2xvciIsICJjdXJzaXZlIiwgImRhc2hlZCIsICJk
ZWNpbWFsIiwgImRlY2ltYWwtbGVhZGluZy16ZXJvIiwgImRlZmF1bHQiLAorICAgICJkZWZhdWx0
LWJ1dHRvbiIsICJkZXN0aW5hdGlvbi1hdG9wIiwgImRlc3RpbmF0aW9uLWluIiwgImRlc3RpbmF0
aW9uLW91dCIsICJkZXN0aW5hdGlvbi1vdmVyIiwgImRldmFuYWdhcmkiLCAiZGlzYyIsICJkaXNj
YXJkIiwgImRvY3VtZW50IiwKKyAgICAiZG90LWRhc2giLCAiZG90LWRvdC1kYXNoIiwgImRvdHRl
ZCIsICJkb3VibGUiLCAiZG93biIsICJlLXJlc2l6ZSIsICJlYXNlIiwgImVhc2UtaW4iLCAiZWFz
ZS1pbi1vdXQiLCAiZWFzZS1vdXQiLCAiZWxlbWVudCIsCisgICAgImVsbGlwc2lzIiwgImVtYmVk
IiwgImVuZCIsICJldGhpb3BpYyIsICJldGhpb3BpYy1hYmVnZWRlIiwgImV0aGlvcGljLWFiZWdl
ZGUtYW0tZXQiLCAiZXRoaW9waWMtYWJlZ2VkZS1nZXoiLAorICAgICJldGhpb3BpYy1hYmVnZWRl
LXRpLWVyIiwgImV0aGlvcGljLWFiZWdlZGUtdGktZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtYWEt
ZXIiLCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiLAorICAgICJldGhpb3BpYy1oYWxlaGFtZS1h
bS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS1nZXoiLCAiZXRoaW9waWMtaGFsZWhhbWUtb20tZXQi
LCAiZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0IiwKKyAgICAiZXRoaW9waWMtaGFsZWhhbWUtc28t
ZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGktZXIiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGktZXQi
LCAiZXRoaW9waWMtaGFsZWhhbWUtdGlnIiwgImV3LXJlc2l6ZSIsICJleHBhbmRlZCIsCisgICAg
ImV4dHJhLWNvbmRlbnNlZCIsICJleHRyYS1leHBhbmRlZCIsICJmYW50YXN5IiwgImZhc3QiLCAi
ZmlsbCIsICJmaXhlZCIsICJmbGF0IiwgImZvb3Rub3RlcyIsICJmb3J3YXJkcyIsICJmcm9tIiwg
Imdlb21ldHJpY1ByZWNpc2lvbiIsCisgICAgImdlb3JnaWFuIiwgImdyYXl0ZXh0IiwgImdyb292
ZSIsICJndWphcmF0aSIsICJndXJtdWtoaSIsICJoYW5kIiwgImhhbmd1bCIsICJoYW5ndWwtY29u
c29uYW50IiwgImhlYnJldyIsICJoZWxwIiwKKyAgICAiaGlkZGVuIiwgImhpZGUiLCAiaGlnaGVy
IiwgImhpZ2hsaWdodCIsICJoaWdobGlnaHR0ZXh0IiwgImhpcmFnYW5hIiwgImhpcmFnYW5hLWly
b2hhIiwgImhvcml6b250YWwiLCAiaHNsIiwgImhzbGEiLCAiaWNvbiIsICJpZ25vcmUiLAorICAg
ICJpbmFjdGl2ZWJvcmRlciIsICJpbmFjdGl2ZWNhcHRpb24iLCAiaW5hY3RpdmVjYXB0aW9udGV4
dCIsICJpbmZpbml0ZSIsICJpbmZvYmFja2dyb3VuZCIsICJpbmZvdGV4dCIsICJpbmhlcml0Iiwg
ImluaXRpYWwiLCAiaW5saW5lIiwKKyAgICAiaW5saW5lLWF4aXMiLCAiaW5saW5lLWJsb2NrIiwg
ImlubGluZS10YWJsZSIsICJpbnNldCIsICJpbnNpZGUiLCAiaW50cmluc2ljIiwgImludmVydCIs
ICJpdGFsaWMiLCAianVzdGlmeSIsICJrYW5uYWRhIiwgImthdGFrYW5hIiwKKyAgICAia2F0YWth
bmEtaXJvaGEiLCAia2htZXIiLCAibGFuZHNjYXBlIiwgImxhbyIsICJsYXJnZSIsICJsYXJnZXIi
LCAibGVmdCIsICJsZXZlbCIsICJsaWdodGVyIiwgImxpbmUtdGhyb3VnaCIsICJsaW5lYXIiLCAi
bGluZXMiLAorICAgICJsaXN0LWl0ZW0iLCAibGlzdGJveCIsICJsaXN0aXRlbSIsICJsb2NhbCIs
ICJsb2dpY2FsIiwgImxvdWQiLCAibG93ZXIiLCAibG93ZXItYWxwaGEiLCAibG93ZXItYXJtZW5p
YW4iLCAibG93ZXItZ3JlZWsiLAorICAgICJsb3dlci1oZXhhZGVjaW1hbCIsICJsb3dlci1sYXRp
biIsICJsb3dlci1ub3J3ZWdpYW4iLCAibG93ZXItcm9tYW4iLCAibG93ZXJjYXNlIiwgImx0ciIs
ICJtYWxheWFsYW0iLCAibWF0Y2giLCAibWVkaWEtY29udHJvbHMtYmFja2dyb3VuZCIsCisgICAg
Im1lZGlhLWN1cnJlbnQtdGltZS1kaXNwbGF5IiwgIm1lZGlhLWZ1bGxzY3JlZW4tYnV0dG9uIiwg
Im1lZGlhLW11dGUtYnV0dG9uIiwgIm1lZGlhLXBsYXktYnV0dG9uIiwgIm1lZGlhLXJldHVybi10
by1yZWFsdGltZS1idXR0b24iLAorICAgICJtZWRpYS1yZXdpbmQtYnV0dG9uIiwgIm1lZGlhLXNl
ZWstYmFjay1idXR0b24iLCAibWVkaWEtc2Vlay1mb3J3YXJkLWJ1dHRvbiIsICJtZWRpYS1zbGlk
ZXIiLCAibWVkaWEtc2xpZGVydGh1bWIiLCAibWVkaWEtdGltZS1yZW1haW5pbmctZGlzcGxheSIs
CisgICAgIm1lZGlhLXZvbHVtZS1zbGlkZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlci1jb250YWlu
ZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlcnRodW1iIiwgIm1lZGl1bSIsICJtZW51IiwgIm1lbnVs
aXN0IiwgIm1lbnVsaXN0LWJ1dHRvbiIsCisgICAgIm1lbnVsaXN0LXRleHQiLCAibWVudWxpc3Qt
dGV4dGZpZWxkIiwgIm1lbnV0ZXh0IiwgIm1lc3NhZ2UtYm94IiwgIm1pZGRsZSIsICJtaW4taW50
cmluc2ljIiwgIm1peCIsICJtb25nb2xpYW4iLCAibW9ub3NwYWNlIiwgIm1vdmUiLCAibXVsdGlw
bGUiLAorICAgICJteWFubWFyIiwgIm4tcmVzaXplIiwgIm5hcnJvd2VyIiwgIm5hdnkiLCAibmUt
cmVzaXplIiwgIm5lc3ctcmVzaXplIiwgIm5vLWNsb3NlLXF1b3RlIiwgIm5vLWRyb3AiLCAibm8t
b3Blbi1xdW90ZSIsICJuby1yZXBlYXQiLCAibm9uZSIsCisgICAgIm5vcm1hbCIsICJub3QtYWxs
b3dlZCIsICJub3dyYXAiLCAibnMtcmVzaXplIiwgIm53LXJlc2l6ZSIsICJud3NlLXJlc2l6ZSIs
ICJvYmxpcXVlIiwgIm9jdGFsIiwgIm9wZW4tcXVvdGUiLCAib3B0aW1pemVMZWdpYmlsaXR5IiwK
KyAgICAib3B0aW1pemVTcGVlZCIsICJvcml5YSIsICJvcm9tbyIsICJvdXRzZXQiLCAib3V0c2lk
ZSIsICJvdmVybGF5IiwgIm92ZXJsaW5lIiwgInBhZGRpbmciLCAicGFkZGluZy1ib3giLCAicGFp
bnRlZCIsICJwYXVzZWQiLAorICAgICJwZXJzaWFuIiwgInBsdXMtZGFya2VyIiwgInBsdXMtbGln
aHRlciIsICJwb2ludGVyIiwgInBvcnRyYWl0IiwgInByZSIsICJwcmUtbGluZSIsICJwcmUtd3Jh
cCIsICJwcmVzZXJ2ZS0zZCIsICJwcm9ncmVzcyIsCisgICAgInB1c2gtYnV0dG9uIiwgInJhZGlv
IiwgInJlYWQtb25seSIsICJyZWFkLXdyaXRlIiwgInJlYWQtd3JpdGUtcGxhaW50ZXh0LW9ubHki
LCAicmVsYXRpdmUiLCAicmVwZWF0IiwgInJlcGVhdC14IiwKKyAgICAicmVwZWF0LXkiLCAicmVz
ZXQiLCAicmV2ZXJzZSIsICJyZ2IiLCAicmdiYSIsICJyaWRnZSIsICJyaWdodCIsICJyb3VuZCIs
ICJyb3ctcmVzaXplIiwgInJ0bCIsICJydW4taW4iLCAicnVubmluZyIsICJzLXJlc2l6ZSIsICJz
YW5zLXNlcmlmIiwKKyAgICAic2Nyb2xsIiwgInNjcm9sbGJhciIsICJzZS1yZXNpemUiLCAic2Vh
cmNoZmllbGQiLCAic2VhcmNoZmllbGQtY2FuY2VsLWJ1dHRvbiIsICJzZWFyY2hmaWVsZC1kZWNv
cmF0aW9uIiwgInNlYXJjaGZpZWxkLXJlc3VsdHMtYnV0dG9uIiwKKyAgICAic2VhcmNoZmllbGQt
cmVzdWx0cy1kZWNvcmF0aW9uIiwgInNlbWktY29uZGVuc2VkIiwgInNlbWktZXhwYW5kZWQiLCAi
c2VwYXJhdGUiLCAic2VyaWYiLCAic2hvdyIsICJzaWRhbWEiLCAic2luZ2xlIiwKKyAgICAic2tp
cC13aGl0ZS1zcGFjZSIsICJzbGlkZSIsICJzbGlkZXItaG9yaXpvbnRhbCIsICJzbGlkZXItdmVy
dGljYWwiLCAic2xpZGVydGh1bWItaG9yaXpvbnRhbCIsICJzbGlkZXJ0aHVtYi12ZXJ0aWNhbCIs
ICJzbG93IiwKKyAgICAic21hbGwiLCAic21hbGwtY2FwcyIsICJzbWFsbC1jYXB0aW9uIiwgInNt
YWxsZXIiLCAic29saWQiLCAic29tYWxpIiwgInNvdXJjZS1hdG9wIiwgInNvdXJjZS1pbiIsICJz
b3VyY2Utb3V0IiwgInNvdXJjZS1vdmVyIiwKKyAgICAic3BhY2UiLCAic3F1YXJlIiwgInNxdWFy
ZS1idXR0b24iLCAic3RhcnQiLCAic3RhdGljIiwgInN0YXR1cy1iYXIiLCAic3RyZXRjaCIsICJz
dHJva2UiLCAic3ViIiwgInN1YnBpeGVsLWFudGlhbGlhc2VkIiwgInN1cGVyIiwKKyAgICAic3ct
cmVzaXplIiwgInRhYmxlIiwgInRhYmxlLWNhcHRpb24iLCAidGFibGUtY2VsbCIsICJ0YWJsZS1j
b2x1bW4iLCAidGFibGUtY29sdW1uLWdyb3VwIiwgInRhYmxlLWZvb3Rlci1ncm91cCIsICJ0YWJs
ZS1oZWFkZXItZ3JvdXAiLAorICAgICJ0YWJsZS1yb3ciLCAidGFibGUtcm93LWdyb3VwIiwgInRl
bHVndSIsICJ0ZXh0IiwgInRleHQtYm90dG9tIiwgInRleHQtdG9wIiwgInRleHRhcmVhIiwgInRl
eHRmaWVsZCIsICJ0aGFpIiwgInRoaWNrIiwgInRoaW4iLAorICAgICJ0aHJlZWRkYXJrc2hhZG93
IiwgInRocmVlZGZhY2UiLCAidGhyZWVkaGlnaGxpZ2h0IiwgInRocmVlZGxpZ2h0c2hhZG93Iiwg
InRocmVlZHNoYWRvdyIsICJ0aWJldGFuIiwgInRpZ3JlIiwgInRpZ3JpbnlhLWVyIiwgInRpZ3Jp
bnlhLWVyLWFiZWdlZGUiLAorICAgICJ0aWdyaW55YS1ldCIsICJ0aWdyaW55YS1ldC1hYmVnZWRl
IiwgInRvIiwgInRvcCIsICJ0cmFuc3BhcmVudCIsICJ1bHRyYS1jb25kZW5zZWQiLCAidWx0cmEt
ZXhwYW5kZWQiLCAidW5kZXJsaW5lIiwgInVwIiwgInVwcGVyLWFscGhhIiwgInVwcGVyLWFybWVu
aWFuIiwKKyAgICAidXBwZXItZ3JlZWsiLCAidXBwZXItaGV4YWRlY2ltYWwiLCAidXBwZXItbGF0
aW4iLCAidXBwZXItbm9yd2VnaWFuIiwgInVwcGVyLXJvbWFuIiwgInVwcGVyY2FzZSIsICJ1cmR1
IiwgInVybCIsICJ2ZXJ0aWNhbCIsICJ2ZXJ0aWNhbC10ZXh0IiwgInZpc2libGUiLAorICAgICJ2
aXNpYmxlRmlsbCIsICJ2aXNpYmxlUGFpbnRlZCIsICJ2aXNpYmxlU3Ryb2tlIiwgInZpc3VhbCIs
ICJ3LXJlc2l6ZSIsICJ3YWl0IiwgIndhdmUiLCAid2hpdGUiLCAid2lkZXIiLCAid2luZG93Iiwg
IndpbmRvd2ZyYW1lIiwgIndpbmRvd3RleHQiLAorICAgICJ4LWxhcmdlIiwgIngtc21hbGwiLCAi
eG9yIiwgInh4LWxhcmdlIiwgInh4LXNtYWxsIiwgInllbGxvdyIsICItd2FwLW1hcnF1ZWUiLCAi
LXdlYmtpdC1hY3RpdmVsaW5rIiwgIi13ZWJraXQtYXV0byIsICItd2Via2l0LWJhc2VsaW5lLW1p
ZGRsZSIsCisgICAgIi13ZWJraXQtYm9keSIsICItd2Via2l0LWJveCIsICItd2Via2l0LWNlbnRl
ciIsICItd2Via2l0LWNvbnRyb2wiLCAiLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIiwgIi13ZWJr
aXQtZ3JhYiIsICItd2Via2l0LWdyYWJiaW5nIiwKKyAgICAiLXdlYmtpdC1ncmFkaWVudCIsICIt
d2Via2l0LWlubGluZS1ib3giLCAiLXdlYmtpdC1sZWZ0IiwgIi13ZWJraXQtbGluayIsICItd2Vi
a2l0LW1hcnF1ZWUiLCAiLXdlYmtpdC1taW5pLWNvbnRyb2wiLCAiLXdlYmtpdC1ub3dyYXAiLCAi
LXdlYmtpdC1waWN0b2dyYXBoIiwKKyAgICAiLXdlYmtpdC1yaWdodCIsICItd2Via2l0LXNtYWxs
LWNvbnRyb2wiLCAiLXdlYmtpdC10ZXh0IiwgIi13ZWJraXQteHh4LWxhcmdlIiwgIi13ZWJraXQt
em9vbS1pbiIsICItd2Via2l0LXpvb20tb3V0IiwKK10ua2V5U2V0KCk7CisKIFdlYkluc3BlY3Rv
ci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgIGNyZWF0ZUluaXRpYWxDb25k
aXRpb246IGZ1bmN0aW9uKCkKICAgICB7CkBAIC0xODYsOCArMTk3LDkgQEAgV2ViSW5zcGVjdG9y
LlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgTnVtZXJp
Y0xpdGVyYWwgPSAiLSI/IChbMC05XSsgfCBbMC05XSogIi4iIFswLTldKykgICgiZW0iIHwgInJl
bSIgfCAiX19xZW0iIHwgImV4IiB8ICJweCIgfCAiY20iIHwKICAgICAgICAgICAgICAgICAgICAg
Im1tIiB8ICJpbiIgfCAicHQiIHwgInBjIiB8ICJkZWciIHwgInJhZCIgfCAiZ3JhZCIgfCAidHVy
biIgfCAibXMiIHwgInMiIHwgIkh6IiB8ICJrSHoiIHwgIiUiKT87CiAKLSAgICAgICAgICAgICAg
ICBDb2xvciA9ICIjIiBbMC05QS1GYS1mXSs7Ci0gICAgICAgICAgICAgICAgSWRlbnRpZmllciA9
IFtAIV9cLSQwLTlhLXpBLVpcW1xdPSciL10rOworICAgICAgICAgICAgICAgIENvbG9yT3JTZWxl
Y3RvciA9ICIjIiBbMC05QS1aYS16XSs7CisgICAgICAgICAgICAgICAgSWRlbnRpZmllciA9IFtA
IV9cLTAtOWEtekEtWlxbXF09JyIvJl0rOworICAgICAgICAgICAgICAgIFZhcmlhYmxlID0gIiQi
IElkZW50aWZpZXI7CiAKICAgICAgICAgICAgICAgICBEb3VibGVTdHJpbmdDb250ZW50ID0gKFte
XHJcblwiXFxdIHwgIlxcIiBbJyJcXGJmbnJ0dl0pKjsKICAgICAgICAgICAgICAgICBTaW5nbGVT
dHJpbmdDb250ZW50ID0gKFteXHJcblwnXFxdIHwgIlxcIiBbJyJcXGJmbnJ0dl0pKjsKQEAgLTIx
Myw2ICsyMjUsNyBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgICAgICA8SU5JVElBTD4gT3BlbkN1cmx5QnJhY2tldAogICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiYmxvY2stc3Rh
cnQiOworICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyA9ICh0
aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyB8fCAwKSArIDE7CiAgICAgICAgICAgICAgICAgICAg
IGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0
aW9ucy5BVF9NRURJQV9SVUxFKQogICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0
aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUw7CiAgICAg
ICAgICAgICAgICAgICAgIGVsc2UKQEAgLTIyMywxNCArMjM2LDE3IEBAIFdlYkluc3BlY3Rvci5T
b3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIDxJTklUSUFM
PiBDbG9zZUN1cmx5QnJhY2tldAogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg
ICAgdGhpcy50b2tlblR5cGUgPSAiYmxvY2stZW5kIjsKLSAgICAgICAgICAgICAgICAgICAgdGhp
cy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJ
QUw7CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyA+
IDApCisgICAgICAgICAgICAgICAgICAgICAgICAtLXRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2Vz
OworICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0
aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyA/IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJU
WSA6IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMOworICAgICAgICAgICAgICAgICAgICBk
ZWxldGUgdGhpcy5fY29uZGl0aW9uLmF0S2V5d29yZDsKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICA8SU5JVElB
TD4gQ29sb24KICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9r
ZW5UeXBlID0gbnVsbDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5w
YXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZKQorICAgICAg
ICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlz
Ll9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgfHwgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0
aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkKICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0
aW9ucy5QUk9QRVJUWV9WQUxVRTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsK
ICAgICAgICAgICAgICAgICB9CkBAIC0yMzgsMTAgKzI1NCw4IEBAIFdlYkluc3BlY3Rvci5Tb3Vy
Y2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIDxJTklUSUFMPiBT
ZW1pY29sb24KICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9r
ZW5UeXBlID0gbnVsbDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5w
YXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEUpCi0gICAgICAg
ICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9w
YXJzZUNvbmRpdGlvbnMuSU5JVElBTDsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5f
cGFyc2VDb25kaXRpb25zLlBST1BFUlRZOworICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25k
aXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyA/IHRoaXMu
X3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSA6IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFM
OworICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fY29uZGl0aW9uLmF0S2V5d29yZDsK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9CiAK
QEAgLTI1NCw0MSArMjY4LDYzIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJv
dG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOwogICAgICAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICAgICAgIDxJTklUSUFMPiBDb2xvcgorICAgICAgICAgICAg
ICAgIDxJTklUSUFMPiBDb2xvck9yU2VsZWN0b3IKICAgICAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgICAgICAgIGlmICh0aGlzLl9pc1Byb3BlcnR5VmFsdWUoKSkKICAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1jb2xvciI7CisgICAgICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFy
c2VDb25kaXRpb25zLklOSVRJQUwpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2Vu
VHlwZSA9ICJjc3Mtc2VsZWN0b3IiOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9IG51bGw7CiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBjdXJzb3I7CiAgICAgICAgICAgICAgICAgfQogCisgICAgICAgICAgICAgICAg
PElOSVRJQUw+IFZhcmlhYmxlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg
ICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9jb25kaXRpb24u
cGFyc2VDb25kaXRpb24uSU5JVElBTCB8fCB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24g
PT09IHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbi5BVF9SVUxFKQorICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VD
b25kaXRpb25zLlBST1BFUlRZOworICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9
ICJzY3NzLXZhcmlhYmxlIjsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKKyAg
ICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgICAgICA8SU5JVElBTD4gSWRlbnRpZmllcgog
ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgdmFyIHRva2VuID0gdGhpcy5f
bGluZS5zdWJzdHJpbmcoY3Vyc29yT25FbnRlciwgY3Vyc29yKTsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25k
aXRpb25zLklOSVRJQUwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbiA9PT0g
IkBtZWRpYSIpIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOwor
ICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09
PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCB8fCB0aGlzLl9jb25kaXRpb24ucGFyc2VD
b25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHRva2VuLmNoYXJBdCgwKSA9PT0gIkAiKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUiOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRo
aXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJQV9SVUxFOwotICAgICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmICh0b2tlbi5zdGFydHNXaXRoKCJAIikpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0b2tlbiA9PT0gIkBt
ZWRpYSIgPyB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRSA6IHRoaXMuX3BhcnNl
Q29uZGl0aW9ucy5BVF9SVUxFOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2Nv
bmRpdGlvbi5hdEtleXdvcmQgPSB0b2tlbjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRp
dGlvbnMuSU5JVElBTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlw
ZSA9ICJjc3Mtc2VsZWN0b3IiOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhp
cy5fcHJvcGVydHlLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXByb3BlcnR5IjsKKyAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09
IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJQV9SVUxFIHx8IHRoaXMuX2NvbmRpdGlvbi5w
YXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEUpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLkF0
UmVsYXRlZEtleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtYXQtcnVsZSI7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFy
c2VDb25kaXRpb25zLkFUX1JVTEU7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tl
bml6ZXIuTWVkaWFUeXBlcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWtleXdvcmQiOworICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRva2VuVHlwZSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CisKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHRoaXMuX2lzUHJvcGVydHlWYWx1ZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2
YXIgZmlyc3RDaGFyID0gdG9rZW4uY2hhckF0KDApOworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKGZpcnN0Q2hhciA9PT0gIiQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
dG9rZW5UeXBlID0gInNjc3MtdmFyaWFibGUiOworICAgICAgICAgICAgICAgICAgICAgICAgZWxz
ZSBpZiAoZmlyc3RDaGFyID09PSAiISIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhp
cy50b2tlblR5cGUgPSAiY3NzLWJhbmcta2V5d29yZCI7CisgICAgICAgICAgICAgICAgICAgICAg
ICBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkID09PSAiQGV4dGVuZCIpCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9yIjsK
LSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29u
ZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRSB8fCB0aGlzLl9j
b25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxF
KSAmJiB0b2tlbiBpbiB0aGlzLl9tZWRpYVR5cGVzKQotICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy50b2tlblR5cGUgPSAiY3NzLWtleXdvcmQiOwotICAgICAgICAgICAgICAgICAgICBlbHNl
IGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0
aW9ucy5QUk9QRVJUWSAmJiB0b2tlbiBpbiB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzKQotICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXByb3BlcnR5IjsKLSAgICAg
ICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5faXNQcm9wZXJ0eVZhbHVlKCkpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbiBpbiB0aGlzLl92YWx1ZUtleXdvcmRzKQorICAg
ICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2Vu
aXplci5WYWx1ZUtleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSB8fCBXZWJJbnNwZWN0b3Iu
U291cmNlQ1NTVG9rZW5pemVyLlNDU1NWYWx1ZUtleXdvcmRzLmhhc093blByb3BlcnR5KHRva2Vu
KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mta2V5
d29yZCI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0b2tlbiBpbiB0aGlzLl9j
b2xvcktleXdvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLl9j
b2xvcktleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSkgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiB0aGlzIGRvZXMgbm90IGNvbnZlcnQgdG9rZW5zIHRvTG93ZXJD
YXNlKCkgZm9yIHRoZSBzYWtlIG9mIHNwZWVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRoaXMudG9rZW5UeXBlID0gImNzcy1jb2xvciI7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgaWYgKHRva2VuID09PSAiIWltcG9ydGFudCIpCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWltcG9ydGFudCI7Ci0gICAgICAgICAgICAgICAg
ICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxs
OworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug
aWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiAhPT0gdGhpcy5fcGFyc2VDb25kaXRp
b25zLlBST1BFUlRZX1ZBTFVFKQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5
cGUgPSAiY3NzLXNlbGVjdG9yIjsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgPCo+IFteXSB7IHRoaXMudG9rZW5U
eXBlID0gbnVsbDsgcmV0dXJuIGN1cnNvcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZVNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU3R5bGVTb3VyY2UuanMKaW5kZXggNGQyMWY1MThhN2NiMmRmN2ZiYTRi
ODZhNDVjYTk3MjUyNDVhZWMzZC4uZDJlYjg4YzEyZDJiNTA2MDY1OTBhNTFiYTdiNDhhZDU5ZTAy
ZmJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHls
ZVNvdXJjZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxl
U291cmNlLmpzCkBAIC0zMCwxMCArMzAsMTEgQEAKICAqIEBjb25zdHJ1Y3RvcgogICogQGV4dGVu
ZHMge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9CiAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5S
ZXNvdXJjZX0gcmVzb3VyY2UKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlNvdXJjZU1hcHBpbmd9
IHNvdXJjZU1hcHBpbmcKICAqLwotV2ViSW5zcGVjdG9yLlN0eWxlU291cmNlID0gZnVuY3Rpb24o
cmVzb3VyY2UpCitXZWJJbnNwZWN0b3IuU3R5bGVTb3VyY2UgPSBmdW5jdGlvbihyZXNvdXJjZSwg
c291cmNlTWFwcGluZykKIHsKLSAgICBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLmNhbGwodGhp
cywgcmVzb3VyY2UudXJsLCByZXNvdXJjZSwgcmVzb3VyY2UpOworICAgIFdlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGUuY2FsbCh0aGlzLCByZXNvdXJjZS51cmwsIHJlc291cmNlLCByZXNvdXJjZSwg
c291cmNlTWFwcGluZyk7CiB9CiAKIFdlYkluc3BlY3Rvci5TdHlsZVNvdXJjZS51cGRhdGVUaW1l
b3V0ID0gMjAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3JTeW50YXhIaWdobGlnaHQuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3JTeW50YXhIaWdobGlnaHQuY3NzCmluZGV4IDc0ODYzMWUxMWJm
Y2Y3NmEzYWE5Mzc1MzRlZGQ3OTJiOTVjZWU2ZGMuLjgxODk3ZDhkNDNkMWVlNzNmYTE3ZmRjNDVk
MmQxODg1MzY3MDhiODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yU3ludGF4SGlnaGxpZ2h0LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3RvclN5bnRheEhpZ2hsaWdodC5jc3MKQEAgLTQ2LDcg
KzQ2LDcgQEAKICAgICBjb2xvcjogYmxhY2s7CiB9CiAKLS53ZWJraXQtY3NzLWltcG9ydGFudCB7
Cisud2Via2l0LWNzcy1iYW5nLWtleXdvcmQgewogICAgIGNvbG9yOiByZ2IoMjAwLCAwLCAxODAp
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggM2Q2NjEwYTdmYjczOWE0YjQ3NjAxMzJjYmVlYjA5NjExYTMzYjNlMy4u
OTM1MjQ1ZDAwZTBkOTQ4NzQwYjljNmQ2YjYxMDNlMjJkNWY1Yjk4NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDEyLTA5LTAzICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogSW1wbGVtZW50IFNDU1Mgc291cmNlIGhpZ2hs
aWdodGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NTU4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3QgbW9kaWZpZWQgdG8gY292ZXIgdGhlIFNDU1Mgc3ludGF4IGFzIHdlbGwuCisKKyAgICAgICAg
KiBpbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGluc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sOgorCiAyMDEyLTA5LTA1ICBZb3No
aWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVGVzdCBjYXNlcyBm
b3IgVXAvRG93biBrZXkgYmVoYXZpb3Igb24gZmllbGQgd2hpY2ggaGFzIG1heGltdW0vbWluaW11
bSBpbiBtdWx0aXBsZSBmaWVsZHMgdGltZSBpbnB1dCBVSQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy1leHBlY3RlZC50eHQKaW5kZXggNDBh
NjQ0OTE1MzU1NDA5Y2E5NjA5MDJkMGY2OTUxOWVmYzc3MzQxNy4uN2RjOWQzOWI5NDk4MzA3ZjIy
OTQxNmI4YWJlNmNhZWM1Yzc3Yjg0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3N5bnRheC1oaWdobGlnaHQtY3NzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MtZXhwZWN0ZWQudHh0CkBAIC0xLDEyICsxLDQ5IEBA
Ci1UZXN0cyB0aGF0IENTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVyIGRldGVjdHMgdGhlIHRva2Vu
cy4KK1Rlc3RzIHRoYXQgKFMpQ1NTIHN5bnRheCBoaWdobGlnaHRlciBwcm9wZXJseSBkZXRlY3Rz
IHRoZSB0b2tlbnMuCiAKIGFbaHJlZj0nLyddOiB3ZWJraXQtY3NzLXNlbGVjdG9yCi0jY29udGVu
dCA+IGE6aG92ZXI6ICosd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1jc3Mtc2VsZWN0b3Is
Kix3ZWJraXQtY3NzLXNlbGVjdG9yCisjY29udGVudCA+IGE6aG92ZXI6IHdlYmtpdC1jc3Mtc2Vs
ZWN0b3IsKix3ZWJraXQtY3NzLXNlbGVjdG9yLCoKIEBpbXBvcnQgdXJsKHN0eWxlLmNzcyk7OiB3
ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLWtleXdvcmQsKgogQGltcG9ydCB1cmwoInN0
eWxlLmNzcyIpIHByb2plY3Rpb24sIHR2Ozogd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNz
cy1rZXl3b3JkLCosd2Via2l0LWNzcy1zdHJpbmcsKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJr
aXQtY3NzLWtleXdvcmQsKgogQGltcG9ydCAiL2Nzcy9maXJlYmFsbF91bmljb2RlLmNzcyI7IGh0
bWwge306IHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3Mtc3RyaW5nLCosd2Via2l0LWNz
cy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1zdGFydCx3ZWJraXQtYmxvY2stZW5kCiBAbWVkaWEg
c2NyZWVuIHsgYm9keSB7IGNvbG9yOiByZWQ7IH0gfTogd2Via2l0LWNzcy1hdC1ydWxlLCosd2Vi
a2l0LWNzcy1rZXl3b3JkLCosd2Via2l0LWJsb2NrLXN0YXJ0LCosd2Via2l0LWNzcy1zZWxlY3Rv
ciwqLHdlYmtpdC1ibG9jay1zdGFydCwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3Nz
LWNvbG9yLCosd2Via2l0LWJsb2NrLWVuZCwqLHdlYmtpdC1ibG9jay1lbmQKIEBmb250LWZhY2Ug
eyBmb250LWZhbWlseTogIk15SGVsdmV0aWNhIjsgfTogd2Via2l0LWNzcy1hdC1ydWxlLCosd2Vi
a2l0LWJsb2NrLXN0YXJ0LCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3Mtc3RyaW5n
LCosd2Via2l0LWJsb2NrLWVuZAotcCB7IGNvbG9yOiBjb2xvcjsgcmVkOiByZWQ7IGNvbG9yOiAj
MDAwOyBjb2xvcjogI0ZGRjsgY29sb3I6ICMxMjNBYkM7IGNvbG9yOiAjZmFlYmZlOyBjb2xvcjpw
YXBheWF3aGlwOyB9OiB3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0LCos
d2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3ZWJraXQtY3NzLXByb3Bl
cnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3Nz
LWNvbG9yLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3ZWJraXQt
Y3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3
ZWJraXQtY3NzLWNvbG9yLCosd2Via2l0LWJsb2NrLWVuZAotcCB7IG1hcmdpbjogLTEwcHggIWlt
cG9ydGFudDsgfTogd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1zdGFydCwqLHdl
YmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLW51bWJlciwqLHdlYmtpdC1jc3MtaW1wb3J0
YW50LCosd2Via2l0LWJsb2NrLWVuZAorcCB7IGNvbG9yOiBjb2xvcjsgcmVkOiByZWQ7IGNvbG9y
OiAjMDAwOyBjb2xvcjogI0ZGRjsgY29sb3I6ICMxMjNBYkM7IGNvbG9yOiAjZmFlYmZlOyBjb2xv
cjpwYXBheWF3aGlwOyB9OiB3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0
LCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQtY3Nz
LWNvbG9yLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3ZWJraXQt
Y3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3
ZWJraXQtY3NzLWNvbG9yLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3Is
Kix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1ibG9jay1l
bmQKK3AgeyBtYXJnaW46IC0xMHB4ICFpbXBvcnRhbnQ7IH06IHdlYmtpdC1jc3Mtc2VsZWN0b3Is
Kix3ZWJraXQtYmxvY2stc3RhcnQsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1u
dW1iZXIsKix3ZWJraXQtY3NzLWJhbmcta2V5d29yZCwqLHdlYmtpdC1ibG9jay1lbmQKKyRtYXJn
aW4tbGVmdDogJG9mZnNldEJlZm9yZSArIDEycHggKyAkb2Zmc2V0QWZ0ZXI7OiB3ZWJraXQtc2Nz
cy12YXJpYWJsZSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWNzcy1udW1iZXIsKix3
ZWJraXQtc2Nzcy12YXJpYWJsZSwqCiskdHlwZTogbW9uc3RlcjsKK3AgeworQGlmICR0eXBlID09
IG9jZWFuIHsKK2NvbG9yOiBibHVlOworfSBAZWxzZSBpZiAkdHlwZSA9PSBtYXRhZG9yIHsKK2Nv
bG9yOiByZWQ7Cit9IEBlbHNlIGlmICR0eXBlID09IG1vbnN0ZXIgeworY29sb3I6IGdyZWVuOwor
fSBAZWxzZSB7Citjb2xvcjogYmxhY2s7Cit9Cit9OiB3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLCx3
ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0LCx3ZWJraXQtY3NzLWF0LXJ1
bGUsKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1ibG9jay1zdGFydCwsd2Via2l0LWNz
cy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKiwsd2Via2l0LWJsb2NrLWVuZCwqLHdlYmtp
dC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxl
LCosd2Via2l0LWJsb2NrLXN0YXJ0LCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1j
b2xvciwqLCx3ZWJraXQtYmxvY2stZW5kLCosd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNz
cy1hdC1ydWxlLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtYmxvY2stc3RhcnQsLHdl
YmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWNvbG9yLCosLHdlYmtpdC1ibG9jay1lbmQs
Kix3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtYmxvY2stc3RhcnQsLHdlYmtpdC1jc3MtcHJv
cGVydHksKix3ZWJraXQtY3NzLWNvbG9yLCosLHdlYmtpdC1ibG9jay1lbmQsLHdlYmtpdC1ibG9j
ay1lbmQKK0Bmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7IC5pdGVtLSN7JGl9IHsgd2lkdGg6IDJl
bSAqICRpOyB9IH06IHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCos
d2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1udW1iZXIsKix3ZWJraXQtY3NzLWF0LXJ1
bGUsKix3ZWJraXQtY3NzLW51bWJlciwqLHdlYmtpdC1ibG9jay1zdGFydCwqLHdlYmtpdC1jc3Mt
c2VsZWN0b3IsKix3ZWJraXQtYmxvY2stc3RhcnQsd2Via2l0LXNjc3MtdmFyaWFibGUsd2Via2l0
LWJsb2NrLWVuZCwqLHdlYmtpdC1ibG9jay1zdGFydCwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3
ZWJraXQtY3NzLW51bWJlciwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWJsb2NrLWVu
ZCwqLHdlYmtpdC1ibG9jay1lbmQKK0BtaXhpbiBhZGp1c3QtbG9jYXRpb24oJHgsICR5KSB7CitA
aWYgdW5pdGxlc3MoJHgpIHsKK0B3YXJuICJBc3N1bWluZyAjeyR4fSB0byBiZSBpbiBwaXhlbHMi
OworJHg6IDFweCAqICR4OworfQorcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAkeDsgdG9wOiAk
eTsKK306IHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0
LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtYmxvY2stc3RhcnQsLHdlYmtpdC1jc3MtYXQtcnVsZSwq
LHdlYmtpdC1jc3Mta2V5d29yZCwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWJsb2Nr
LXN0YXJ0LCx3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLXN0cmluZywqLCx3ZWJraXQt
c2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosd2Via2l0LXNjc3MtdmFyaWFibGUs
Kiwsd2Via2l0LWJsb2NrLWVuZCwsd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3Mta2V5
d29yZCwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdlYmtp
dC1jc3MtcHJvcGVydHksKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLCx3ZWJraXQtYmxvY2stZW5k
CisjbmF2YmFyIHsKKyRuYXZiYXItd2lkdGg6IDgwMHB4OworJGl0ZW1zOiA1OworJG5hdmJhci1j
b2xvcjogI2NlNGRkNjsKK3dpZHRoOiAkbmF2YmFyLXdpZHRoOworYm9yZGVyLWJvdHRvbTogMnB4
IHNvbGlkICRuYXZiYXItY29sb3I7CitsaSB7CitAZXh0ZW5kIC5ub3RpY2UgIW9wdGlvbmFsOwor
ZmxvYXQ6IGxlZnQ7Cit3aWR0aDogJG5hdmJhci13aWR0aC8kaXRlbXMgLSAxMHB4OworYmFja2dy
b3VuZC1jb2xvcjogbGlnaHRlbigkbmF2YmFyLWNvbG9yLCAyMCUpOworJjpob3ZlciB7CitiYWNr
Z3JvdW5kLWNvbG9yOiBsaWdodGVuKCRuYXZiYXItY29sb3IsIDEwJSk7Cit9Cit9Cit9OiB3ZWJr
aXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0LCx3ZWJraXQtc2Nzcy12YXJpYWJs
ZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWNz
cy1udW1iZXIsKiwsd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtY3NzLWNvbG9yLCosLHdl
YmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLCx3ZWJraXQtY3NzLXBy
b3BlcnR5LCosd2Via2l0LWNzcy1udW1iZXIsKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQt
c2Nzcy12YXJpYWJsZSwqLCx3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0
LCx3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWNzcy1i
YW5nLWtleXdvcmQsKiwsd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3Mta2V5d29yZCwq
LCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LXNjc3MtdmFyaWFibGUsd2Via2l0LXNjc3Mt
dmFyaWFibGUsKix3ZWJraXQtY3NzLW51bWJlciwqLCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Vi
a2l0LWNzcy1rZXl3b3JkLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtY3NzLW51bWJl
ciwqLCx3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0LCx3ZWJraXQtY3Nz
LXByb3BlcnR5LCosd2Via2l0LWNzcy1rZXl3b3JkLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKix3
ZWJraXQtY3NzLW51bWJlciwqLCx3ZWJraXQtYmxvY2stZW5kLCx3ZWJraXQtYmxvY2stZW5kLCx3
ZWJraXQtYmxvY2stZW5kCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50
YXgtaGlnaGxpZ2h0LWNzcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdo
bGlnaHQtY3NzLmh0bWwKaW5kZXggNzE5NDgzMjhhNTdlN2NmYjg5N2Y1ZjM4YzAzNTA0YTllNzhj
Y2UzNi4uZDY2YmEwZDEwZDkxZjJiZGRmOWNkZDVmODg0ZGE4ZTcwODRmMmVkNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLmh0bWwKQEAgLTYsMjAg
KzYsNjIgQEAKIAogZnVuY3Rpb24gdGVzdCgpCiB7Ci0gICAgZnVuY3Rpb24gZHVtcFN5bnRheEhp
Z2hsaWdodENTUyhzdHIpCisgICAgZnVuY3Rpb24gZHVtcFN5bnRheEhpZ2hsaWdodFNDU1Moc3Ry
KQogICAgIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU3ludGF4SGlnaGxpZ2h0KHN0ciwg
InRleHQvY3NzIik7CiAgICAgfQogCi0gICAgZHVtcFN5bnRheEhpZ2hsaWdodENTUygiYVtocmVm
PScvJ10iKTsKLSAgICBkdW1wU3ludGF4SGlnaGxpZ2h0Q1NTKCIjY29udGVudCA+IGE6aG92ZXIi
KTsKLSAgICBkdW1wU3ludGF4SGlnaGxpZ2h0Q1NTKCJAaW1wb3J0IHVybChzdHlsZS5jc3MpOyIp
OwotICAgIGR1bXBTeW50YXhIaWdobGlnaHRDU1MoIkBpbXBvcnQgdXJsKFwic3R5bGUuY3NzXCIp
IHByb2plY3Rpb24sIHR2OyIpOwotICAgIGR1bXBTeW50YXhIaWdobGlnaHRDU1MoIkBpbXBvcnQg
XCIvY3NzL2ZpcmViYWxsX3VuaWNvZGUuY3NzXCI7IGh0bWwge30iKTsKLSAgICBkdW1wU3ludGF4
SGlnaGxpZ2h0Q1NTKCJAbWVkaWEgc2NyZWVuIHsgYm9keSB7IGNvbG9yOiByZWQ7IH0gfSIpOwot
ICAgIGR1bXBTeW50YXhIaWdobGlnaHRDU1MoIkBmb250LWZhY2UgeyBmb250LWZhbWlseTogXCJN
eUhlbHZldGljYVwiOyB9Iik7Ci0gICAgZHVtcFN5bnRheEhpZ2hsaWdodENTUygicCB7IGNvbG9y
OiBjb2xvcjsgcmVkOiByZWQ7IGNvbG9yOiAjMDAwOyBjb2xvcjogI0ZGRjsgY29sb3I6ICMxMjNB
YkM7IGNvbG9yOiAjZmFlYmZlOyBjb2xvcjpwYXBheWF3aGlwOyB9Iik7Ci0gICAgZHVtcFN5bnRh
eEhpZ2hsaWdodENTUygicCB7IG1hcmdpbjogLTEwcHggIWltcG9ydGFudDsgfSIpOworICAgIGR1
bXBTeW50YXhIaWdobGlnaHRTQ1NTKCJhW2hyZWY9Jy8nXSIpOworICAgIGR1bXBTeW50YXhIaWdo
bGlnaHRTQ1NTKCIjY29udGVudCA+IGE6aG92ZXIiKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0
U0NTUygiQGltcG9ydCB1cmwoc3R5bGUuY3NzKTsiKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0
U0NTUygiQGltcG9ydCB1cmwoXCJzdHlsZS5jc3NcIikgcHJvamVjdGlvbiwgdHY7Iik7CisgICAg
ZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoIkBpbXBvcnQgXCIvY3NzL2ZpcmViYWxsX3VuaWNvZGUu
Y3NzXCI7IGh0bWwge30iKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygiQG1lZGlhIHNj
cmVlbiB7IGJvZHkgeyBjb2xvcjogcmVkOyB9IH0iKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0
U0NTUygiQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIk15SGVsdmV0aWNhXCI7IH0iKTsKKyAg
ICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygicCB7IGNvbG9yOiBjb2xvcjsgcmVkOiByZWQ7IGNv
bG9yOiAjMDAwOyBjb2xvcjogI0ZGRjsgY29sb3I6ICMxMjNBYkM7IGNvbG9yOiAjZmFlYmZlOyBj
b2xvcjpwYXBheWF3aGlwOyB9Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoInAgeyBt
YXJnaW46IC0xMHB4ICFpbXBvcnRhbnQ7IH0iKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NT
UygiJG1hcmdpbi1sZWZ0OiAkb2Zmc2V0QmVmb3JlICsgMTJweCArICRvZmZzZXRBZnRlcjsiKTsK
KyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygiJHR5cGU6IG1vbnN0ZXI7XG4iICsKKyAgICAg
ICAgInAge1xuIiArCisgICAgICAgICAgIkBpZiAkdHlwZSA9PSBvY2VhbiB7XG4iICsKKyAgICAg
ICAgICAgICJjb2xvcjogYmx1ZTtcbiIgKworICAgICAgICAgICJ9IEBlbHNlIGlmICR0eXBlID09
IG1hdGFkb3Ige1xuIiArCisgICAgICAgICAgICAiY29sb3I6IHJlZDtcbiIgKworICAgICAgICAg
ICJ9IEBlbHNlIGlmICR0eXBlID09IG1vbnN0ZXIge1xuIiArCisgICAgICAgICAgICAiY29sb3I6
IGdyZWVuO1xuIiArCisgICAgICAgICAgIn0gQGVsc2Uge1xuIiArCisgICAgICAgICAgICAiY29s
b3I6IGJsYWNrO1xuIiArCisgICAgICAgICAgIn1cbiIgKworICAgICAgICAifSIpOworICAgIGR1
bXBTeW50YXhIaWdobGlnaHRTQ1NTKCJAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMgeyAuaXRlbS0j
eyRpfSB7IHdpZHRoOiAyZW0gKiAkaTsgfSB9Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodFND
U1MoCisgICAgICAgICJAbWl4aW4gYWRqdXN0LWxvY2F0aW9uKCR4LCAkeSkge1xuIiArCisgICAg
ICAgICAgICAiQGlmIHVuaXRsZXNzKCR4KSB7XG4iICsKKyAgICAgICAgICAgICAgICAiQHdhcm4g
XCJBc3N1bWluZyAjeyR4fSB0byBiZSBpbiBwaXhlbHNcIjtcbiIgKworICAgICAgICAgICAgICAg
ICIkeDogMXB4ICogJHg7XG4iICsKKyAgICAgICAgICAgICJ9XG4iICsKKyAgICAgICAgICAgICJw
b3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6ICR4OyB0b3A6ICR5O1xuIiArCisgICAgICAgICJ9Iik7
CisKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygKKyAgICAgICAgIiNuYXZiYXIge1xuIiAr
CisgICAgICAgICAgICAiJG5hdmJhci13aWR0aDogODAwcHg7XG4iICsKKyAgICAgICAgICAgICIk
aXRlbXM6IDU7XG4iICsKKyAgICAgICAgICAgICIkbmF2YmFyLWNvbG9yOiAjY2U0ZGQ2O1xuIiAr
CisKKyAgICAgICAgICAgICJ3aWR0aDogJG5hdmJhci13aWR0aDtcbiIgKworICAgICAgICAgICAg
ImJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmF2YmFyLWNvbG9yO1xuIiArCisKKyAgICAgICAg
ICAgICJsaSB7XG4iICsKKyAgICAgICAgICAgICAgICAiQGV4dGVuZCAubm90aWNlICFvcHRpb25h
bDtcbiIgKworICAgICAgICAgICAgICAgICJmbG9hdDogbGVmdDtcbiIgKworICAgICAgICAgICAg
ICAgICJ3aWR0aDogJG5hdmJhci13aWR0aC8kaXRlbXMgLSAxMHB4O1xuIiArCisgICAgICAgICAg
ICAgICAgImJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJG5hdmJhci1jb2xvciwgMjAlKTtcbiIg
KworICAgICAgICAgICAgICAgICImOmhvdmVyIHtcbiIgKworICAgICAgICAgICAgICAgICAgICAi
YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbmF2YmFyLWNvbG9yLCAxMCUpO1xuIiArCisgICAg
ICAgICAgICAgICAgIn1cbiIgKworICAgICAgICAgICAgIn1cbiIgKworICAgICAgICAifSIpOwog
CiAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKIH0KQEAgLTI5LDcgKzcxLDcgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAKIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KIDxwPgotVGVzdHMg
dGhhdCBDU1NTb3VyY2VTeW50YXhIaWdobGlnaHRlciBkZXRlY3RzIHRoZSB0b2tlbnMuCitUZXN0
cyB0aGF0IChTKUNTUyBzeW50YXggaGlnaGxpZ2h0ZXIgcHJvcGVybHkgZGV0ZWN0cyB0aGUgdG9r
ZW5zLgogPC9wPgogCiA8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162449</attachid>
            <date>2012-09-06 01:35:48 -0700</date>
            <delta_ts>2012-09-07 06:09:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95585-20120906123527.patch</filename>
            <type>text/plain</type>
            <size>132854</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VhZGI1YjE2MmM3YjUx
OGQ4NGRhZGZjMWE1NzFkYTBlZjA3OWFhYy4uNDc2M2FjY2ZjOWYyZjYwZmU2OWNmMGFiMjZhMmVm
NzAwNmM0YWFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTA2ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogSW1wbGVtZW50IFNDU1Mgc291cmNlIGhpZ2hsaWdodGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTU4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY2hhbmdlIG1vZGlmaWVzIHRoZSBl
eGlzdGluZyBDU1MgaGlnaGxpZ2h0ZXIgdG8gc3VwcG9ydCBTQ1NTIGFzIHdlbGwuIFRoZSAidGV4
dC94LXNjc3MiIG1pbWUtdHlwZSBpcyBhc3NpZ25lZCB0byBTQVNTU291cmNlLgorCisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5DU1NDb21wbGV0aW9ucy5jc3NQcm9wZXJ0aWVzTWV0YWluZm9LZXlTZXQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIpOiBFbmFibGVkIGNsaWVudHMgdG8g
c3VwcGx5IHRoZSBjb250ZW50IG1pbWUtdHlwZS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdGF0
aWNDb250ZW50UHJvdmlkZXIucHJvdG90eXBlLm1pbWVUeXBlKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIucHJvdG90eXBlLnJlcXVlc3RDb250ZW50KTogVXNl
IGNsaWVudC1zdXBwbGllZCBjb250ZW50IG1pbWUtdHlwZSwgaWYgYW55LgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU0FTU1NvdXJjZSk6IENvbnN0cnVjdCBTdGF0aWNDb250ZW50UHJvdmlkZXIgd2l0aCB0
aGUgInRleHQveC1zY3NzIiBtaW1lLXR5cGUuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ1NT
VG9rZW5pemVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJv
dG90eXBlLm5leHRUb2tlbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VD
U1NUb2tlbml6ZXIucmUyanM6IEV4dGVuZGVkIHdpdGggdGhlIFNDU1Mgc3ludGF4LgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlVG9rZW5pemVyLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5SZWdpc3RyeSk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3JTeW50YXhIaWdobGlnaHQuY3NzOgorICAgICAgICAoLndlYmtp
dC1jc3MtYmFuZy1rZXl3b3JkKToKKwogMjAxMi0wOS0wNiAgUGF0cmljayBHYW5zdGVyZXIgIDxw
YXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNb3JlIGZpeGVzIGZvciBTdHJpbmc6Om9wZXJh
dG9yKz0oKSBpbiBEZWJ1ZyBtb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NTU0NvbXBsZXRpb25zLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9DU1NDb21wbGV0aW9ucy5qcwppbmRleCA4NGQ3Y2FlMGJhYmQ0MzYwZTc1Mjgx
MWQ2ODdmZTBmNjJjNTFjM2U2Li45ZTM3OTg1MzU3OWEyMDYzNzViOGI4NTZjYThkZjhhNzVlNTk5
NTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU0Nv
bXBsZXRpb25zLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NT
Q29tcGxldGlvbnMuanMKQEAgLTgzLDYgKzgzLDEzIEBAIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0
aW9ucy5yZXF1ZXN0Q1NTTmFtZUNvbXBsZXRpb25zID0gZnVuY3Rpb24oKQogICAgIENTU0FnZW50
LmdldFN1cHBvcnRlZENTU1Byb3BlcnRpZXMocHJvcGVydHlOYW1lc0NhbGxiYWNrKTsKIH0KIAor
V2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc1Byb3BlcnRpZXNNZXRhaW5mb0tleVNldCA9
IGZ1bmN0aW9uKCkKK3sKKyAgICBpZiAoIVdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5fY3Nz
UHJvcGVydGllc01ldGFpbmZvS2V5U2V0KQorICAgICAgICBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxl
dGlvbnMuX2Nzc1Byb3BlcnRpZXNNZXRhaW5mb0tleVNldCA9IFdlYkluc3BlY3Rvci5DU1NDb21w
bGV0aW9ucy5jc3NQcm9wZXJ0aWVzTWV0YWluZm8ua2V5U2V0KCk7CisgICAgcmV0dXJuIFdlYklu
c3BlY3Rvci5DU1NDb21wbGV0aW9ucy5fY3NzUHJvcGVydGllc01ldGFpbmZvS2V5U2V0OworfQor
CiBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMucHJvdG90eXBlID0gewogICAgIHN0YXJ0c1dp
dGg6IGZ1bmN0aW9uKHByZWZpeCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRlcnMuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRlcnMuanMKaW5kZXggZTFjMzk5NmYzMWUx
Y2RhM2RmNTZhYzhjOGEyYzBiNmU1ZWNiNTk4NS4uZTFkMzkyMzlmNDFhY2IxMDA2ODdiN2RlZDJm
YTMwODBmNTAwNjgzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Db250ZW50UHJvdmlkZXJzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qcwpAQCAtMjQxLDEyICsyNDEsMTQgQEAgV2ViSW5z
cGVjdG9yLkNvbXBpbGVyU291cmNlTWFwcGluZ0NvbnRlbnRQcm92aWRlci5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGUKICAqIEBjb25zdHJ1Y3RvcgogICogQGltcGxlbWVudHMge1dlYklu
c3BlY3Rvci5Db250ZW50UHJvdmlkZXJ9CiAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZXNvdXJj
ZVR5cGV9IGNvbnRlbnRUeXBlIAotICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgCisgKiBAcGFy
YW0ge3N0cmluZ30gY29udGVudAorICogQHBhcmFtIHtzdHJpbmc9fSBtaW1lVHlwZQogICovCi1X
ZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVyID0gZnVuY3Rpb24oY29udGVudFR5cGUs
IGNvbnRlbnQpCitXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVyID0gZnVuY3Rpb24o
Y29udGVudFR5cGUsIGNvbnRlbnQsIG1pbWVUeXBlKQogewogICAgIHRoaXMuX2NvbnRlbnQgPSBj
b250ZW50OwogICAgIHRoaXMuX2NvbnRlbnRUeXBlID0gY29udGVudFR5cGU7CisgICAgdGhpcy5f
bWltZVR5cGUgPSBtaW1lVHlwZTsKIH0KIAogV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92
aWRlci5wcm90b3R5cGUgPSB7CkBAIC0yNjcsMTEgKzI2OSwxOSBAQCBXZWJJbnNwZWN0b3IuU3Rh
dGljQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAg
ICogQHJldHVybiB7c3RyaW5nfQorICAgICAqLworICAgIG1pbWVUeXBlOiBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICByZXR1cm4gdGhpcy5fbWltZVR5cGUgfHwgdGhpcy5fY29udGVudFR5cGUu
Y2Fub25pY2FsTWltZVR5cGUoKTsKKyAgICB9LAorCisgICAgLyoqCiAgICAgICogQHBhcmFtIHtm
dW5jdGlvbig/c3RyaW5nLGJvb2xlYW4sc3RyaW5nKX0gY2FsbGJhY2sKICAgICAgKi8KICAgICBy
ZXF1ZXN0Q29udGVudDogZnVuY3Rpb24oY2FsbGJhY2spCiAgICAgewotICAgICAgICBjYWxsYmFj
ayh0aGlzLl9jb250ZW50LCBmYWxzZSwgdGhpcy5fY29udGVudFR5cGUuY2Fub25pY2FsTWltZVR5
cGUoKSk7CisgICAgICAgIGNhbGxiYWNrKHRoaXMuX2NvbnRlbnQsIGZhbHNlLCB0aGlzLm1pbWVU
eXBlKCkpOwogICAgIH0sCiAKICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5nLmpzCmluZGV4IGI4YTQ5NzE4NDkz
YjU0NjRjMDM0NTAzNzM5ZmQ1MWNmYmQ1ZTEzN2UuLjBiOGU5NmU2ZTQ4MGEwOTM2NTEzY2M5N2Fl
YzM3OTQ0ZTQwYTgxZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcwpAQCAtMTY2LDcgKzE2Niw3IEBAIFdlYklu
c3BlY3Rvci5TQVNTU291cmNlTWFwcGluZy5wcm90b3R5cGUgPSB7CiBXZWJJbnNwZWN0b3IuU0FT
U1NvdXJjZSA9IGZ1bmN0aW9uKHNhc3NVUkwpCiB7CiAgICAgdmFyIGNvbnRlbnQgPSBJbnNwZWN0
b3JGcm9udGVuZEhvc3QubG9hZFJlc291cmNlU3luY2hyb25vdXNseShzYXNzVVJMKTsKLSAgICB2
YXIgY29udGVudFByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlk
ZXIoV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU3R5bGVzaGVldCwgY29udGVudCk7CisgICAg
dmFyIGNvbnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3Zp
ZGVyKFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQsIGNvbnRlbnQsICJ0ZXh0
L3gtc2NzcyIpOwogICAgIFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUuY2FsbCh0aGlzLCBzYXNz
VVJMLCBudWxsLCBjb250ZW50UHJvdmlkZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzCmluZGV4IDhk
NWI4ZGU4MjQwZDUzN2JlODdhNGI5NmYxZjhmNjBlMzFjMDljY2MuLmYxNDAyYmYyNzRlMzllMTgz
NDgzY2ZjYmFmMTIwYjMwYmJiZThmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzCkBAIC0xLDQgKzEsNCBA
QAotLyogR2VuZXJhdGVkIGJ5IHJlMmMgMC4xMy41IG9uIE1vbiBKdWwgIDkgMTk6MzE6MzAgMjAx
MiAqLworLyogR2VuZXJhdGVkIGJ5IHJlMmMgMC4xMy41IG9uIE1vbiBTZXAgIDMgMTk6MTU6MTkg
MjAxMiAqLwogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKQEAgLTUyLDYxICs1Miw5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NU
b2tlbml6ZXIgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXpl
ci5jYWxsKHRoaXMpOwogCi0gICAgdGhpcy5fcHJvcGVydHlLZXl3b3JkcyA9IFdlYkluc3BlY3Rv
ci5DU1NDb21wbGV0aW9ucy5jc3NQcm9wZXJ0aWVzTWV0YWluZm8ua2V5U2V0KCk7CisgICAgdGhp
cy5fcHJvcGVydHlLZXl3b3JkcyA9IFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5jc3NQcm9w
ZXJ0aWVzTWV0YWluZm9LZXlTZXQoKTsKICAgICB0aGlzLl9jb2xvcktleXdvcmRzID0gV2ViSW5z
cGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5jb2xvcnMoKTsKIAotICAgIHRoaXMuX3ZhbHVl
S2V5d29yZHMgPSBbCi0gICAgICAgICJhYm92ZSIsICJhYnNvbHV0ZSIsICJhY3RpdmVib3JkZXIi
LCAiYWN0aXZlY2FwdGlvbiIsICJhZmFyIiwgImFmdGVyLXdoaXRlLXNwYWNlIiwgImFoZWFkIiwg
ImFsaWFzIiwgImFsbCIsICJhbGwtc2Nyb2xsIiwKLSAgICAgICAgImFsdGVybmF0ZSIsICJhbHdh
eXMiLCAiYW1oYXJpYyIsICJhbWhhcmljLWFiZWdlZGUiLCAiYW50aWFsaWFzZWQiLCAiYXBwd29y
a3NwYWNlIiwgImFyYWJpYy1pbmRpYyIsICJhcm1lbmlhbiIsICJhc3Rlcmlza3MiLAotICAgICAg
ICAiYXV0byIsICJhdm9pZCIsICJiYWNrZ3JvdW5kIiwgImJhY2t3YXJkcyIsICJiYXNlbGluZSIs
ICJiZWxvdyIsICJiaWRpLW92ZXJyaWRlIiwgImJpbmFyeSIsICJiZW5nYWxpIiwgImJsaW5rIiwK
LSAgICAgICAgImJsb2NrIiwgImJsb2NrLWF4aXMiLCAiYm9sZCIsICJib2xkZXIiLCAiYm9yZGVy
IiwgImJvcmRlci1ib3giLCAiYm90aCIsICJib3R0b20iLCAiYnJlYWstYWxsIiwgImJyZWFrLXdv
cmQiLCAiYnV0dG9uIiwKLSAgICAgICAgImJ1dHRvbi1iZXZlbCIsICJidXR0b25mYWNlIiwgImJ1
dHRvbmhpZ2hsaWdodCIsICJidXR0b25zaGFkb3ciLCAiYnV0dG9udGV4dCIsICJjYW1ib2RpYW4i
LCAiY2FwaXRhbGl6ZSIsICJjYXBzLWxvY2staW5kaWNhdG9yIiwKLSAgICAgICAgImNhcHRpb24i
LCAiY2FwdGlvbnRleHQiLCAiY2FyZXQiLCAiY2VsbCIsICJjZW50ZXIiLCAiY2hlY2tib3giLCAi
Y2lyY2xlIiwgImNqay1lYXJ0aGx5LWJyYW5jaCIsICJjamstaGVhdmVubHktc3RlbSIsICJjamst
aWRlb2dyYXBoaWMiLAotICAgICAgICAiY2xlYXIiLCAiY2xpcCIsICJjbG9zZS1xdW90ZSIsICJj
b2wtcmVzaXplIiwgImNvbGxhcHNlIiwgImNvbXBhY3QiLCAiY29uZGVuc2VkIiwgImNvbnRhaW4i
LCAiY29udGVudCIsICJjb250ZW50LWJveCIsICJjb250ZXh0LW1lbnUiLAotICAgICAgICAiY29u
dGludW91cyIsICJjb3B5IiwgImNvdmVyIiwgImNyb3AiLCAiY3Jvc3MiLCAiY3Jvc3NoYWlyIiwg
ImN1cnJlbnRjb2xvciIsICJjdXJzaXZlIiwgImRhc2hlZCIsICJkZWNpbWFsIiwgImRlY2ltYWwt
bGVhZGluZy16ZXJvIiwgImRlZmF1bHQiLAotICAgICAgICAiZGVmYXVsdC1idXR0b24iLCAiZGVz
dGluYXRpb24tYXRvcCIsICJkZXN0aW5hdGlvbi1pbiIsICJkZXN0aW5hdGlvbi1vdXQiLCAiZGVz
dGluYXRpb24tb3ZlciIsICJkZXZhbmFnYXJpIiwgImRpc2MiLCAiZGlzY2FyZCIsICJkb2N1bWVu
dCIsCi0gICAgICAgICJkb3QtZGFzaCIsICJkb3QtZG90LWRhc2giLCAiZG90dGVkIiwgImRvdWJs
ZSIsICJkb3duIiwgImUtcmVzaXplIiwgImVhc2UiLCAiZWFzZS1pbiIsICJlYXNlLWluLW91dCIs
ICJlYXNlLW91dCIsICJlbGVtZW50IiwKLSAgICAgICAgImVsbGlwc2lzIiwgImVtYmVkIiwgImVu
ZCIsICJldGhpb3BpYyIsICJldGhpb3BpYy1hYmVnZWRlIiwgImV0aGlvcGljLWFiZWdlZGUtYW0t
ZXQiLCAiZXRoaW9waWMtYWJlZ2VkZS1nZXoiLAotICAgICAgICAiZXRoaW9waWMtYWJlZ2VkZS10
aS1lciIsICJldGhpb3BpYy1hYmVnZWRlLXRpLWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLWFhLWVy
IiwgImV0aGlvcGljLWhhbGVoYW1lLWFhLWV0IiwKLSAgICAgICAgImV0aGlvcGljLWhhbGVoYW1l
LWFtLWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLWdleiIsICJldGhpb3BpYy1oYWxlaGFtZS1vbS1l
dCIsICJldGhpb3BpYy1oYWxlaGFtZS1zaWQtZXQiLAotICAgICAgICAiZXRoaW9waWMtaGFsZWhh
bWUtc28tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGktZXIiLCAiZXRoaW9waWMtaGFsZWhhbWUt
dGktZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGlnIiwgImV3LXJlc2l6ZSIsICJleHBhbmRlZCIs
Ci0gICAgICAgICJleHRyYS1jb25kZW5zZWQiLCAiZXh0cmEtZXhwYW5kZWQiLCAiZmFudGFzeSIs
ICJmYXN0IiwgImZpbGwiLCAiZml4ZWQiLCAiZmxhdCIsICJmb290bm90ZXMiLCAiZm9yd2FyZHMi
LCAiZnJvbSIsICJnZW9tZXRyaWNQcmVjaXNpb24iLAotICAgICAgICAiZ2VvcmdpYW4iLCAiZ3Jh
eXRleHQiLCAiZ3Jvb3ZlIiwgImd1amFyYXRpIiwgImd1cm11a2hpIiwgImhhbmQiLCAiaGFuZ3Vs
IiwgImhhbmd1bC1jb25zb25hbnQiLCAiaGVicmV3IiwgImhlbHAiLAotICAgICAgICAiaGlkZGVu
IiwgImhpZGUiLCAiaGlnaGVyIiwgImhpZ2hsaWdodCIsICJoaWdobGlnaHR0ZXh0IiwgImhpcmFn
YW5hIiwgImhpcmFnYW5hLWlyb2hhIiwgImhvcml6b250YWwiLCAiaHNsIiwgImhzbGEiLCAiaWNv
biIsICJpZ25vcmUiLAotICAgICAgICAiaW5hY3RpdmVib3JkZXIiLCAiaW5hY3RpdmVjYXB0aW9u
IiwgImluYWN0aXZlY2FwdGlvbnRleHQiLCAiaW5maW5pdGUiLCAiaW5mb2JhY2tncm91bmQiLCAi
aW5mb3RleHQiLCAiaW5oZXJpdCIsICJpbml0aWFsIiwgImlubGluZSIsCi0gICAgICAgICJpbmxp
bmUtYXhpcyIsICJpbmxpbmUtYmxvY2siLCAiaW5saW5lLXRhYmxlIiwgImluc2V0IiwgImluc2lk
ZSIsICJpbnRyaW5zaWMiLCAiaW52ZXJ0IiwgIml0YWxpYyIsICJqdXN0aWZ5IiwgImthbm5hZGEi
LCAia2F0YWthbmEiLAotICAgICAgICAia2F0YWthbmEtaXJvaGEiLCAia2htZXIiLCAibGFuZHNj
YXBlIiwgImxhbyIsICJsYXJnZSIsICJsYXJnZXIiLCAibGVmdCIsICJsZXZlbCIsICJsaWdodGVy
IiwgImxpbmUtdGhyb3VnaCIsICJsaW5lYXIiLCAibGluZXMiLAotICAgICAgICAibGlzdC1pdGVt
IiwgImxpc3Rib3giLCAibGlzdGl0ZW0iLCAibG9jYWwiLCAibG9naWNhbCIsICJsb3VkIiwgImxv
d2VyIiwgImxvd2VyLWFscGhhIiwgImxvd2VyLWFybWVuaWFuIiwgImxvd2VyLWdyZWVrIiwKLSAg
ICAgICAgImxvd2VyLWhleGFkZWNpbWFsIiwgImxvd2VyLWxhdGluIiwgImxvd2VyLW5vcndlZ2lh
biIsICJsb3dlci1yb21hbiIsICJsb3dlcmNhc2UiLCAibHRyIiwgIm1hbGF5YWxhbSIsICJtYXRj
aCIsICJtZWRpYS1jb250cm9scy1iYWNrZ3JvdW5kIiwKLSAgICAgICAgIm1lZGlhLWN1cnJlbnQt
dGltZS1kaXNwbGF5IiwgIm1lZGlhLWZ1bGxzY3JlZW4tYnV0dG9uIiwgIm1lZGlhLW11dGUtYnV0
dG9uIiwgIm1lZGlhLXBsYXktYnV0dG9uIiwgIm1lZGlhLXJldHVybi10by1yZWFsdGltZS1idXR0
b24iLAotICAgICAgICAibWVkaWEtcmV3aW5kLWJ1dHRvbiIsICJtZWRpYS1zZWVrLWJhY2stYnV0
dG9uIiwgIm1lZGlhLXNlZWstZm9yd2FyZC1idXR0b24iLCAibWVkaWEtc2xpZGVyIiwgIm1lZGlh
LXNsaWRlcnRodW1iIiwgIm1lZGlhLXRpbWUtcmVtYWluaW5nLWRpc3BsYXkiLAotICAgICAgICAi
bWVkaWEtdm9sdW1lLXNsaWRlciIsICJtZWRpYS12b2x1bWUtc2xpZGVyLWNvbnRhaW5lciIsICJt
ZWRpYS12b2x1bWUtc2xpZGVydGh1bWIiLCAibWVkaXVtIiwgIm1lbnUiLCAibWVudWxpc3QiLCAi
bWVudWxpc3QtYnV0dG9uIiwKLSAgICAgICAgIm1lbnVsaXN0LXRleHQiLCAibWVudWxpc3QtdGV4
dGZpZWxkIiwgIm1lbnV0ZXh0IiwgIm1lc3NhZ2UtYm94IiwgIm1pZGRsZSIsICJtaW4taW50cmlu
c2ljIiwgIm1peCIsICJtb25nb2xpYW4iLCAibW9ub3NwYWNlIiwgIm1vdmUiLCAibXVsdGlwbGUi
LAotICAgICAgICAibXlhbm1hciIsICJuLXJlc2l6ZSIsICJuYXJyb3dlciIsICJuYXZ5IiwgIm5l
LXJlc2l6ZSIsICJuZXN3LXJlc2l6ZSIsICJuby1jbG9zZS1xdW90ZSIsICJuby1kcm9wIiwgIm5v
LW9wZW4tcXVvdGUiLCAibm8tcmVwZWF0IiwgIm5vbmUiLAotICAgICAgICAibm9ybWFsIiwgIm5v
dC1hbGxvd2VkIiwgIm5vd3JhcCIsICJucy1yZXNpemUiLCAibnctcmVzaXplIiwgIm53c2UtcmVz
aXplIiwgIm9ibGlxdWUiLCAib2N0YWwiLCAib3Blbi1xdW90ZSIsICJvcHRpbWl6ZUxlZ2liaWxp
dHkiLAotICAgICAgICAib3B0aW1pemVTcGVlZCIsICJvcml5YSIsICJvcm9tbyIsICJvdXRzZXQi
LCAib3V0c2lkZSIsICJvdmVybGF5IiwgIm92ZXJsaW5lIiwgInBhZGRpbmciLCAicGFkZGluZy1i
b3giLCAicGFpbnRlZCIsICJwYXVzZWQiLAotICAgICAgICAicGVyc2lhbiIsICJwbHVzLWRhcmtl
ciIsICJwbHVzLWxpZ2h0ZXIiLCAicG9pbnRlciIsICJwb3J0cmFpdCIsICJwcmUiLCAicHJlLWxp
bmUiLCAicHJlLXdyYXAiLCAicHJlc2VydmUtM2QiLCAicHJvZ3Jlc3MiLAotICAgICAgICAicHVz
aC1idXR0b24iLCAicmFkaW8iLCAicmVhZC1vbmx5IiwgInJlYWQtd3JpdGUiLCAicmVhZC13cml0
ZS1wbGFpbnRleHQtb25seSIsICJyZWxhdGl2ZSIsICJyZXBlYXQiLCAicmVwZWF0LXgiLAotICAg
ICAgICAicmVwZWF0LXkiLCAicmVzZXQiLCAicmV2ZXJzZSIsICJyZ2IiLCAicmdiYSIsICJyaWRn
ZSIsICJyaWdodCIsICJyb3VuZCIsICJyb3ctcmVzaXplIiwgInJ0bCIsICJydW4taW4iLCAicnVu
bmluZyIsICJzLXJlc2l6ZSIsICJzYW5zLXNlcmlmIiwKLSAgICAgICAgInNjcm9sbCIsICJzY3Jv
bGxiYXIiLCAic2UtcmVzaXplIiwgInNlYXJjaGZpZWxkIiwgInNlYXJjaGZpZWxkLWNhbmNlbC1i
dXR0b24iLCAic2VhcmNoZmllbGQtZGVjb3JhdGlvbiIsICJzZWFyY2hmaWVsZC1yZXN1bHRzLWJ1
dHRvbiIsCi0gICAgICAgICJzZWFyY2hmaWVsZC1yZXN1bHRzLWRlY29yYXRpb24iLCAic2VtaS1j
b25kZW5zZWQiLCAic2VtaS1leHBhbmRlZCIsICJzZXBhcmF0ZSIsICJzZXJpZiIsICJzaG93Iiwg
InNpZGFtYSIsICJzaW5nbGUiLAotICAgICAgICAic2tpcC13aGl0ZS1zcGFjZSIsICJzbGlkZSIs
ICJzbGlkZXItaG9yaXpvbnRhbCIsICJzbGlkZXItdmVydGljYWwiLCAic2xpZGVydGh1bWItaG9y
aXpvbnRhbCIsICJzbGlkZXJ0aHVtYi12ZXJ0aWNhbCIsICJzbG93IiwKLSAgICAgICAgInNtYWxs
IiwgInNtYWxsLWNhcHMiLCAic21hbGwtY2FwdGlvbiIsICJzbWFsbGVyIiwgInNvbGlkIiwgInNv
bWFsaSIsICJzb3VyY2UtYXRvcCIsICJzb3VyY2UtaW4iLCAic291cmNlLW91dCIsICJzb3VyY2Ut
b3ZlciIsCi0gICAgICAgICJzcGFjZSIsICJzcXVhcmUiLCAic3F1YXJlLWJ1dHRvbiIsICJzdGFy
dCIsICJzdGF0aWMiLCAic3RhdHVzLWJhciIsICJzdHJldGNoIiwgInN0cm9rZSIsICJzdWIiLCAi
c3VicGl4ZWwtYW50aWFsaWFzZWQiLCAic3VwZXIiLAotICAgICAgICAic3ctcmVzaXplIiwgInRh
YmxlIiwgInRhYmxlLWNhcHRpb24iLCAidGFibGUtY2VsbCIsICJ0YWJsZS1jb2x1bW4iLCAidGFi
bGUtY29sdW1uLWdyb3VwIiwgInRhYmxlLWZvb3Rlci1ncm91cCIsICJ0YWJsZS1oZWFkZXItZ3Jv
dXAiLAotICAgICAgICAidGFibGUtcm93IiwgInRhYmxlLXJvdy1ncm91cCIsICJ0ZWx1Z3UiLCAi
dGV4dCIsICJ0ZXh0LWJvdHRvbSIsICJ0ZXh0LXRvcCIsICJ0ZXh0YXJlYSIsICJ0ZXh0ZmllbGQi
LCAidGhhaSIsICJ0aGljayIsICJ0aGluIiwKLSAgICAgICAgInRocmVlZGRhcmtzaGFkb3ciLCAi
dGhyZWVkZmFjZSIsICJ0aHJlZWRoaWdobGlnaHQiLCAidGhyZWVkbGlnaHRzaGFkb3ciLCAidGhy
ZWVkc2hhZG93IiwgInRpYmV0YW4iLCAidGlncmUiLCAidGlncmlueWEtZXIiLCAidGlncmlueWEt
ZXItYWJlZ2VkZSIsCi0gICAgICAgICJ0aWdyaW55YS1ldCIsICJ0aWdyaW55YS1ldC1hYmVnZWRl
IiwgInRvIiwgInRvcCIsICJ0cmFuc3BhcmVudCIsICJ1bHRyYS1jb25kZW5zZWQiLCAidWx0cmEt
ZXhwYW5kZWQiLCAidW5kZXJsaW5lIiwgInVwIiwgInVwcGVyLWFscGhhIiwgInVwcGVyLWFybWVu
aWFuIiwKLSAgICAgICAgInVwcGVyLWdyZWVrIiwgInVwcGVyLWhleGFkZWNpbWFsIiwgInVwcGVy
LWxhdGluIiwgInVwcGVyLW5vcndlZ2lhbiIsICJ1cHBlci1yb21hbiIsICJ1cHBlcmNhc2UiLCAi
dXJkdSIsICJ1cmwiLCAidmVydGljYWwiLCAidmVydGljYWwtdGV4dCIsICJ2aXNpYmxlIiwKLSAg
ICAgICAgInZpc2libGVGaWxsIiwgInZpc2libGVQYWludGVkIiwgInZpc2libGVTdHJva2UiLCAi
dmlzdWFsIiwgInctcmVzaXplIiwgIndhaXQiLCAid2F2ZSIsICJ3aGl0ZSIsICJ3aWRlciIsICJ3
aW5kb3ciLCAid2luZG93ZnJhbWUiLCAid2luZG93dGV4dCIsCi0gICAgICAgICJ4LWxhcmdlIiwg
Ingtc21hbGwiLCAieG9yIiwgInh4LWxhcmdlIiwgInh4LXNtYWxsIiwgInllbGxvdyIsICItd2Fw
LW1hcnF1ZWUiLCAiLXdlYmtpdC1hY3RpdmVsaW5rIiwgIi13ZWJraXQtYXV0byIsICItd2Via2l0
LWJhc2VsaW5lLW1pZGRsZSIsCi0gICAgICAgICItd2Via2l0LWJvZHkiLCAiLXdlYmtpdC1ib3gi
LCAiLXdlYmtpdC1jZW50ZXIiLCAiLXdlYmtpdC1jb250cm9sIiwgIi13ZWJraXQtZm9jdXMtcmlu
Zy1jb2xvciIsICItd2Via2l0LWdyYWIiLCAiLXdlYmtpdC1ncmFiYmluZyIsCi0gICAgICAgICIt
d2Via2l0LWdyYWRpZW50IiwgIi13ZWJraXQtaW5saW5lLWJveCIsICItd2Via2l0LWxlZnQiLCAi
LXdlYmtpdC1saW5rIiwgIi13ZWJraXQtbWFycXVlZSIsICItd2Via2l0LW1pbmktY29udHJvbCIs
ICItd2Via2l0LW5vd3JhcCIsICItd2Via2l0LXBpY3RvZ3JhcGgiLAotICAgICAgICAiLXdlYmtp
dC1yaWdodCIsICItd2Via2l0LXNtYWxsLWNvbnRyb2wiLCAiLXdlYmtpdC10ZXh0IiwgIi13ZWJr
aXQteHh4LWxhcmdlIiwgIi13ZWJraXQtem9vbS1pbiIsICItd2Via2l0LXpvb20tb3V0IiwKLSAg
ICBdLmtleVNldCgpOwotCi0gICAgdGhpcy5fbWVkaWFUeXBlcyA9IFsiYWxsIiwgImF1cmFsIiwg
ImJyYWlsbGUiLCAiZW1ib3NzZWQiLCAiaGFuZGhlbGQiLCAiaW1wb3J0IiwgInByaW50IiwgInBy
b2plY3Rpb24iLCAic2NyZWVuIiwgInR0eSIsICJ0diJdLmtleVNldCgpOwotCiAgICAgdGhpcy5f
bGV4Q29uZGl0aW9ucyA9IHsKICAgICAgICAgSU5JVElBTDogMCwKICAgICAgICAgQ09NTUVOVDog
MSwKQEAgLTEzMCw2ICs3OCw2OSBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyID0g
ZnVuY3Rpb24oKQogICAgIHRoaXMuY29uZGl0aW9uID0gdGhpcy5jcmVhdGVJbml0aWFsQ29uZGl0
aW9uKCk7CiB9CiAKK1dlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuQXRSZWxhdGVkS2V5
d29yZHMgPSBbCisgICAiZnJvbSIsICJpZiIsICJpbiIsICJ0aHJvdWdoIgorXS5rZXlTZXQoKTsK
KworV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5NZWRpYVR5cGVzID0gWyJhbGwiLCAi
YXVyYWwiLCAiYnJhaWxsZSIsICJlbWJvc3NlZCIsICJoYW5kaGVsZCIsICJpbXBvcnQiLCAicHJp
bnQiLCAicHJvamVjdGlvbiIsICJzY3JlZW4iLCAidHR5IiwgInR2Il0ua2V5U2V0KCk7CisKK1dl
Ykluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuU0NTU1ZhbHVlS2V5d29yZHMgPSBbCisgICAg
ImFicyIsICJhZGp1c3QtY29sb3IiLCAiYWRqdXN0LWh1ZSIsICJhbHBoYSIsICJhcHBlbmQiLCAi
Y2VpbCIsICJjaGFuZ2UtY29sb3IiLCAiY29tcGFyYWJsZSIsICJjb21wbGVtZW50IiwgImRhcmtl
biIsICJkZXNhdHVyYXRlIiwKKyAgICAiZmFkZS1pbiIsICJmYWRlLW91dCIsICJmbG9vciIsICJn
cmF5c2NhbGUiLCAiaHVlIiwgImllLWhleC1zdHIiLCAiaW52ZXJ0IiwgImpvaW4iLCAibGVuZ3Ro
IiwgImxpZ2h0ZW4iLAorICAgICJsaWdodG5lc3MiLCAibWF4IiwgIm1pbiIsICJtaXgiLCAibnRo
IiwgIm9wYWNpZnkiLCAib3BhY2l0eSIsICJwZXJjZW50YWdlIiwgInF1b3RlIiwgInJvdW5kIiwg
InNhdHVyYXRlIiwKKyAgICAic2F0dXJhdGlvbiIsICJzY2FsZS1jb2xvciIsICJ0cmFuc3BhcmVu
dGl6ZSIsICJ0eXBlLW9mIiwgInVuaXQiLCAidW5pdGxlc3MiLCAidW5xdW90ZSIsICJ6aXAiCitd
LmtleVNldCgpOworCitXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLlZhbHVlS2V5d29y
ZHMgPSBbCisgICAgImFib3ZlIiwgImFic29sdXRlIiwgImFjdGl2ZWJvcmRlciIsICJhY3RpdmVj
YXB0aW9uIiwgImFmYXIiLCAiYWZ0ZXItd2hpdGUtc3BhY2UiLCAiYWhlYWQiLCAiYWxpYXMiLCAi
YWxsIiwgImFsbC1zY3JvbGwiLAorICAgICJhbHRlcm5hdGUiLCAiYWx3YXlzIiwgImFtaGFyaWMi
LCAiYW1oYXJpYy1hYmVnZWRlIiwgImFudGlhbGlhc2VkIiwgImFwcHdvcmtzcGFjZSIsICJhcmFi
aWMtaW5kaWMiLCAiYXJtZW5pYW4iLCAiYXN0ZXJpc2tzIiwKKyAgICAiYXV0byIsICJhdm9pZCIs
ICJiYWNrZ3JvdW5kIiwgImJhY2t3YXJkcyIsICJiYXNlbGluZSIsICJiZWxvdyIsICJiaWRpLW92
ZXJyaWRlIiwgImJpbmFyeSIsICJiZW5nYWxpIiwgImJsaW5rIiwKKyAgICAiYmxvY2siLCAiYmxv
Y2stYXhpcyIsICJib2xkIiwgImJvbGRlciIsICJib3JkZXIiLCAiYm9yZGVyLWJveCIsICJib3Ro
IiwgImJvdHRvbSIsICJicmVhay1hbGwiLCAiYnJlYWstd29yZCIsICJidXR0b24iLAorICAgICJi
dXR0b24tYmV2ZWwiLCAiYnV0dG9uZmFjZSIsICJidXR0b25oaWdobGlnaHQiLCAiYnV0dG9uc2hh
ZG93IiwgImJ1dHRvbnRleHQiLCAiY2FtYm9kaWFuIiwgImNhcGl0YWxpemUiLCAiY2Fwcy1sb2Nr
LWluZGljYXRvciIsCisgICAgImNhcHRpb24iLCAiY2FwdGlvbnRleHQiLCAiY2FyZXQiLCAiY2Vs
bCIsICJjZW50ZXIiLCAiY2hlY2tib3giLCAiY2lyY2xlIiwgImNqay1lYXJ0aGx5LWJyYW5jaCIs
ICJjamstaGVhdmVubHktc3RlbSIsICJjamstaWRlb2dyYXBoaWMiLAorICAgICJjbGVhciIsICJj
bGlwIiwgImNsb3NlLXF1b3RlIiwgImNvbC1yZXNpemUiLCAiY29sbGFwc2UiLCAiY29tcGFjdCIs
ICJjb25kZW5zZWQiLCAiY29udGFpbiIsICJjb250ZW50IiwgImNvbnRlbnQtYm94IiwgImNvbnRl
eHQtbWVudSIsCisgICAgImNvbnRpbnVvdXMiLCAiY29weSIsICJjb3ZlciIsICJjcm9wIiwgImNy
b3NzIiwgImNyb3NzaGFpciIsICJjdXJyZW50Y29sb3IiLCAiY3Vyc2l2ZSIsICJkYXNoZWQiLCAi
ZGVjaW1hbCIsICJkZWNpbWFsLWxlYWRpbmctemVybyIsICJkZWZhdWx0IiwKKyAgICAiZGVmYXVs
dC1idXR0b24iLCAiZGVzdGluYXRpb24tYXRvcCIsICJkZXN0aW5hdGlvbi1pbiIsICJkZXN0aW5h
dGlvbi1vdXQiLCAiZGVzdGluYXRpb24tb3ZlciIsICJkZXZhbmFnYXJpIiwgImRpc2MiLCAiZGlz
Y2FyZCIsICJkb2N1bWVudCIsCisgICAgImRvdC1kYXNoIiwgImRvdC1kb3QtZGFzaCIsICJkb3R0
ZWQiLCAiZG91YmxlIiwgImRvd24iLCAiZS1yZXNpemUiLCAiZWFzZSIsICJlYXNlLWluIiwgImVh
c2UtaW4tb3V0IiwgImVhc2Utb3V0IiwgImVsZW1lbnQiLAorICAgICJlbGxpcHNpcyIsICJlbWJl
ZCIsICJlbmQiLCAiZXRoaW9waWMiLCAiZXRoaW9waWMtYWJlZ2VkZSIsICJldGhpb3BpYy1hYmVn
ZWRlLWFtLWV0IiwgImV0aGlvcGljLWFiZWdlZGUtZ2V6IiwKKyAgICAiZXRoaW9waWMtYWJlZ2Vk
ZS10aS1lciIsICJldGhpb3BpYy1hYmVnZWRlLXRpLWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLWFh
LWVyIiwgImV0aGlvcGljLWhhbGVoYW1lLWFhLWV0IiwKKyAgICAiZXRoaW9waWMtaGFsZWhhbWUt
YW0tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtZ2V6IiwgImV0aGlvcGljLWhhbGVoYW1lLW9tLWV0
IiwgImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCIsCisgICAgImV0aGlvcGljLWhhbGVoYW1lLXNv
LWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLXRpLWVyIiwgImV0aGlvcGljLWhhbGVoYW1lLXRpLWV0
IiwgImV0aGlvcGljLWhhbGVoYW1lLXRpZyIsICJldy1yZXNpemUiLCAiZXhwYW5kZWQiLAorICAg
ICJleHRyYS1jb25kZW5zZWQiLCAiZXh0cmEtZXhwYW5kZWQiLCAiZmFudGFzeSIsICJmYXN0Iiwg
ImZpbGwiLCAiZml4ZWQiLCAiZmxhdCIsICJmb290bm90ZXMiLCAiZm9yd2FyZHMiLCAiZnJvbSIs
ICJnZW9tZXRyaWNQcmVjaXNpb24iLAorICAgICJnZW9yZ2lhbiIsICJncmF5dGV4dCIsICJncm9v
dmUiLCAiZ3VqYXJhdGkiLCAiZ3VybXVraGkiLCAiaGFuZCIsICJoYW5ndWwiLCAiaGFuZ3VsLWNv
bnNvbmFudCIsICJoZWJyZXciLCAiaGVscCIsCisgICAgImhpZGRlbiIsICJoaWRlIiwgImhpZ2hl
ciIsICJoaWdobGlnaHQiLCAiaGlnaGxpZ2h0dGV4dCIsICJoaXJhZ2FuYSIsICJoaXJhZ2FuYS1p
cm9oYSIsICJob3Jpem9udGFsIiwgImhzbCIsICJoc2xhIiwgImljb24iLCAiaWdub3JlIiwKKyAg
ICAiaW5hY3RpdmVib3JkZXIiLCAiaW5hY3RpdmVjYXB0aW9uIiwgImluYWN0aXZlY2FwdGlvbnRl
eHQiLCAiaW5maW5pdGUiLCAiaW5mb2JhY2tncm91bmQiLCAiaW5mb3RleHQiLCAiaW5oZXJpdCIs
ICJpbml0aWFsIiwgImlubGluZSIsCisgICAgImlubGluZS1heGlzIiwgImlubGluZS1ibG9jayIs
ICJpbmxpbmUtdGFibGUiLCAiaW5zZXQiLCAiaW5zaWRlIiwgImludHJpbnNpYyIsICJpbnZlcnQi
LCAiaXRhbGljIiwgImp1c3RpZnkiLCAia2FubmFkYSIsICJrYXRha2FuYSIsCisgICAgImthdGFr
YW5hLWlyb2hhIiwgImtobWVyIiwgImxhbmRzY2FwZSIsICJsYW8iLCAibGFyZ2UiLCAibGFyZ2Vy
IiwgImxlZnQiLCAibGV2ZWwiLCAibGlnaHRlciIsICJsaW5lLXRocm91Z2giLCAibGluZWFyIiwg
ImxpbmVzIiwKKyAgICAibGlzdC1pdGVtIiwgImxpc3Rib3giLCAibGlzdGl0ZW0iLCAibG9jYWwi
LCAibG9naWNhbCIsICJsb3VkIiwgImxvd2VyIiwgImxvd2VyLWFscGhhIiwgImxvd2VyLWFybWVu
aWFuIiwgImxvd2VyLWdyZWVrIiwKKyAgICAibG93ZXItaGV4YWRlY2ltYWwiLCAibG93ZXItbGF0
aW4iLCAibG93ZXItbm9yd2VnaWFuIiwgImxvd2VyLXJvbWFuIiwgImxvd2VyY2FzZSIsICJsdHIi
LCAibWFsYXlhbGFtIiwgIm1hdGNoIiwgIm1lZGlhLWNvbnRyb2xzLWJhY2tncm91bmQiLAorICAg
ICJtZWRpYS1jdXJyZW50LXRpbWUtZGlzcGxheSIsICJtZWRpYS1mdWxsc2NyZWVuLWJ1dHRvbiIs
ICJtZWRpYS1tdXRlLWJ1dHRvbiIsICJtZWRpYS1wbGF5LWJ1dHRvbiIsICJtZWRpYS1yZXR1cm4t
dG8tcmVhbHRpbWUtYnV0dG9uIiwKKyAgICAibWVkaWEtcmV3aW5kLWJ1dHRvbiIsICJtZWRpYS1z
ZWVrLWJhY2stYnV0dG9uIiwgIm1lZGlhLXNlZWstZm9yd2FyZC1idXR0b24iLCAibWVkaWEtc2xp
ZGVyIiwgIm1lZGlhLXNsaWRlcnRodW1iIiwgIm1lZGlhLXRpbWUtcmVtYWluaW5nLWRpc3BsYXki
LAorICAgICJtZWRpYS12b2x1bWUtc2xpZGVyIiwgIm1lZGlhLXZvbHVtZS1zbGlkZXItY29udGFp
bmVyIiwgIm1lZGlhLXZvbHVtZS1zbGlkZXJ0aHVtYiIsICJtZWRpdW0iLCAibWVudSIsICJtZW51
bGlzdCIsICJtZW51bGlzdC1idXR0b24iLAorICAgICJtZW51bGlzdC10ZXh0IiwgIm1lbnVsaXN0
LXRleHRmaWVsZCIsICJtZW51dGV4dCIsICJtZXNzYWdlLWJveCIsICJtaWRkbGUiLCAibWluLWlu
dHJpbnNpYyIsICJtaXgiLCAibW9uZ29saWFuIiwgIm1vbm9zcGFjZSIsICJtb3ZlIiwgIm11bHRp
cGxlIiwKKyAgICAibXlhbm1hciIsICJuLXJlc2l6ZSIsICJuYXJyb3dlciIsICJuYXZ5IiwgIm5l
LXJlc2l6ZSIsICJuZXN3LXJlc2l6ZSIsICJuby1jbG9zZS1xdW90ZSIsICJuby1kcm9wIiwgIm5v
LW9wZW4tcXVvdGUiLCAibm8tcmVwZWF0IiwgIm5vbmUiLAorICAgICJub3JtYWwiLCAibm90LWFs
bG93ZWQiLCAibm93cmFwIiwgIm5zLXJlc2l6ZSIsICJudy1yZXNpemUiLCAibndzZS1yZXNpemUi
LCAib2JsaXF1ZSIsICJvY3RhbCIsICJvcGVuLXF1b3RlIiwgIm9wdGltaXplTGVnaWJpbGl0eSIs
CisgICAgIm9wdGltaXplU3BlZWQiLCAib3JpeWEiLCAib3JvbW8iLCAib3V0c2V0IiwgIm91dHNp
ZGUiLCAib3ZlcmxheSIsICJvdmVybGluZSIsICJwYWRkaW5nIiwgInBhZGRpbmctYm94IiwgInBh
aW50ZWQiLCAicGF1c2VkIiwKKyAgICAicGVyc2lhbiIsICJwbHVzLWRhcmtlciIsICJwbHVzLWxp
Z2h0ZXIiLCAicG9pbnRlciIsICJwb3J0cmFpdCIsICJwcmUiLCAicHJlLWxpbmUiLCAicHJlLXdy
YXAiLCAicHJlc2VydmUtM2QiLCAicHJvZ3Jlc3MiLAorICAgICJwdXNoLWJ1dHRvbiIsICJyYWRp
byIsICJyZWFkLW9ubHkiLCAicmVhZC13cml0ZSIsICJyZWFkLXdyaXRlLXBsYWludGV4dC1vbmx5
IiwgInJlbGF0aXZlIiwgInJlcGVhdCIsICJyZXBlYXQteCIsCisgICAgInJlcGVhdC15IiwgInJl
c2V0IiwgInJldmVyc2UiLCAicmdiIiwgInJnYmEiLCAicmlkZ2UiLCAicmlnaHQiLCAicm91bmQi
LCAicm93LXJlc2l6ZSIsICJydGwiLCAicnVuLWluIiwgInJ1bm5pbmciLCAicy1yZXNpemUiLCAi
c2Fucy1zZXJpZiIsCisgICAgInNjcm9sbCIsICJzY3JvbGxiYXIiLCAic2UtcmVzaXplIiwgInNl
YXJjaGZpZWxkIiwgInNlYXJjaGZpZWxkLWNhbmNlbC1idXR0b24iLCAic2VhcmNoZmllbGQtZGVj
b3JhdGlvbiIsICJzZWFyY2hmaWVsZC1yZXN1bHRzLWJ1dHRvbiIsCisgICAgInNlYXJjaGZpZWxk
LXJlc3VsdHMtZGVjb3JhdGlvbiIsICJzZW1pLWNvbmRlbnNlZCIsICJzZW1pLWV4cGFuZGVkIiwg
InNlcGFyYXRlIiwgInNlcmlmIiwgInNob3ciLCAic2lkYW1hIiwgInNpbmdsZSIsCisgICAgInNr
aXAtd2hpdGUtc3BhY2UiLCAic2xpZGUiLCAic2xpZGVyLWhvcml6b250YWwiLCAic2xpZGVyLXZl
cnRpY2FsIiwgInNsaWRlcnRodW1iLWhvcml6b250YWwiLCAic2xpZGVydGh1bWItdmVydGljYWwi
LCAic2xvdyIsCisgICAgInNtYWxsIiwgInNtYWxsLWNhcHMiLCAic21hbGwtY2FwdGlvbiIsICJz
bWFsbGVyIiwgInNvbGlkIiwgInNvbWFsaSIsICJzb3VyY2UtYXRvcCIsICJzb3VyY2UtaW4iLCAi
c291cmNlLW91dCIsICJzb3VyY2Utb3ZlciIsCisgICAgInNwYWNlIiwgInNxdWFyZSIsICJzcXVh
cmUtYnV0dG9uIiwgInN0YXJ0IiwgInN0YXRpYyIsICJzdGF0dXMtYmFyIiwgInN0cmV0Y2giLCAi
c3Ryb2tlIiwgInN1YiIsICJzdWJwaXhlbC1hbnRpYWxpYXNlZCIsICJzdXBlciIsCisgICAgInN3
LXJlc2l6ZSIsICJ0YWJsZSIsICJ0YWJsZS1jYXB0aW9uIiwgInRhYmxlLWNlbGwiLCAidGFibGUt
Y29sdW1uIiwgInRhYmxlLWNvbHVtbi1ncm91cCIsICJ0YWJsZS1mb290ZXItZ3JvdXAiLCAidGFi
bGUtaGVhZGVyLWdyb3VwIiwKKyAgICAidGFibGUtcm93IiwgInRhYmxlLXJvdy1ncm91cCIsICJ0
ZWx1Z3UiLCAidGV4dCIsICJ0ZXh0LWJvdHRvbSIsICJ0ZXh0LXRvcCIsICJ0ZXh0YXJlYSIsICJ0
ZXh0ZmllbGQiLCAidGhhaSIsICJ0aGljayIsICJ0aGluIiwKKyAgICAidGhyZWVkZGFya3NoYWRv
dyIsICJ0aHJlZWRmYWNlIiwgInRocmVlZGhpZ2hsaWdodCIsICJ0aHJlZWRsaWdodHNoYWRvdyIs
ICJ0aHJlZWRzaGFkb3ciLCAidGliZXRhbiIsICJ0aWdyZSIsICJ0aWdyaW55YS1lciIsICJ0aWdy
aW55YS1lci1hYmVnZWRlIiwKKyAgICAidGlncmlueWEtZXQiLCAidGlncmlueWEtZXQtYWJlZ2Vk
ZSIsICJ0byIsICJ0b3AiLCAidHJhbnNwYXJlbnQiLCAidWx0cmEtY29uZGVuc2VkIiwgInVsdHJh
LWV4cGFuZGVkIiwgInVuZGVybGluZSIsICJ1cCIsICJ1cHBlci1hbHBoYSIsICJ1cHBlci1hcm1l
bmlhbiIsCisgICAgInVwcGVyLWdyZWVrIiwgInVwcGVyLWhleGFkZWNpbWFsIiwgInVwcGVyLWxh
dGluIiwgInVwcGVyLW5vcndlZ2lhbiIsICJ1cHBlci1yb21hbiIsICJ1cHBlcmNhc2UiLCAidXJk
dSIsICJ1cmwiLCAidmVydGljYWwiLCAidmVydGljYWwtdGV4dCIsICJ2aXNpYmxlIiwKKyAgICAi
dmlzaWJsZUZpbGwiLCAidmlzaWJsZVBhaW50ZWQiLCAidmlzaWJsZVN0cm9rZSIsICJ2aXN1YWwi
LCAidy1yZXNpemUiLCAid2FpdCIsICJ3YXZlIiwgIndoaXRlIiwgIndpZGVyIiwgIndpbmRvdyIs
ICJ3aW5kb3dmcmFtZSIsICJ3aW5kb3d0ZXh0IiwKKyAgICAieC1sYXJnZSIsICJ4LXNtYWxsIiwg
InhvciIsICJ4eC1sYXJnZSIsICJ4eC1zbWFsbCIsICJ5ZWxsb3ciLCAiLXdhcC1tYXJxdWVlIiwg
Ii13ZWJraXQtYWN0aXZlbGluayIsICItd2Via2l0LWF1dG8iLCAiLXdlYmtpdC1iYXNlbGluZS1t
aWRkbGUiLAorICAgICItd2Via2l0LWJvZHkiLCAiLXdlYmtpdC1ib3giLCAiLXdlYmtpdC1jZW50
ZXIiLCAiLXdlYmtpdC1jb250cm9sIiwgIi13ZWJraXQtZm9jdXMtcmluZy1jb2xvciIsICItd2Vi
a2l0LWdyYWIiLCAiLXdlYmtpdC1ncmFiYmluZyIsCisgICAgIi13ZWJraXQtZ3JhZGllbnQiLCAi
LXdlYmtpdC1pbmxpbmUtYm94IiwgIi13ZWJraXQtbGVmdCIsICItd2Via2l0LWxpbmsiLCAiLXdl
YmtpdC1tYXJxdWVlIiwgIi13ZWJraXQtbWluaS1jb250cm9sIiwgIi13ZWJraXQtbm93cmFwIiwg
Ii13ZWJraXQtcGljdG9ncmFwaCIsCisgICAgIi13ZWJraXQtcmlnaHQiLCAiLXdlYmtpdC1zbWFs
bC1jb250cm9sIiwgIi13ZWJraXQtdGV4dCIsICItd2Via2l0LXh4eC1sYXJnZSIsICItd2Via2l0
LXpvb20taW4iLCAiLXdlYmtpdC16b29tLW91dCIsCitdLmtleVNldCgpOworCiBXZWJJbnNwZWN0
b3IuU291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlwZSA9IHsKICAgICBjcmVhdGVJbml0aWFsQ29u
ZGl0aW9uOiBmdW5jdGlvbigpCiAgICAgewpAQCAtMzQxLDQzICszNTIsNDQgQEAgY2FzZSAyNjoK
IC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCiBjYXNlIHRoaXMuY2Fz
ZV9JTklUSUFMOgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwotICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJzsnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1wnJykgeworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzonKSB7CisgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJyYnKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykg
ewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0g
Mjk7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEn
KSB7IGdvdG9DYXNlID0gMzE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDMzOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcjJykgeyBnb3RvQ2FzZSA9
IDM0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICck
JykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID49ICdcJycpIHsgZ290b0Nhc2UgPSAzNTsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJCcpIHsgZ290b0Nhc2UgPSAzNTsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnJicpIHsgZ290b0Nh
c2UgPSAzMTsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcsJykgeyBnb3RvQ2FzZSA9IDI5OyBj
b250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgeyBn
b3RvQ2FzZSA9IDM2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSAzNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICctJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeyBnb3Rv
Q2FzZSA9IDM2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID49ICctJykgeyBnb3RvQ2FzZSA9IDM3OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcvJykgeyBn
b3RvQ2FzZSA9IDM4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDM5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc6JykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MzsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicpIHsgZ290b0Nhc2UgPSAzODsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsg
Z290b0Nhc2UgPSAzOTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNDI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnXicpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJz8nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnPScpIHsgZ290
b0Nhc2UgPSAzMTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10n
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgeworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzsnKSB7IGdvdG9DYXNlID0gNDQ7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJz0nKSB7IGdvdG9DYXNlID0g
MzE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDI5OyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICddJykgeyBnb3RvQ2Fz
ZSA9IDMxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICc/JykgeyBnb3RvQ2FzZSA9IDI5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAzMTsgY29udGludWU7IH07CiAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAneicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoICE9ICdgJykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoID09ICdfJykgeyBnb3RvQ2FzZSA9IDMxOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdhJykgeyBnb3RvQ2FzZSA9IDMx
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd7JykgeyBnb3RvQ2FzZSA9IDQ1OyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd9JykgeyBnb3RvQ2FzZSA9
IDQ3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd7
JykgeyBnb3RvQ2FzZSA9IDQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoID09ICd9JykgeyBnb3RvQ2FzZSA9IDQ4OyBjb250aW51ZTsgfTsKICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTM4OCw3
OSArNDAwLDg5IEBAIGNhc2UgMzA6CiBjYXNlIDMxOgogICAgICAgICAgICAgKytjdXJzb3I7CiAg
ICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci0gICAgICAgICAgICB7IGdv
dG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBj
b250aW51ZTsgfTsKIGNhc2UgMzI6CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
IHZhciB0b2tlbiA9IHRoaXMuX2xpbmUuc3Vic3RyaW5nKGN1cnNvck9uRW50ZXIsIGN1cnNvcik7
Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24g
PT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAodG9rZW4gPT09ICJAbWVkaWEiKSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMu
dG9rZW5UeXBlID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlv
bi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUwgfHwgdGhp
cy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJP
UEVSVFkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbi5jaGFyQXQoMCkgPT09
ICJAIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNz
cy1hdC1ydWxlIjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24u
cGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW4uc3RhcnRzV2l0aCgiQCIpKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0
aW9uID0gdG9rZW4gPT09ICJAbWVkaWEiID8gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01FRElB
X1JVTEUgOiB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfUlVMRTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkID0gdG9rZW47CisgICAgICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9
PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUwpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9yIjsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGVsc2UgaWYgKHRoaXMuX3Byb3BlcnR5S2V5d29yZHMuaGFzT3duUHJvcGVydHkodG9r
ZW4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1w
cm9wZXJ0eSI7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fY29uZGl0aW9u
LnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRSB8
fCB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9u
cy5BVF9SVUxFKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLlNv
dXJjZUNTU1Rva2VuaXplci5BdFJlbGF0ZWRLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1
bGUiOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNv
bmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFOwotICAgICAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChXZWJJbnNw
ZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLk1lZGlhVHlwZXMuaGFzT3duUHJvcGVydHkodG9rZW4p
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1rZXl3
b3JkIjsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBpZiAodGhp
cy50b2tlblR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOworCisg
ICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9pc1Byb3BlcnR5VmFsdWUoKSkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgdmFyIGZpcnN0Q2hhciA9IHRva2VuLmNoYXJBdCgwKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChmaXJzdENoYXIgPT09ICIkIikKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJzY3NzLXZhcmlhYmxlIjsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZpcnN0Q2hhciA9PT0gIiEiKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1iYW5nLWtleXdvcmQiOworICAg
ICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLmF0S2V5d29yZCA9
PT0gIkBleHRlbmQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBl
ID0gImNzcy1zZWxlY3RvciI7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKHRoaXMu
X2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX01F
RElBX1JVTEUgfHwgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJz
ZUNvbmRpdGlvbnMuQVRfUlVMRSkgJiYgdG9rZW4gaW4gdGhpcy5fbWVkaWFUeXBlcykKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1rZXl3b3JkIjsKLSAgICAg
ICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09
PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgJiYgdG9rZW4gaW4gdGhpcy5fcHJvcGVy
dHlLZXl3b3JkcykKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNz
cy1wcm9wZXJ0eSI7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuX2lzUHJvcGVy
dHlWYWx1ZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4gaW4gdGhpcy5f
dmFsdWVLZXl3b3JkcykKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKFdlYkluc3Bl
Y3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuVmFsdWVLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tl
bikgfHwgV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5TQ1NTVmFsdWVLZXl3b3Jkcy5o
YXNPd25Qcm9wZXJ0eSh0b2tlbikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50
b2tlblR5cGUgPSAiY3NzLWtleXdvcmQiOwotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBp
ZiAodG9rZW4gaW4gdGhpcy5fY29sb3JLZXl3b3JkcykgeworICAgICAgICAgICAgICAgICAgICAg
ICAgZWxzZSBpZiAodGhpcy5fY29sb3JLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyBkb2VzIG5vdCBjb252
ZXJ0IHRva2VucyB0b0xvd2VyQ2FzZSgpIGZvciB0aGUgc2FrZSBvZiBzcGVlZC4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtY29sb3IiOwotICAgICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0b2tlbiA9PT0gIiFpbXBvcnRhbnQiKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1pbXBvcnRhbnQi
OwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHRo
aXMudG9rZW5UeXBlID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gIT09
IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWV9WQUxVRSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1zZWxlY3RvciI7CiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBjdXJzb3I7CiAgICAgICAgICAgICAgICAgfQogY2FzZSAzMzoKICAgICAgICAg
ICAgIHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJL
RVIgPSArK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA8PSAnLScpIHsKKyAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICcuJykgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICchJykg
ewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsK
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2Ug
PSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDEzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJCcpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDExNTsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIycpIHsgZ290
b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDEyNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdcJycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3Rv
Q2FzZSA9IDExNjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnJScpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXCcnKSB7
IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICcsJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoID09ICctJykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsg
fTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICc8JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJy4nKSB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICc9JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJzknKSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICc8JykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICc9JykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2UgPSAx
MzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1sn
KSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSAxMzQ7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J14nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7IGdvdG9D
YXNlID0gMTMwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICddJykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ18nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9
PSAnXicpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnYCcpIHsgZ290
b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDEz
MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTMy
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KQEAgLTQ2OCw4NCArNDkwLDEyMSBAQCBjYXNlIDM0OgogICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnQCcpIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsgZ290b0Nhc2UgPSAz
MDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9D
YXNlID0gMTIzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScp
IHsgZ290b0Nhc2UgPSAxMjc7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdGJykgeyBnb3RvQ2FzZSA9IDEyMzsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1onKSB7IGdvdG9DYXNlID0gMTI3OyBjb250aW51ZTsg
fTsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAzMDsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2YnKSB7IGdvdG9DYXNlID0g
MTIzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290
b0Nhc2UgPSAxMjc7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAz
MDsgY29udGludWU7IH07CiAgICAgICAgICAgICB9CiBjYXNlIDM1OgorICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcp
IHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyUnKSB7IGdvdG9DYXNlID0g
MzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI0OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnLScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICcsJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9D
YXNlID0gMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJzknKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICddJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
PycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgeyBnb3RvQ2Fz
ZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMjQ7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnXicpIHsgZ290b0Nhc2UgPSAzMDsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
Y2FzZSAzNjoKICAgICAgICAgICAgIHl5YWNjZXB0ID0gMDsKICAgICAgICAgICAgIHl5Y2ggPSB0
aGlzLl9jaGFyQXQoWVlNQVJLRVIgPSArK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA8
PSAnLScpIHsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgewogICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICciJykgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYn
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNl
ID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDExNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
MTE4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nh
c2UgPSAxMTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDExMzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnICcpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnJicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICckJykgeyBn
b3RvQ2FzZSA9IDExMzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ1wnJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyUnKSB7IGdv
dG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycp
IHsgZ290b0Nhc2UgPSAxMTU7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJywnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy0nKSB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnLicpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJzwnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9Owog
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJz0nKSB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc/JykgeyBnb3RvQ2FzZSA9
IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
WycpIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDEyMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsgZ290
b0Nhc2UgPSAxMTk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ10nKSB7IGdvdG9DYXNlID0gMTEzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
ID09ICdeJykgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gMTE0OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdgJykgeyBn
b3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0g
MTE0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAx
MTg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQotY2FzZSAzNjoKK2Nhc2UgMzc6CiAgICAgICAgICAgICB5eWFjY2Vw
dCA9IDA7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KFlZTUFSS0VSID0gKytjdXJz
b3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy4nKSB7IGdvdG9DYXNlID0gNjY7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy8nKSB7IGdvdG9DYXNlID0gNTA7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNTE7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsK
LWNhc2UgMzc6CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnLicpIHsgZ290b0Nhc2UgPSA2Nzsg
Y29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsgZ290b0Nhc2UgPSA1
MTsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2Ug
PSA1MjsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVl
OyB9OworY2FzZSAzODoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3Ip
OwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy8nKSB7IGdvdG9DYXNlID0gMzA7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gNzA7IGNv
bnRpbnVlOyB9OwogICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMwOyBjb250aW51ZTsgfTsKLWNh
c2UgMzg6CitjYXNlIDM5OgogICAgICAgICAgICAgeXlhY2NlcHQgPSAwOwogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9ICsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlm
ICh5eWNoID09ICcqJykgeyBnb3RvQ2FzZSA9IDEwNTsgY29udGludWU7IH07Ci0gICAgICAgICAg
ICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwotY2FzZSAzOToKKyAgICAgICAgICAgIGlm
ICh5eWNoID09ICcqJykgeyBnb3RvQ2FzZSA9IDEwNjsgY29udGludWU7IH07CisgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OworY2FzZSA0MDoKICAgICAgICAgICAgIHl5
YWNjZXB0ID0gMTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoWVlNQVJLRVIgPSAr
K2N1cnNvcik7CiAgICAgICAgICAgICBzd2l0Y2ggKHl5Y2gpIHsKICAgICAgICAgICAgIGNhc2Ug
JyEnOgogICAgICAgICAgICAgY2FzZSAnIic6Ci0gICAgICAgICAgICBjYXNlICckJzoKKyAgICAg
ICAgICAgIGNhc2UgJyYnOgogICAgICAgICAgICAgY2FzZSAnXCcnOgogICAgICAgICAgICAgY2Fz
ZSAnLSc6CiAgICAgICAgICAgICBjYXNlICcvJzoKQEAgLTU5Miw5ICs2NTEsOSBAQCBjYXNlIDM5
OgogICAgICAgICAgICAgY2FzZSAndyc6CiAgICAgICAgICAgICBjYXNlICd4JzoKICAgICAgICAg
ICAgIGNhc2UgJ3knOgotICAgICAgICAgICAgY2FzZSAneic6ICAgIHsgZ290b0Nhc2UgPSA0OTsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICclJzogICAgeyBnb3RvQ2FzZSA9IDY4OyBj
b250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJy4nOiAgICB7IGdvdG9DYXNlID0gNjY7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAneic6ICAgIHsgZ290b0Nhc2UgPSA1MDsgY29u
dGludWU7IH07CisgICAgICAgICAgICBjYXNlICclJzogICAgeyBnb3RvQ2FzZSA9IDY5OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJy4nOiAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgY2FzZSAnMCc6CiAgICAgICAgICAgICBjYXNlICcxJzoKICAg
ICAgICAgICAgIGNhc2UgJzInOgpAQCAtNjA0LDIzICs2NjMsMjMgQEAgY2FzZSAzOToKICAgICAg
ICAgICAgIGNhc2UgJzYnOgogICAgICAgICAgICAgY2FzZSAnNyc6CiAgICAgICAgICAgICBjYXNl
ICc4JzoKLSAgICAgICAgICAgIGNhc2UgJzknOiAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgY2FzZSAnSCc6ICAgIHsgZ290b0Nhc2UgPSA1MzsgY29udGludWU7
IH07Ci0gICAgICAgICAgICBjYXNlICdfJzogICAgeyBnb3RvQ2FzZSA9IDU0OyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgIGNhc2UgJ2MnOiAgICB7IGdvdG9DYXNlID0gNTU7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgY2FzZSAnZCc6ICAgIHsgZ290b0Nhc2UgPSA1NjsgY29udGludWU7IH07
Ci0gICAgICAgICAgICBjYXNlICdlJzogICAgeyBnb3RvQ2FzZSA9IDU3OyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgIGNhc2UgJ2cnOiAgICB7IGdvdG9DYXNlID0gNTg7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgY2FzZSAnaSc6ICAgIHsgZ290b0Nhc2UgPSA1OTsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICBjYXNlICdrJzogICAgeyBnb3RvQ2FzZSA9IDYwOyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgIGNhc2UgJ20nOiAgICB7IGdvdG9DYXNlID0gNjE7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgY2FzZSAncCc6ICAgIHsgZ290b0Nhc2UgPSA2MjsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICBjYXNlICdyJzogICAgeyBnb3RvQ2FzZSA9IDYzOyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgIGNhc2UgJ3MnOiAgICB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgY2FzZSAndCc6ICAgIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07Ci0gICAgICAg
ICAgICBkZWZhdWx0OiAgICB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgY2FzZSAnOSc6ICAgIHsgZ290b0Nhc2UgPSA1MjsgY29udGludWU7IH07CisgICAgICAgICAg
ICBjYXNlICdIJzogICAgeyBnb3RvQ2FzZSA9IDU0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IGNhc2UgJ18nOiAgICB7IGdvdG9DYXNlID0gNTU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
Y2FzZSAnYyc6ICAgIHsgZ290b0Nhc2UgPSA1NjsgY29udGludWU7IH07CisgICAgICAgICAgICBj
YXNlICdkJzogICAgeyBnb3RvQ2FzZSA9IDU3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNh
c2UgJ2UnOiAgICB7IGdvdG9DYXNlID0gNTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2Fz
ZSAnZyc6ICAgIHsgZ290b0Nhc2UgPSA1OTsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNl
ICdpJzogICAgeyBnb3RvQ2FzZSA9IDYwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2Ug
J2snOiAgICB7IGdvdG9DYXNlID0gNjE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAn
bSc6ICAgIHsgZ290b0Nhc2UgPSA2MjsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdw
JzogICAgeyBnb3RvQ2FzZSA9IDYzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ3In
OiAgICB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAncyc6
ICAgIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICd0Jzog
ICAgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGRlZmF1bHQ6ICAg
IHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CiAgICAgICAgICAgICB9Ci1jYXNlIDQwOgor
Y2FzZSA0MToKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lz
UHJvcGVydHlWYWx1ZSgpKQogICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUg
PSAiY3NzLW51bWJlciI7CkBAIC02MjgsOTIgKzY4Nyw5MSBAQCBjYXNlIDQwOgogICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxsOwogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KLWNhc2UgNDE6CitjYXNlIDQyOgog
ICAgICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
IHRoaXMudG9rZW5UeXBlID0gbnVsbDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2Nv
bmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZ
KQorICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9u
ID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgfHwgdGhpcy5fY29uZGl0aW9uLnBh
cnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkKICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3Bh
cnNlQ29uZGl0aW9ucy5QUk9QRVJUWV9WQUxVRTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGN1cnNvcjsKICAgICAgICAgICAgICAgICB9Ci1jYXNlIDQzOgorY2FzZSA0NDoKICAgICAgICAg
ICAgICsrY3Vyc29yOwogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICB0aGlzLnRv
a2VuVHlwZSA9IG51bGw7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24u
cGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9SVUxFKQotICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5f
cGFyc2VDb25kaXRpb25zLklOSVRJQUw7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMu
X3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29u
ZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fY29uZGl0aW9uLm9wZW5CcmFjZXMgPyB0aGlz
Ll9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgOiB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElB
TDsKKyAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2NvbmRpdGlvbi5hdEtleXdvcmQ7
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CiAgICAgICAgICAgICAgICAgfQot
Y2FzZSA0NToKK2Nhc2UgNDY6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiYmxvY2stc3RhcnQiOworICAg
ICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyA9ICh0aGlzLl9jb25k
aXRpb24ub3BlbkJyYWNlcyB8fCAwKSArIDE7CiAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlz
Ll9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9N
RURJQV9SVUxFKQogICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNl
Q29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUw7CiAgICAgICAgICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJz
ZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWTsKICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9Ci1jYXNlIDQ3OgorY2Fz
ZSA0ODoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJibG9jay1lbmQiOwotICAgICAgICAgICAgICAgICAg
ICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMu
SU5JVElBTDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJh
Y2VzID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIC0tdGhpcy5fY29uZGl0aW9uLm9wZW5C
cmFjZXM7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlv
biA9IHRoaXMuX2NvbmRpdGlvbi5vcGVuQnJhY2VzID8gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBS
T1BFUlRZIDogdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUw7CisgICAgICAgICAgICAgICAg
ICAgIGRlbGV0ZSB0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkOwogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gY3Vyc29yOwogICAgICAgICAgICAgICAgIH0KLWNhc2UgNDk6CitjYXNlIDUwOgog
ICAgICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1
cnNvcik7Ci1jYXNlIDUwOgotICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzknKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICciJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdv
dG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICckJykgeyBnb3RvQ2FzZSA9IDQ5OyBj
b250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMjsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIH0KK2Nhc2UgNTE6CisgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnPCcpIHsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcgJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNl
ID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJScp
IHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJywnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXCcnKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJy0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnLCcpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy4n
KSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07
CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJz0nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnPCcpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7
IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ1snKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICddJykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
PycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc9JykgeyBnb3RvQ2Fz
ZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSAzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51
ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ14nKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGlu
dWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnYCcpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSA0OTsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290
b0Nhc2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9D
YXNlID0gMzI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQotY2FzZSA1MToKK2Nhc2UgNTI6CiAgICAgICAgICAgICB5
eWFjY2VwdCA9IDE7CiAgICAgICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOwogICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgc3dpdGNoICh5eWNo
KSB7CiAgICAgICAgICAgICBjYXNlICchJzoKICAgICAgICAgICAgIGNhc2UgJyInOgotICAgICAg
ICAgICAgY2FzZSAnJCc6CisgICAgICAgICAgICBjYXNlICcmJzoKICAgICAgICAgICAgIGNhc2Ug
J1wnJzoKICAgICAgICAgICAgIGNhc2UgJy0nOgogICAgICAgICAgICAgY2FzZSAnLyc6CkBAIC03
NjAsOSArODE4LDkgQEAgY2FzZSA1MToKICAgICAgICAgICAgIGNhc2UgJ3cnOgogICAgICAgICAg
ICAgY2FzZSAneCc6CiAgICAgICAgICAgICBjYXNlICd5JzoKLSAgICAgICAgICAgIGNhc2UgJ3on
OiAgICB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnJSc6
ICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICcuJzog
ICAgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ3onOiAg
ICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnJSc6ICAg
IHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICcuJzogICAg
eyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIGNhc2UgJzAnOgogICAg
ICAgICAgICAgY2FzZSAnMSc6CiAgICAgICAgICAgICBjYXNlICcyJzoKQEAgLTc3Miw1ODQgKzgz
MCw2MTcgQEAgY2FzZSA1MToKICAgICAgICAgICAgIGNhc2UgJzYnOgogICAgICAgICAgICAgY2Fz
ZSAnNyc6CiAgICAgICAgICAgICBjYXNlICc4JzoKLSAgICAgICAgICAgIGNhc2UgJzknOiAgICB7
IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnSCc6ICAgIHsg
Z290b0Nhc2UgPSA1MzsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdfJzogICAgeyBn
b3RvQ2FzZSA9IDU0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ2MnOiAgICB7IGdv
dG9DYXNlID0gNTU7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnZCc6ICAgIHsgZ290
b0Nhc2UgPSA1NjsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdlJzogICAgeyBnb3Rv
Q2FzZSA9IDU3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ2cnOiAgICB7IGdvdG9D
YXNlID0gNTg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAnaSc6ICAgIHsgZ290b0Nh
c2UgPSA1OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdrJzogICAgeyBnb3RvQ2Fz
ZSA9IDYwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ20nOiAgICB7IGdvdG9DYXNl
ID0gNjE7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAncCc6ICAgIHsgZ290b0Nhc2Ug
PSA2MjsgY29udGludWU7IH07Ci0gICAgICAgICAgICBjYXNlICdyJzogICAgeyBnb3RvQ2FzZSA9
IDYzOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGNhc2UgJ3MnOiAgICB7IGdvdG9DYXNlID0g
NjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgY2FzZSAndCc6ICAgIHsgZ290b0Nhc2UgPSA2
NTsgY29udGludWU7IH07Ci0gICAgICAgICAgICBkZWZhdWx0OiAgICB7IGdvdG9DYXNlID0gNDA7
IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnOSc6ICAgIHsgZ290b0Nhc2UgPSA1Mjsg
Y29udGludWU7IH07CisgICAgICAgICAgICBjYXNlICdIJzogICAgeyBnb3RvQ2FzZSA9IDU0OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ18nOiAgICB7IGdvdG9DYXNlID0gNTU7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgY2FzZSAnYyc6ICAgIHsgZ290b0Nhc2UgPSA1NjsgY29u
dGludWU7IH07CisgICAgICAgICAgICBjYXNlICdkJzogICAgeyBnb3RvQ2FzZSA9IDU3OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ2UnOiAgICB7IGdvdG9DYXNlID0gNTg7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgY2FzZSAnZyc6ICAgIHsgZ290b0Nhc2UgPSA1OTsgY29udGlu
dWU7IH07CisgICAgICAgICAgICBjYXNlICdpJzogICAgeyBnb3RvQ2FzZSA9IDYwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIGNhc2UgJ2snOiAgICB7IGdvdG9DYXNlID0gNjE7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgY2FzZSAnbSc6ICAgIHsgZ290b0Nhc2UgPSA2MjsgY29udGludWU7
IH07CisgICAgICAgICAgICBjYXNlICdwJzogICAgeyBnb3RvQ2FzZSA9IDYzOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIGNhc2UgJ3InOiAgICB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgY2FzZSAncyc6ICAgIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07
CisgICAgICAgICAgICBjYXNlICd0JzogICAgeyBnb3RvQ2FzZSA9IDY2OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGRlZmF1bHQ6ICAgIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CiAg
ICAgICAgICAgICB9Ci1jYXNlIDUzOgotICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgr
K2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAneicpIHsgZ290b0Nhc2UgPSA2NDsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9Owog
Y2FzZSA1NDoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJ18nKSB7IGdvdG9DYXNlID0gMTAyOyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICBp
ZiAoeXljaCA9PSAneicpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07CisgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA1NToKICAgICAgICAgICAgIHl5
Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20n
KSB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdfJykgeyBnb3RvQ2Fz
ZSA9IDEwMzsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRp
bnVlOyB9OwogY2FzZSA1NjoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJz
b3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2UnKSB7IGdvdG9DYXNlID0gMTAxOyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAg
ICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA1NzoKICAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ3gnKSB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdl
JykgeyBnb3RvQ2FzZSA9IDEwMjsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA1ODoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9j
aGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3InKSB7IGdvdG9DYXNl
ID0gOTk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICd4JykgeyBnb3RvQ2FzZSA9IDY1OyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBj
YXNlIDU5OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAg
ICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ3InKSB7IGdvdG9DYXNlID0gMTAwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNlIDYwOgogICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnSCcp
IHsgZ290b0Nhc2UgPSA5ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0g
NTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNl
ID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51
ZTsgfTsKIGNhc2UgNjE6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29y
KTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdzJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAg
ICAgICAgICBpZiAoeXljaCA9PSAnSCcpIHsgZ290b0Nhc2UgPSA5OTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA2MjoKICAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ3MnKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2UgNjM6CisgICAgICAgICAgICB5eWNo
ID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdzJykg
ewotICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdjJykgeyBnb3RvQ2FzZSA9IDY0OyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdjJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsgZ290
b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3gn
KSB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3QnKSB7
IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoID09
ICd4JykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB7IGdv
dG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgfQotY2FzZSA2MzoKLSAgICAg
ICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ2EnKSB7IGdvdG9DYXNlID0gOTY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ2UnKSB7IGdvdG9DYXNlID0gOTc7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKIGNhc2UgNjQ6CiAgICAgICAgICAgICB5eWNo
ID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5Jykg
ewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnIicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICcgJykgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnJCcpIHsgZ290b0Nh
c2UgPSA0OTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gNDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBp
ZiAoeXljaCA9PSAnYScpIHsgZ290b0Nhc2UgPSA5NzsgY29udGludWU7IH07CisgICAgICAgICAg
ICBpZiAoeXljaCA9PSAnZScpIHsgZ290b0Nhc2UgPSA5ODsgY29udGludWU7IH07CisgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OworY2FzZSA2NToKKyAgICAgICAgICAg
IHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOworICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
JzwnKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyUnKSB7IGdvdG9DYXNl
ID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICcsJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ1wnJykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
JywnKSB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICcuJykgeyBnb3RvQ2Fz
ZSA9IDQwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSA0OTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
LicpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXFwnKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICc9JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJzwn
KSB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXScpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsgZ290b0Nhc2UgPSA1MDsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1snKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290b0Nh
c2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXicpIHsgZ290b0Nhc2UgPSA0MDsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDk7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ14nKSB7IGdvdG9D
YXNlID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDQwOyBjb250
aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3Rv
Q2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSA0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnYCcpIHsgZ290b0Nhc2UgPSA0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDE7IGNvbnRpbnVlOyB9OwogICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotY2FzZSA2
NToKLSAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAg
ICAgaWYgKHl5Y2ggPT0gJ3UnKSB7IGdvdG9DYXNlID0gOTQ7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKIGNhc2UgNjY6CiAgICAgICAgICAg
ICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoIDw9
ICcvJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIGlmICh5eWNo
IDw9ICc5JykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5
eWNoID09ICd1JykgeyBnb3RvQ2FzZSA9IDk1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNlIDY3OgorICAgICAgICAgICAgeXljaCA9
IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnLycpIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScp
IHsgZ290b0Nhc2UgPSA3MDsgY29udGludWU7IH07CitjYXNlIDY4OgogICAgICAgICAgICAgY3Vy
c29yID0gWVlNQVJLRVI7CiAgICAgICAgICAgICBpZiAoeXlhY2NlcHQgPD0gMCkgewogICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0K
LWNhc2UgNjg6Ci0gICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07CiBjYXNlIDY5OgorICAgICAg
ICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7CisgICAgICAgICAgICB7IGdvdG9D
YXNlID0gNDE7IGNvbnRpbnVlOyB9OworY2FzZSA3MDoKICAgICAgICAgICAgIHl5YWNjZXB0ID0g
MTsKICAgICAgICAgICAgIFlZTUFSS0VSID0gKytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0g
dGhpcy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZicpIHsKICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnSCcpIHsKICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJy8nKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnJScp
IHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJyUnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5Jykg
eyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdHJykgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA4MTsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSA3MDsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnRycpIHsgZ290b0Nhc2UgPSA0
MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gODI7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2InKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXycpIHsgZ290b0Nhc2UgPSA3MzsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ18nKSB7IGdvdG9DYXNlID0g
NzQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQx
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdjJykgeyBnb3RvQ2FzZSA9IDc1OyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdkJykgeyBnb3RvQ2FzZSA9
IDc4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdm
JykgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdjJykgeyBnb3RvQ2FzZSA9IDc2OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdkJykgeyBnb3RvQ2FzZSA9IDc5OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdmJykgeyBnb3RvQ2Fz
ZSA9IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J20nKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdpJykgewotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2cnKSB7IGdvdG9DYXNlID0gNzk7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2gnKSB7IGdvdG9DYXNl
ID0gNDA7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDc3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdn
JykgeyBnb3RvQ2FzZSA9IDgwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdoJykgeyBnb3RvQ2FzZSA9IDQxOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA3ODsgY29udGludWU7IH07CiAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAn
aycpIHsgZ290b0Nhc2UgPSA4MjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnbCcpIHsgZ290b0Nhc2UgPSA0MDsgY29udGludWU7IH07Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNzY7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2snKSB7IGdvdG9DYXNlID0gODM7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2wnKSB7IGdvdG9DYXNl
ID0gNDE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDc3OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdxJykgewotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3AnKSB7IGdvdG9DYXNlID0gNzQ7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDQwOyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdwJykgeyBnb3RvQ2Fz
ZSA9IDc1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSA0MTsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncicpIHsgZ290b0Nhc2UgPSA3MjsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncycpIHsgZ290b0Nh
c2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAndCcpIHsgZ290b0Nhc2UgPSA4MDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gNDA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ3InKSB7IGdvdG9DYXNlID0gNzM7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3MnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3QnKSB7IGdvdG9D
YXNlID0gODE7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2Fz
ZSA9IDQxOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytj
dXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjg7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3gnKSB7IGdvdG9DYXNlID0gNjg7
IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsK
LWNhc2UgNzI6Ci0gICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAg
ICAgICAgICAgIGlmICh5eWNoID09ICdhJykgeyBnb3RvQ2FzZSA9IDkyOyBjb250aW51ZTsgfTsK
LSAgICAgICAgICAgIGlmICh5eWNoID09ICdlJykgeyBnb3RvQ2FzZSA9IDkzOyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAg
ICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAgICAg
ICAgICBpZiAoeXljaCA9PSAneCcpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogY2FzZSA3MzoKICAgICAgICAg
ICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ18nKSB7IGdvdG9DYXNlID0gODk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdhJykgeyBn
b3RvQ2FzZSA9IDkzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdlJykg
eyBnb3RvQ2FzZSA9IDk0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2
ODsgY29udGludWU7IH07CiBjYXNlIDc0OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJB
dCgrK2N1cnNvcik7CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnXycpIHsgZ290b0Nhc2UgPSA5
MDsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9
OworY2FzZSA3NToKKyAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwog
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ3MnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ2MnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0g
J2MnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICd0JykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAg
ICAgICAgICAgICAgICBpZiAoeXljaCA9PSAneCcpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7
IH07Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3gnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAg
ICAgICAgICAgICB9Ci1jYXNlIDc1OgotICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgr
K2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2ODsg
Y29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9Owog
Y2FzZSA3NjoKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAg
ICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9Owot
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
IGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiBjYXNlIDc3OgogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAn
bicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNl
ID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ20nKSB7IGdvdG9D
YXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdv
dG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBj
b250aW51ZTsgfTsKIGNhc2UgNzg6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsr
Y3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdlJykgeyBnb3RvQ2FzZSA9IDg4OyBj
b250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Cisg
ICAgICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07
CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogY2FzZSA3OToKICAg
ICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYg
KHl5Y2ggPT0gJ3InKSB7IGdvdG9DYXNlID0gODY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdl
JykgeyBnb3RvQ2FzZSA9IDg5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2Ug
PSA2ODsgY29udGludWU7IH07CiBjYXNlIDgwOgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2No
YXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAndScpIHsgZ290b0Nhc2Ug
PSA4NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3InKSB7IGdvdG9DYXNlID0gODc7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKIGNhc2Ug
ODE6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAg
ICAgIGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKLSAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICBpZiAoeXlj
aCA9PSAndScpIHsgZ290b0Nhc2UgPSA4NTsgY29udGludWU7IH07CisgICAgICAgICAgICB7IGdv
dG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogY2FzZSA4MjoKICAgICAgICAgICAgIHl5Y2ggPSB0
aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ0gnKSB7IGdv
dG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3onKSB7
IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4
OyBjb250aW51ZTsgfTsKK2Nhc2UgODM6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0
KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9IDY4
OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07
Ci1jYXNlIDg0OgorICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ0gnKSB7IGdvdG9DYXNlID0gNjg7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7
Ci0gICAgICAgICAgICBpZiAoeXljaCAhPSAncicpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7
IH07CisgICAgICAgICAgICBpZiAoeXljaCA9PSAneicpIHsgZ290b0Nhc2UgPSA2OTsgY29udGlu
dWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworY2FzZSA4
NToKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAg
ICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLWNhc2UgODY6CisgICAgICAgICAg
ICBpZiAoeXljaCAhPSAncicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAg
ICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNo
ICE9ICdhJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5
eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CitjYXNlIDg3OgogICAgICAgICAgICAgeXljaCA9
IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnZCcpIHsg
Z290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7
IGNvbnRpbnVlOyB9OwotY2FzZSA4ODoKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdhJykgeyBn
b3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFy
QXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2cnKSB7IGdvdG9DYXNlID0g
Njg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdkJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiBjYXNlIDg5
OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAg
ICBpZiAoeXljaCAhPSAncScpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAg
ICAgICBpZiAoeXljaCA9PSAnZycpIHsgZ290b0Nhc2UgPSA2OTsgY29udGludWU7IH07CisgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworY2FzZSA5MDoKICAgICAgICAg
ICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2gg
IT0gJ2UnKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5
Y2ggIT0gJ3EnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbScp
IHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0g
Njc7IGNvbnRpbnVlOyB9OwotY2FzZSA5MjoKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdlJykg
eyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9j
aGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2QnKSB7IGdvdG9DYXNl
ID0gNjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykgeyBnb3RvQ2FzZSA9IDY5OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiBjYXNl
IDkzOgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAg
ICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5
Y2ggPT0gJ2QnKSB7IGdvdG9DYXNlID0gNjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKIGNhc2UgOTQ6CiAgICAgICAgICAgICB5eWNoID0g
dGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBn
b3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykg
eyBnb3RvQ2FzZSA9IDY5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2
ODsgY29udGludWU7IH07CitjYXNlIDk1OgogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJB
dCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsgZ290b0Nhc2UgPSA2
NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9
OwotY2FzZSA5NjoKKyAgICAgICAgICAgIGlmICh5eWNoICE9ICdyJykgeyBnb3RvQ2FzZSA9IDUx
OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3Ip
OwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2QnKSB7IGdvdG9DYXNlID0gNjQ7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgIGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiBjYXNlIDk3OgogICAgICAgICAg
ICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9
PSAnbScpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9D
YXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ2QnKSB7IGdv
dG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDUxOyBj
b250aW51ZTsgfTsKIGNhc2UgOTg6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsr
Y3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICd6JykgeyBnb3RvQ2FzZSA9IDY0OyBj
b250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07Cisg
ICAgICAgICAgICBpZiAoeXljaCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2NTsgY29udGludWU7IH07
CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogY2FzZSA5OToKICAg
ICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAgaWYg
KHl5Y2ggIT0gJ2EnKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
aWYgKHl5Y2ggPT0gJ3onKSB7IGdvdG9DYXNlID0gNjU7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgeyBnb3RvQ2FzZSA9IDUxOyBjb250aW51ZTsgfTsKK2Nhc2UgMTAwOgogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXljaCA9PSAn
ZCcpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdvdG9DYXNl
ID0gNTA7IGNvbnRpbnVlOyB9OwotY2FzZSAxMDE6CisgICAgICAgICAgICBpZiAoeXljaCAhPSAn
YScpIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CiAgICAgICAgICAgICB5eWNoID0gdGhp
cy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIGlmICh5eWNoID09ICdnJykgeyBnb3Rv
Q2FzZSA9IDY0OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MDsgY29u
dGludWU7IH07CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnZCcpIHsgZ290b0Nhc2UgPSA2NTsg
Y29udGludWU7IH07CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9Owog
Y2FzZSAxMDI6CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAg
ICAgICAgICAgIGlmICh5eWNoICE9ICdxJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgIGlmICh5eWNoID09ICdnJykgeyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CitjYXNlIDEwMzoK
ICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoKytjdXJzb3IpOwotICAgICAgICAgICAg
aWYgKHl5Y2ggIT0gJ2UnKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgaWYgKHl5Y2ggIT0gJ3EnKSB7IGdvdG9DYXNlID0gNTE7IGNvbnRpbnVlOyB9OwogICAgICAg
ICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdCgrK2N1cnNvcik7Ci0gICAgICAgICAgICBpZiAoeXlj
aCA9PSAnbScpIHsgZ290b0Nhc2UgPSA2NDsgY29udGludWU7IH07Ci0gICAgICAgICAgICB7IGdv
dG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwotY2FzZSAxMDU6CisgICAgICAgICAgICBpZiAoeXlj
aCAhPSAnZScpIHsgZ290b0Nhc2UgPSA1MTsgY29udGludWU7IH07CisgICAgICAgICAgICB5eWNo
ID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoID09ICdtJykg
eyBnb3RvQ2FzZSA9IDY1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA1
MTsgY29udGludWU7IH07CitjYXNlIDEwNjoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAg
ICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ1xmJykgewotICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2Ug
PSAxMDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMDU7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2Ug
PSAxMTA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMDY7IGNv
bnRpbnVlOyB9OwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnXHInKSB7IGdvdG9DYXNlID0gMTA5OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICBpZiAoeXljaCAhPSAnKicpIHsgZ290b0Nhc2UgPSAxMDU7IGNvbnRpbnVlOyB9OworICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsgZ290b0Nhc2UgPSAxMTA7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICcqJykgeyBnb3RvQ2FzZSA9IDEwNjsgY29u
dGludWU7IH07CiAgICAgICAgICAgICB9Ci1jYXNlIDEwNzoKK2Nhc2UgMTA4OgogICAgICAgICAg
ICAgKytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci0g
ICAgICAgICAgICBpZiAoeXljaCA9PSAnKicpIHsgZ290b0Nhc2UgPSAxMDc7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy8nKSB7IGdvdG9DYXNlID0gMTExOyBjb250aW51
ZTsgfTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMDU7IGNvbnRpbnVlOyB9OwotY2FzZSAx
MDk6CisgICAgICAgICAgICBpZiAoeXljaCA9PSAnKicpIHsgZ290b0Nhc2UgPSAxMDg7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJy8nKSB7IGdvdG9DYXNlID0gMTEyOyBj
b250aW51ZTsgfTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMDY7IGNvbnRpbnVlOyB9Owor
Y2FzZSAxMTA6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHRoaXMuc2V0TGV4
Q29uZGl0aW9uKHRoaXMuX2xleENvbmRpdGlvbnMuQ09NTUVOVCk7CiAgICAgICAgICAgICB7IHRo
aXMudG9rZW5UeXBlID0gImNzcy1jb21tZW50IjsgcmV0dXJuIGN1cnNvcjsgfQotY2FzZSAxMTE6
CitjYXNlIDExMjoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeyB0aGlzLnRv
a2VuVHlwZSA9ICJjc3MtY29tbWVudCI7IHJldHVybiBjdXJzb3I7IH0KLWNhc2UgMTEzOgorY2Fz
ZSAxMTQ6CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAgICAgICAgICAgICBZWU1BUktFUiA9
ICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwotICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJy0nKSB7CisgICAgICAgICAgICBpZiAoeXljaCA8PSAnLicp
IHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsKICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ1xmJykgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDMyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHInKSB7IGdv
dG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9Owog
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA9PSAnJCcpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICclJykgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVl
OyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ1wnJykgeyBnb3RvQ2FzZSA9IDExNTsgY29udGludWU7IH07Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLCcpIHsgZ290b0Nhc2UgPSAxMTc7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExMzsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnLScpIHsgZ290
b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICdbJykgewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcuJykgeyBnb3RvQ2FzZSA9IDExNzsgY29u
dGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290
b0Nhc2UgPSAxMTM7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3Rv
Q2FzZSA9IDExNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xc
JykgeworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPCcpIHsgZ290b0Nhc2Ug
PSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDExNDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9D
YXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nh
c2UgPSAxMTM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJz8nKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdbJykgeyBnb3RvQ2FzZSA9IDExNDsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTIwOyBjb250aW51ZTsgfTsKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdeJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ1xcJykgeyBnb3RvQ2FzZSA9IDExOTsgY29udGludWU7IH07Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXScpIHsgZ290b0Nhc2UgPSAxMTM7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdfJykgeworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ14nKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9
OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPT0gJ2AnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDExMzsgY29udGlu
dWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2Fz
ZSA9IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAneicpIHsgZ290b0Nhc2UgPSAxMTQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci1jYXNlIDExNToKK2Nhc2UgMTE2
OgogICAgICAgICAgICAgKytjdXJzb3I7Ci0gICAgICAgICAgICBpZiAoKHl5Y2ggPSB0aGlzLl9j
aGFyQXQoY3Vyc29yKSkgPD0gJzknKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYn
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgewotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJyEnKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPT0gJyQnKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoKHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29y
KSkgPD0gJzwnKSB7CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgeworICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnICcpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVl
OyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSA1
MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICcmJykgeyBn
b3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnLCcpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICdcJycpIHsgZ290b0Nhc2UgPSA0OTsgY29udGludWU7IH07CisgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPj0gJy0nKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9OwogICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
IT0gJy4nKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJy4nKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDUwOyBj
b250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgewot
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoID49ICc9JykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXScpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJz8nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPScp
IHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnPycpIHsgZ290b0Nhc2Ug
PSAxMTY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1snKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDUwOyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdfJykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggIT0gJ14nKSB7IGdvdG9DYXNlID0gNDk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPj0gJ18nKSB7IGdvdG9DYXNlID0gNTA7IGNvbnRpbnVlOyB9Owog
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTE2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2FzZSA9IDQ5OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9
IDExNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
eicpIHsgZ290b0Nhc2UgPSA1MDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci1jYXNlIDExNjoKLSAgICAgICAgICAg
IHsgcmV0dXJuIHRoaXMuX3N0cmluZ1Rva2VuKGN1cnNvciwgdHJ1ZSk7IH0KIGNhc2UgMTE3Ogor
ICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29yLCB0cnVlKTsgfQor
Y2FzZSAxMTg6CiAgICAgICAgICAgICArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoY3Vyc29yKTsKICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdccicpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9
OwotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxMTc7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYnKSB7IGdvdG9DYXNlID0g
MTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXCcnKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2Fz
ZSA9IDExNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAx
MjI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsg
Z290b0Nhc2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB7IGdvdG9D
YXNlID0gMTIzOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCAhPSAnXFwnKSB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykgeyBnb3RvQ2FzZSA9
IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotY2Fz
ZSAxMTk6CitjYXNlIDEyMDoKICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAgeXlj
aCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2EnKSB7
CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7CiAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdcbicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICdcdCcpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnXHQnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAg
ICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggIT0gJ1xyJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoICE9ICdccicpIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07
CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRp
bnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDExNzsgY29udGlu
dWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nh
c2UgPSAxMTg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJyYnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXFwnKSB7IGdv
dG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA9PSAnXFwnKSB7IGdvdG9DYXNlID0gMTE4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdxJykgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnZicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdiJykgeyBnb3Rv
Q2FzZSA9IDExNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnZScpIHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB7IGdvdG9DYXNlID0gMTE3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICdiJykgeyBnb3RvQ2FzZSA9IDExODsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZScpIHsgZ290b0Nhc2UgPSA2ODsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTE4OyBj
b250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDExNzsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ24nKSB7IGdvdG9DYXNlID0gMTE4
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSA2ODsg
Y29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoID09ICdzJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVlOyB9
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3MnKSB7IGdvdG9DYXNlID0g
Njg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEx
ODsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoeXljaCA9PSAndicpIHsgZ290b0Nhc2UgPSAxMTc7IGNvbnRpbnVl
OyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd2JykgeyBnb3RvQ2FzZSA9
IDExODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0g
Njg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQogICAgICAgICAgICAgKytjdXJzb3I7CiAgICAgICAgICAgICB0aGlz
LnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25zLlNTVFJJTkcpOwogICAgICAgICAg
ICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29yKTsgfQotY2FzZSAxMjI6Ci0gICAg
ICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKLSAgICAgICAgICAgIHsgZ290
b0Nhc2UgPSAxMTY7IGNvbnRpbnVlOyB9OwogY2FzZSAxMjM6CisgICAgICAgICAgICB5eWNoID0g
dGhpcy5fY2hhckF0KCsrY3Vyc29yKTsKKyAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMTc7IGNv
bnRpbnVlOyB9OworY2FzZSAxMjQ6CisgICAgICAgICAgICArK2N1cnNvcjsKKyAgICAgICAgICAg
IHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKKyAgICAgICAgICAgIGlmICh5eWNoIDw9ICc8
JykgeworICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJyAnKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gMTI0OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJyYnKSB7IGdvdG9DYXNl
ID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoeXljaCA8PSAnLScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoID49ICctJykgeyBnb3RvQ2FzZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
LicpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJzknKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ10nKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICc/JykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
Jz0nKSB7IGdvdG9DYXNlID0gMTI0OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdcXCcpIHsgZ290
b0Nhc2UgPSAxMjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ18nKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXycpIHsgZ290b0Nhc2UgPSAx
MjQ7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51
ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICd6JykgeyBnb3RvQ2Fz
ZSA9IDEyNDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CitjYXNlIDEyNjoKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5f
Y29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uLklOSVRJQUwgfHwgdGhpcy5fY29uZGl0aW9uLnBhcnNl
Q29uZGl0aW9uID09PSB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24uQVRfUlVMRSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRo
aXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50
b2tlblR5cGUgPSAic2Nzcy12YXJpYWJsZSI7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBj
dXJzb3I7CisgICAgICAgICAgICAgICAgfQorY2FzZSAxMjc6CiAgICAgICAgICAgICArK2N1cnNv
cjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdAJykgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcvJykgeyBn
b3RvQ2FzZSA9IDEyNTsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
JzknKSB7IGdvdG9DYXNlID0gMTIzOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAo
eXljaCA8PSAnLycpIHsgZ290b0Nhc2UgPSAxMjk7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAg
ICAgIGlmICh5eWNoIDw9ICc5JykgeyBnb3RvQ2FzZSA9IDEyNzsgY29udGludWU7IH07CiAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdGJykgeyBnb3Rv
Q2FzZSA9IDEyMzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2An
KSB7IGdvdG9DYXNlID0gMTI1OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnZicpIHsgZ290b0Nhc2UgPSAxMjM7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdaJykgeyBnb3RvQ2FzZSA9IDEyNzsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJ2AnKSB7IGdvdG9DYXNlID0gMTI5OyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSAxMjc7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgfQotY2FzZSAxMjU6CitjYXNlIDEyOToKICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2lzUHJvcGVydHlWYWx1ZSgpKQogICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWNvbG9yIjsKKyAgICAg
ICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09
PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRoaXMudG9rZW5UeXBlID0gImNzcy1zZWxlY3RvciI7CiAgICAgICAgICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gbnVsbDsKICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9Ci1jYXNlIDEy
NjoKK2Nhc2UgMTMwOgogICAgICAgICAgICAgeXlhY2NlcHQgPSAwOwogICAgICAgICAgICAgWVlN
QVJLRVIgPSArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29y
KTsKLSAgICAgICAgICAgIGlmICh5eWNoIDw9ICctJykgeworICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJy4nKSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdcZicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoID09ICdcbicpIHsgZ290b0Nhc2UgPSAzMjsgY29udGludWU7IH07CiAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
XHInKSB7IGdvdG9DYXNlID0gMzI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPj0gJyEnKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICchJykgeyBnb3RvQ2FzZSA9IDEzMDsgY29u
dGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJCcpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgeyBnb3RvQ2FzZSA9IDExNTsgY29udGludWU7IH07
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnJCcpIHsgZ290b0Nhc2UgPSAx
MjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXCcnKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnIicpIHsgZ290b0Nhc2UgPSAx
MTY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJyYn
KSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcJycpIHsgZ290b0Nh
c2UgPSAxMjY7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2gg
Pj0gJy0nKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoID09ICctJykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CiAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdbJykgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnPCcpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICcuJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnOScpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJz0nKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
OScpIHsgZ290b0Nhc2UgPSAxMzA7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPj0gJz0nKSB7IGdvdG9DYXNlID0gMTMwOyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNo
IDw9ICc9JykgeyBnb3RvQ2FzZSA9IDEyNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA+PSAnQCcpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJz8nKSB7IGdvdG9DYXNlID0gMTMy
OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdbJykg
eyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTM0OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICde
JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgeyBnb3RvQ2Fz
ZSA9IDEzMDsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXScpIHsgZ290b0Nhc2UgPSAxMjY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnXycpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9
ICdeJykgeyBnb3RvQ2FzZSA9IDEzMDsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnYCcpIHsgZ290
b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ3onKSB7IGdvdG9DYXNlID0gMTI2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdgJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAneicpIHsgZ290b0Nhc2UgPSAx
MzA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfQotY2FzZSAxMjg6CitjYXNlIDEzMjoKICAgICAgICAgICAgICsrY3Vy
c29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ1xyJykgewotICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcbicp
IHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2gg
PD0gJ1xmJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAg
eyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9
PSAnXG4nKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgIGlm
ICh5eWNoIDw9ICdcZicpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSA2ODsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICciJykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoeXljaCA8PSAnIScpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAg
ICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTIyOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHl5Y2ggPD0gJyEnKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsK
KyAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyMzsgY29udGludWU7IH07CiAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xc
JykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OwogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KLWNhc2UgMTMwOgorY2FzZSAxMzQ6CiAgICAgICAgICAg
ICArK2N1cnNvcjsKICAgICAgICAgICAgIHl5Y2ggPSB0aGlzLl9jaGFyQXQoY3Vyc29yKTsKICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdhJykgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICchJykgewogICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXG4nKSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXHQnKSB7IGdvdG9DYXNlID0gNjc7IGNvbnRp
bnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1x0JykgeyBnb3Rv
Q2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdccicpIHsgZ290b0Nhc2UgPSA2Nzsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCAhPSAnXHInKSB7
IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wn
JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNl
ID0gMTI4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9
ICcmJykgeyBnb3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJyInKSB7IGdvdG9DYXNlID0gMTMyOyBjb250aW51ZTsgfTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDEyODsgY29udGludWU7IH07Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjc7IGNvbnRpbnVlOyB9OworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xcJykgeyBnb3RvQ2FzZSA9IDEzMjsg
Y29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNv
bnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAncScpIHsKICAg
ICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2YnKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA8PSAnYicpIHsgZ290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7IGdvdG9DYXNlID0gNjc7IGNv
bnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDEyODsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnYicpIHsgZ290
b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ2UnKSB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAg
ICAgICAgICAgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnbicpIHsg
Z290b0Nhc2UgPSAxMjg7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDY3OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoID09ICduJykgeyBnb3RvQ2FzZSA9IDEzMjsgY29udGludWU7IH07CisgICAgICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gNjg7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYg
KHl5Y2ggPD0gJ3QnKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAncycp
IHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICB7
IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICh5eWNoID09ICdzJykgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3Yn
KSB7IGdvdG9DYXNlID0gMTI4OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHsgZ290b0Nhc2UgPSA2NzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA9PSAndicpIHsgZ290b0Nhc2UgPSAxMzI7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDY4OyBjb250aW51ZTsgfTsKICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTEzNjAsMTE0
ICsxNDUxLDExNCBAQCBjYXNlIDEzMDoKIGNhc2UgdGhpcy5jYXNlX1NTVFJJTkc6CiAgICAgICAg
ICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7CiAgICAgICAgICAgICBpZiAoeXljaCA8
PSAnXHInKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBnb3RvQ2FzZSA9
IDEzNzsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xmJykgeyBn
b3RvQ2FzZSA9IDEzNjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9
IDEzNzsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xuJykgeyBn
b3RvQ2FzZSA9IDE0MTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0g
J1xmJykgeyBnb3RvQ2FzZSA9IDE0MDsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgeyBn
b3RvQ2FzZSA9IDE0MTsgY29udGludWU7IH07CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdcJycpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTM2OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAg
ICAgICAgeyBnb3RvQ2FzZSA9IDEzOTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICcmJykgeyBnb3RvQ2FzZSA9IDE0MDsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxNDM7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdcXCcpIHsgZ290
b0Nhc2UgPSAxNDE7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAgICAgICAgICB7IGdvdG9DYXNl
ID0gMTM2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ1xc
JykgeyBnb3RvQ2FzZSA9IDE0NTsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSAxNDA7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KLWNhc2UgMTM1OgorY2FzZSAxMzk6CiAgICAgICAgICAgICB7IHJldHVybiB0aGlzLl9z
dHJpbmdUb2tlbihjdXJzb3IpOyB9Ci1jYXNlIDEzNjoKK2Nhc2UgMTQwOgogICAgICAgICAgICAg
eXlhY2NlcHQgPSAwOwogICAgICAgICAgICAgeXljaCA9IHRoaXMuX2NoYXJBdChZWU1BUktFUiA9
ICsrY3Vyc29yKTsKLSAgICAgICAgICAgIHsgZ290b0Nhc2UgPSAxNDM7IGNvbnRpbnVlOyB9Owot
Y2FzZSAxMzc6CisgICAgICAgICAgICB7IGdvdG9DYXNlID0gMTQ3OyBjb250aW51ZTsgfTsKK2Nh
c2UgMTQxOgogICAgICAgICAgICAgKytjdXJzb3I7Ci1jYXNlIDEzODoKK2Nhc2UgMTQyOgogICAg
ICAgICAgICAgeyB0aGlzLnRva2VuVHlwZSA9IG51bGw7IHJldHVybiBjdXJzb3I7IH0KLWNhc2Ug
MTM5OgorY2FzZSAxNDM6CiAgICAgICAgICAgICArK2N1cnNvcjsKLWNhc2UgMTQwOgorY2FzZSAx
NDQ6CiAgICAgICAgICAgICB0aGlzLnNldExleENvbmRpdGlvbih0aGlzLl9sZXhDb25kaXRpb25z
LklOSVRJQUwpOwogICAgICAgICAgICAgeyByZXR1cm4gdGhpcy5fc3RyaW5nVG9rZW4oY3Vyc29y
LCB0cnVlKTsgfQotY2FzZSAxNDE6CitjYXNlIDE0NToKICAgICAgICAgICAgIHl5Y2ggPSB0aGlz
Ll9jaGFyQXQoKytjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2UnKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAgICAgICBpZiAo
eXljaCA9PSAnIicpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OwotICAgICAgICAgICAg
ICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxMzg7IGNvbnRpbnVlOyB9Owor
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnIicpIHsgZ290b0Nhc2UgPSAxNDY7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnJicpIHsgZ290b0Nh
c2UgPSAxNDI7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdcXCcpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmICh5eWNoIDw9ICdbJykgeyBnb3RvQ2FzZSA9IDEzODsgY29udGludWU7IH07CisgICAgICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnWycpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRp
bnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggIT0gJ2InKSB7IGdvdG9DYXNlID0gMTM4OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoICE9ICdiJykgeyBnb3RvQ2FzZSA9IDE0Mjsg
Y29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdyJykgewog
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnbScpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoID49ICdnJykgeyBnb3RvQ2FzZSA9IDEzODsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnZycpIHsgZ290b0Nhc2UgPSAxNDI7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ24nKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsg
fTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICdxJykgeyBnb3RvQ2FzZSA9
IDEzODsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAn
bicpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHl5Y2ggPD0gJ3EnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsKICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoIDw9ICd0JykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5
Y2ggPD0gJ3MnKSB7IGdvdG9DYXNlID0gMTM4OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmICh5eWNoIDw9ICdzJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07
CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCAhPSAndicpIHsgZ290b0Nhc2UgPSAxMzg7IGNvbnRpbnVlOyB9OworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ3YnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51
ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KLWNhc2UgMTQyOgorY2FzZSAxNDY6CiAgICAgICAgICAgICB5eWFjY2VwdCA9IDA7CiAg
ICAgICAgICAgICBZWU1BUktFUiA9ICsrY3Vyc29yOwogICAgICAgICAgICAgeXljaCA9IHRoaXMu
X2NoYXJBdChjdXJzb3IpOwotY2FzZSAxNDM6CitjYXNlIDE0NzoKICAgICAgICAgICAgIGlmICh5
eWNoIDw9ICdccicpIHsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4nKSB7IGdvdG9D
YXNlID0gMTM1OyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnXGYn
KSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsgfTsKLSAgICAgICAgICAgICAgICB7IGdvdG9D
YXNlID0gMTM1OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnXG4n
KSB7IGdvdG9DYXNlID0gMTM5OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAnXGYnKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICB7IGdvdG9DYXNlID0gMTM5OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAgICAgICBp
ZiAoeXljaCA8PSAnJicpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OwotICAgICAgICAg
ICAgICAgICAgICB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKHl5Y2ggPD0gJyYnKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAg
ICAgICAgICAgICAgICAgICAgeyBnb3RvQ2FzZSA9IDE1MDsgY29udGludWU7IH07CiAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggIT0gJ1xcJykg
eyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07CisgICAgICAgICAgICAgICAgICAgIGlmICh5
eWNoICE9ICdcXCcpIHsgZ290b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgICsrY3Vyc29yOwogICAgICAgICAgICAg
eXljaCA9IHRoaXMuX2NoYXJBdChjdXJzb3IpOwogICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2Un
KSB7CiAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1wnJykgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoeXljaCA9PSAnIicpIHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OwotICAg
ICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXCcnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250
aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJyInKSB7IGdvdG9DYXNl
ID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ1wn
JykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ1xcJykgewotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPj0gJ1xcJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7
IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAnXFwnKSB7IGdvdG9DYXNl
ID0gMTQ2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICdiJykgeyBnb3RvQ2FzZSA9IDE0MjsgY29u
dGludWU7IH07CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA9PSAnYicpIHsgZ290
b0Nhc2UgPSAxNDY7IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoeXlj
aCA8PSAncicpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ20nKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAnZicpIHsgZ290b0Nhc2UgPSAxNDI7IGNv
bnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHl5Y2ggPD0gJ2YnKSB7IGdv
dG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoIDw9ICduJykgeyBnb3RvQ2FzZSA9IDE0
MjsgY29udGludWU7IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAncicp
IHsgZ290b0Nhc2UgPSAxNDI7IGNvbnRpbnVlOyB9OworICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKHl5Y2ggPD0gJ24nKSB7IGdvdG9DYXNlID0gMTQ2OyBjb250aW51ZTsgfTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICh5eWNoID49ICdyJykgeyBnb3RvQ2FzZSA9IDE0NjsgY29udGlu
dWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA8PSAndCcpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICh5eWNoID49ICd0JykgeyBnb3RvQ2FzZSA9IDE0MjsgY29udGludWU7IH07Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoeXljaCA+PSAndCcpIHsgZ290b0Nhc2UgPSAxNDY7
IGNvbnRpbnVlOyB9OwogICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKHl5Y2ggPT0gJ3YnKSB7IGdvdG9DYXNlID0gMTQyOyBjb250aW51ZTsg
fTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh5eWNoID09ICd2JykgeyBnb3RvQ2FzZSA9
IDE0NjsgY29udGludWU7IH07CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjdXJzb3IgPSBZWU1BUktFUjsKLSAgICAg
ICAgICAgIHsgZ290b0Nhc2UgPSAxMzU7IGNvbnRpbnVlOyB9OwotY2FzZSAxNDY6CisgICAgICAg
ICAgICB7IGdvdG9DYXNlID0gMTM5OyBjb250aW51ZTsgfTsKK2Nhc2UgMTUwOgogICAgICAgICAg
ICAgKytjdXJzb3I7CiAgICAgICAgICAgICB5eWNoID0gdGhpcy5fY2hhckF0KGN1cnNvcik7Ci0g
ICAgICAgICAgICB7IGdvdG9DYXNlID0gMTQwOyBjb250aW51ZTsgfTsKKyAgICAgICAgICAgIHsg
Z290b0Nhc2UgPSAxNDQ7IGNvbnRpbnVlOyB9OwogICAgICAgICB9CiAKICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tl
bml6ZXIucmUyanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNT
U1Rva2VuaXplci5yZTJqcwppbmRleCA5ZTdiM2ZmMjI0N2I2MmY4ZDRkZGZjOGEyYWVlZDJiYTEx
MDEzYWZiLi42MjhlNDhhMDcyOGM3YTI5NzczYjEwMWZjOGVmNjg3MjFmOTEzZjdmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXpl
ci5yZTJqcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNT
U1Rva2VuaXplci5yZTJqcwpAQCAtNTEsNjEgKzUxLDkgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNT
U1Rva2VuaXplciA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5p
emVyLmNhbGwodGhpcyk7CiAKLSAgICB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVj
dG9yLkNTU0NvbXBsZXRpb25zLmNzc1Byb3BlcnRpZXNNZXRhaW5mby5rZXlTZXQoKTsKKyAgICB0
aGlzLl9wcm9wZXJ0eUtleXdvcmRzID0gV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc1By
b3BlcnRpZXNNZXRhaW5mb0tleVNldCgpOwogICAgIHRoaXMuX2NvbG9yS2V5d29yZHMgPSBXZWJJ
bnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmNvbG9ycygpOwogCi0gICAgdGhpcy5fdmFs
dWVLZXl3b3JkcyA9IFsKLSAgICAgICAgImFib3ZlIiwgImFic29sdXRlIiwgImFjdGl2ZWJvcmRl
ciIsICJhY3RpdmVjYXB0aW9uIiwgImFmYXIiLCAiYWZ0ZXItd2hpdGUtc3BhY2UiLCAiYWhlYWQi
LCAiYWxpYXMiLCAiYWxsIiwgImFsbC1zY3JvbGwiLAotICAgICAgICAiYWx0ZXJuYXRlIiwgImFs
d2F5cyIsICJhbWhhcmljIiwgImFtaGFyaWMtYWJlZ2VkZSIsICJhbnRpYWxpYXNlZCIsICJhcHB3
b3Jrc3BhY2UiLCAiYXJhYmljLWluZGljIiwgImFybWVuaWFuIiwgImFzdGVyaXNrcyIsCi0gICAg
ICAgICJhdXRvIiwgImF2b2lkIiwgImJhY2tncm91bmQiLCAiYmFja3dhcmRzIiwgImJhc2VsaW5l
IiwgImJlbG93IiwgImJpZGktb3ZlcnJpZGUiLCAiYmluYXJ5IiwgImJlbmdhbGkiLCAiYmxpbmsi
LAotICAgICAgICAiYmxvY2siLCAiYmxvY2stYXhpcyIsICJib2xkIiwgImJvbGRlciIsICJib3Jk
ZXIiLCAiYm9yZGVyLWJveCIsICJib3RoIiwgImJvdHRvbSIsICJicmVhay1hbGwiLCAiYnJlYWst
d29yZCIsICJidXR0b24iLAotICAgICAgICAiYnV0dG9uLWJldmVsIiwgImJ1dHRvbmZhY2UiLCAi
YnV0dG9uaGlnaGxpZ2h0IiwgImJ1dHRvbnNoYWRvdyIsICJidXR0b250ZXh0IiwgImNhbWJvZGlh
biIsICJjYXBpdGFsaXplIiwgImNhcHMtbG9jay1pbmRpY2F0b3IiLAotICAgICAgICAiY2FwdGlv
biIsICJjYXB0aW9udGV4dCIsICJjYXJldCIsICJjZWxsIiwgImNlbnRlciIsICJjaGVja2JveCIs
ICJjaXJjbGUiLCAiY2prLWVhcnRobHktYnJhbmNoIiwgImNqay1oZWF2ZW5seS1zdGVtIiwgImNq
ay1pZGVvZ3JhcGhpYyIsCi0gICAgICAgICJjbGVhciIsICJjbGlwIiwgImNsb3NlLXF1b3RlIiwg
ImNvbC1yZXNpemUiLCAiY29sbGFwc2UiLCAiY29tcGFjdCIsICJjb25kZW5zZWQiLCAiY29udGFp
biIsICJjb250ZW50IiwgImNvbnRlbnQtYm94IiwgImNvbnRleHQtbWVudSIsCi0gICAgICAgICJj
b250aW51b3VzIiwgImNvcHkiLCAiY292ZXIiLCAiY3JvcCIsICJjcm9zcyIsICJjcm9zc2hhaXIi
LCAiY3VycmVudGNvbG9yIiwgImN1cnNpdmUiLCAiZGFzaGVkIiwgImRlY2ltYWwiLCAiZGVjaW1h
bC1sZWFkaW5nLXplcm8iLCAiZGVmYXVsdCIsCi0gICAgICAgICJkZWZhdWx0LWJ1dHRvbiIsICJk
ZXN0aW5hdGlvbi1hdG9wIiwgImRlc3RpbmF0aW9uLWluIiwgImRlc3RpbmF0aW9uLW91dCIsICJk
ZXN0aW5hdGlvbi1vdmVyIiwgImRldmFuYWdhcmkiLCAiZGlzYyIsICJkaXNjYXJkIiwgImRvY3Vt
ZW50IiwKLSAgICAgICAgImRvdC1kYXNoIiwgImRvdC1kb3QtZGFzaCIsICJkb3R0ZWQiLCAiZG91
YmxlIiwgImRvd24iLCAiZS1yZXNpemUiLCAiZWFzZSIsICJlYXNlLWluIiwgImVhc2UtaW4tb3V0
IiwgImVhc2Utb3V0IiwgImVsZW1lbnQiLAotICAgICAgICAiZWxsaXBzaXMiLCAiZW1iZWQiLCAi
ZW5kIiwgImV0aGlvcGljIiwgImV0aGlvcGljLWFiZWdlZGUiLCAiZXRoaW9waWMtYWJlZ2VkZS1h
bS1ldCIsICJldGhpb3BpYy1hYmVnZWRlLWdleiIsCi0gICAgICAgICJldGhpb3BpYy1hYmVnZWRl
LXRpLWVyIiwgImV0aGlvcGljLWFiZWdlZGUtdGktZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtYWEt
ZXIiLCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiLAotICAgICAgICAiZXRoaW9waWMtaGFsZWhh
bWUtYW0tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtZ2V6IiwgImV0aGlvcGljLWhhbGVoYW1lLW9t
LWV0IiwgImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCIsCi0gICAgICAgICJldGhpb3BpYy1oYWxl
aGFtZS1zby1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aS1lciIsICJldGhpb3BpYy1oYWxlaGFt
ZS10aS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS10aWciLCAiZXctcmVzaXplIiwgImV4cGFuZGVk
IiwKLSAgICAgICAgImV4dHJhLWNvbmRlbnNlZCIsICJleHRyYS1leHBhbmRlZCIsICJmYW50YXN5
IiwgImZhc3QiLCAiZmlsbCIsICJmaXhlZCIsICJmbGF0IiwgImZvb3Rub3RlcyIsICJmb3J3YXJk
cyIsICJmcm9tIiwgImdlb21ldHJpY1ByZWNpc2lvbiIsCi0gICAgICAgICJnZW9yZ2lhbiIsICJn
cmF5dGV4dCIsICJncm9vdmUiLCAiZ3VqYXJhdGkiLCAiZ3VybXVraGkiLCAiaGFuZCIsICJoYW5n
dWwiLCAiaGFuZ3VsLWNvbnNvbmFudCIsICJoZWJyZXciLCAiaGVscCIsCi0gICAgICAgICJoaWRk
ZW4iLCAiaGlkZSIsICJoaWdoZXIiLCAiaGlnaGxpZ2h0IiwgImhpZ2hsaWdodHRleHQiLCAiaGly
YWdhbmEiLCAiaGlyYWdhbmEtaXJvaGEiLCAiaG9yaXpvbnRhbCIsICJoc2wiLCAiaHNsYSIsICJp
Y29uIiwgImlnbm9yZSIsCi0gICAgICAgICJpbmFjdGl2ZWJvcmRlciIsICJpbmFjdGl2ZWNhcHRp
b24iLCAiaW5hY3RpdmVjYXB0aW9udGV4dCIsICJpbmZpbml0ZSIsICJpbmZvYmFja2dyb3VuZCIs
ICJpbmZvdGV4dCIsICJpbmhlcml0IiwgImluaXRpYWwiLCAiaW5saW5lIiwKLSAgICAgICAgImlu
bGluZS1heGlzIiwgImlubGluZS1ibG9jayIsICJpbmxpbmUtdGFibGUiLCAiaW5zZXQiLCAiaW5z
aWRlIiwgImludHJpbnNpYyIsICJpbnZlcnQiLCAiaXRhbGljIiwgImp1c3RpZnkiLCAia2FubmFk
YSIsICJrYXRha2FuYSIsCi0gICAgICAgICJrYXRha2FuYS1pcm9oYSIsICJraG1lciIsICJsYW5k
c2NhcGUiLCAibGFvIiwgImxhcmdlIiwgImxhcmdlciIsICJsZWZ0IiwgImxldmVsIiwgImxpZ2h0
ZXIiLCAibGluZS10aHJvdWdoIiwgImxpbmVhciIsICJsaW5lcyIsCi0gICAgICAgICJsaXN0LWl0
ZW0iLCAibGlzdGJveCIsICJsaXN0aXRlbSIsICJsb2NhbCIsICJsb2dpY2FsIiwgImxvdWQiLCAi
bG93ZXIiLCAibG93ZXItYWxwaGEiLCAibG93ZXItYXJtZW5pYW4iLCAibG93ZXItZ3JlZWsiLAot
ICAgICAgICAibG93ZXItaGV4YWRlY2ltYWwiLCAibG93ZXItbGF0aW4iLCAibG93ZXItbm9yd2Vn
aWFuIiwgImxvd2VyLXJvbWFuIiwgImxvd2VyY2FzZSIsICJsdHIiLCAibWFsYXlhbGFtIiwgIm1h
dGNoIiwgIm1lZGlhLWNvbnRyb2xzLWJhY2tncm91bmQiLAotICAgICAgICAibWVkaWEtY3VycmVu
dC10aW1lLWRpc3BsYXkiLCAibWVkaWEtZnVsbHNjcmVlbi1idXR0b24iLCAibWVkaWEtbXV0ZS1i
dXR0b24iLCAibWVkaWEtcGxheS1idXR0b24iLCAibWVkaWEtcmV0dXJuLXRvLXJlYWx0aW1lLWJ1
dHRvbiIsCi0gICAgICAgICJtZWRpYS1yZXdpbmQtYnV0dG9uIiwgIm1lZGlhLXNlZWstYmFjay1i
dXR0b24iLCAibWVkaWEtc2Vlay1mb3J3YXJkLWJ1dHRvbiIsICJtZWRpYS1zbGlkZXIiLCAibWVk
aWEtc2xpZGVydGh1bWIiLCAibWVkaWEtdGltZS1yZW1haW5pbmctZGlzcGxheSIsCi0gICAgICAg
ICJtZWRpYS12b2x1bWUtc2xpZGVyIiwgIm1lZGlhLXZvbHVtZS1zbGlkZXItY29udGFpbmVyIiwg
Im1lZGlhLXZvbHVtZS1zbGlkZXJ0aHVtYiIsICJtZWRpdW0iLCAibWVudSIsICJtZW51bGlzdCIs
ICJtZW51bGlzdC1idXR0b24iLAotICAgICAgICAibWVudWxpc3QtdGV4dCIsICJtZW51bGlzdC10
ZXh0ZmllbGQiLCAibWVudXRleHQiLCAibWVzc2FnZS1ib3giLCAibWlkZGxlIiwgIm1pbi1pbnRy
aW5zaWMiLCAibWl4IiwgIm1vbmdvbGlhbiIsICJtb25vc3BhY2UiLCAibW92ZSIsICJtdWx0aXBs
ZSIsCi0gICAgICAgICJteWFubWFyIiwgIm4tcmVzaXplIiwgIm5hcnJvd2VyIiwgIm5hdnkiLCAi
bmUtcmVzaXplIiwgIm5lc3ctcmVzaXplIiwgIm5vLWNsb3NlLXF1b3RlIiwgIm5vLWRyb3AiLCAi
bm8tb3Blbi1xdW90ZSIsICJuby1yZXBlYXQiLCAibm9uZSIsCi0gICAgICAgICJub3JtYWwiLCAi
bm90LWFsbG93ZWQiLCAibm93cmFwIiwgIm5zLXJlc2l6ZSIsICJudy1yZXNpemUiLCAibndzZS1y
ZXNpemUiLCAib2JsaXF1ZSIsICJvY3RhbCIsICJvcGVuLXF1b3RlIiwgIm9wdGltaXplTGVnaWJp
bGl0eSIsCi0gICAgICAgICJvcHRpbWl6ZVNwZWVkIiwgIm9yaXlhIiwgIm9yb21vIiwgIm91dHNl
dCIsICJvdXRzaWRlIiwgIm92ZXJsYXkiLCAib3ZlcmxpbmUiLCAicGFkZGluZyIsICJwYWRkaW5n
LWJveCIsICJwYWludGVkIiwgInBhdXNlZCIsCi0gICAgICAgICJwZXJzaWFuIiwgInBsdXMtZGFy
a2VyIiwgInBsdXMtbGlnaHRlciIsICJwb2ludGVyIiwgInBvcnRyYWl0IiwgInByZSIsICJwcmUt
bGluZSIsICJwcmUtd3JhcCIsICJwcmVzZXJ2ZS0zZCIsICJwcm9ncmVzcyIsCi0gICAgICAgICJw
dXNoLWJ1dHRvbiIsICJyYWRpbyIsICJyZWFkLW9ubHkiLCAicmVhZC13cml0ZSIsICJyZWFkLXdy
aXRlLXBsYWludGV4dC1vbmx5IiwgInJlbGF0aXZlIiwgInJlcGVhdCIsICJyZXBlYXQteCIsCi0g
ICAgICAgICJyZXBlYXQteSIsICJyZXNldCIsICJyZXZlcnNlIiwgInJnYiIsICJyZ2JhIiwgInJp
ZGdlIiwgInJpZ2h0IiwgInJvdW5kIiwgInJvdy1yZXNpemUiLCAicnRsIiwgInJ1bi1pbiIsICJy
dW5uaW5nIiwgInMtcmVzaXplIiwgInNhbnMtc2VyaWYiLAotICAgICAgICAic2Nyb2xsIiwgInNj
cm9sbGJhciIsICJzZS1yZXNpemUiLCAic2VhcmNoZmllbGQiLCAic2VhcmNoZmllbGQtY2FuY2Vs
LWJ1dHRvbiIsICJzZWFyY2hmaWVsZC1kZWNvcmF0aW9uIiwgInNlYXJjaGZpZWxkLXJlc3VsdHMt
YnV0dG9uIiwKLSAgICAgICAgInNlYXJjaGZpZWxkLXJlc3VsdHMtZGVjb3JhdGlvbiIsICJzZW1p
LWNvbmRlbnNlZCIsICJzZW1pLWV4cGFuZGVkIiwgInNlcGFyYXRlIiwgInNlcmlmIiwgInNob3ci
LCAic2lkYW1hIiwgInNpbmdsZSIsCi0gICAgICAgICJza2lwLXdoaXRlLXNwYWNlIiwgInNsaWRl
IiwgInNsaWRlci1ob3Jpem9udGFsIiwgInNsaWRlci12ZXJ0aWNhbCIsICJzbGlkZXJ0aHVtYi1o
b3Jpem9udGFsIiwgInNsaWRlcnRodW1iLXZlcnRpY2FsIiwgInNsb3ciLAotICAgICAgICAic21h
bGwiLCAic21hbGwtY2FwcyIsICJzbWFsbC1jYXB0aW9uIiwgInNtYWxsZXIiLCAic29saWQiLCAi
c29tYWxpIiwgInNvdXJjZS1hdG9wIiwgInNvdXJjZS1pbiIsICJzb3VyY2Utb3V0IiwgInNvdXJj
ZS1vdmVyIiwKLSAgICAgICAgInNwYWNlIiwgInNxdWFyZSIsICJzcXVhcmUtYnV0dG9uIiwgInN0
YXJ0IiwgInN0YXRpYyIsICJzdGF0dXMtYmFyIiwgInN0cmV0Y2giLCAic3Ryb2tlIiwgInN1YiIs
ICJzdWJwaXhlbC1hbnRpYWxpYXNlZCIsICJzdXBlciIsCi0gICAgICAgICJzdy1yZXNpemUiLCAi
dGFibGUiLCAidGFibGUtY2FwdGlvbiIsICJ0YWJsZS1jZWxsIiwgInRhYmxlLWNvbHVtbiIsICJ0
YWJsZS1jb2x1bW4tZ3JvdXAiLCAidGFibGUtZm9vdGVyLWdyb3VwIiwgInRhYmxlLWhlYWRlci1n
cm91cCIsCi0gICAgICAgICJ0YWJsZS1yb3ciLCAidGFibGUtcm93LWdyb3VwIiwgInRlbHVndSIs
ICJ0ZXh0IiwgInRleHQtYm90dG9tIiwgInRleHQtdG9wIiwgInRleHRhcmVhIiwgInRleHRmaWVs
ZCIsICJ0aGFpIiwgInRoaWNrIiwgInRoaW4iLAotICAgICAgICAidGhyZWVkZGFya3NoYWRvdyIs
ICJ0aHJlZWRmYWNlIiwgInRocmVlZGhpZ2hsaWdodCIsICJ0aHJlZWRsaWdodHNoYWRvdyIsICJ0
aHJlZWRzaGFkb3ciLCAidGliZXRhbiIsICJ0aWdyZSIsICJ0aWdyaW55YS1lciIsICJ0aWdyaW55
YS1lci1hYmVnZWRlIiwKLSAgICAgICAgInRpZ3JpbnlhLWV0IiwgInRpZ3JpbnlhLWV0LWFiZWdl
ZGUiLCAidG8iLCAidG9wIiwgInRyYW5zcGFyZW50IiwgInVsdHJhLWNvbmRlbnNlZCIsICJ1bHRy
YS1leHBhbmRlZCIsICJ1bmRlcmxpbmUiLCAidXAiLCAidXBwZXItYWxwaGEiLCAidXBwZXItYXJt
ZW5pYW4iLAotICAgICAgICAidXBwZXItZ3JlZWsiLCAidXBwZXItaGV4YWRlY2ltYWwiLCAidXBw
ZXItbGF0aW4iLCAidXBwZXItbm9yd2VnaWFuIiwgInVwcGVyLXJvbWFuIiwgInVwcGVyY2FzZSIs
ICJ1cmR1IiwgInVybCIsICJ2ZXJ0aWNhbCIsICJ2ZXJ0aWNhbC10ZXh0IiwgInZpc2libGUiLAot
ICAgICAgICAidmlzaWJsZUZpbGwiLCAidmlzaWJsZVBhaW50ZWQiLCAidmlzaWJsZVN0cm9rZSIs
ICJ2aXN1YWwiLCAidy1yZXNpemUiLCAid2FpdCIsICJ3YXZlIiwgIndoaXRlIiwgIndpZGVyIiwg
IndpbmRvdyIsICJ3aW5kb3dmcmFtZSIsICJ3aW5kb3d0ZXh0IiwKLSAgICAgICAgIngtbGFyZ2Ui
LCAieC1zbWFsbCIsICJ4b3IiLCAieHgtbGFyZ2UiLCAieHgtc21hbGwiLCAieWVsbG93IiwgIi13
YXAtbWFycXVlZSIsICItd2Via2l0LWFjdGl2ZWxpbmsiLCAiLXdlYmtpdC1hdXRvIiwgIi13ZWJr
aXQtYmFzZWxpbmUtbWlkZGxlIiwKLSAgICAgICAgIi13ZWJraXQtYm9keSIsICItd2Via2l0LWJv
eCIsICItd2Via2l0LWNlbnRlciIsICItd2Via2l0LWNvbnRyb2wiLCAiLXdlYmtpdC1mb2N1cy1y
aW5nLWNvbG9yIiwgIi13ZWJraXQtZ3JhYiIsICItd2Via2l0LWdyYWJiaW5nIiwKLSAgICAgICAg
Ii13ZWJraXQtZ3JhZGllbnQiLCAiLXdlYmtpdC1pbmxpbmUtYm94IiwgIi13ZWJraXQtbGVmdCIs
ICItd2Via2l0LWxpbmsiLCAiLXdlYmtpdC1tYXJxdWVlIiwgIi13ZWJraXQtbWluaS1jb250cm9s
IiwgIi13ZWJraXQtbm93cmFwIiwgIi13ZWJraXQtcGljdG9ncmFwaCIsCi0gICAgICAgICItd2Vi
a2l0LXJpZ2h0IiwgIi13ZWJraXQtc21hbGwtY29udHJvbCIsICItd2Via2l0LXRleHQiLCAiLXdl
YmtpdC14eHgtbGFyZ2UiLCAiLXdlYmtpdC16b29tLWluIiwgIi13ZWJraXQtem9vbS1vdXQiLAot
ICAgIF0ua2V5U2V0KCk7Ci0KLSAgICB0aGlzLl9tZWRpYVR5cGVzID0gWyJhbGwiLCAiYXVyYWwi
LCAiYnJhaWxsZSIsICJlbWJvc3NlZCIsICJoYW5kaGVsZCIsICJpbXBvcnQiLCAicHJpbnQiLCAi
cHJvamVjdGlvbiIsICJzY3JlZW4iLCAidHR5IiwgInR2Il0ua2V5U2V0KCk7Ci0KICAgICB0aGlz
Ll9sZXhDb25kaXRpb25zID0gewogICAgICAgICBJTklUSUFMOiAwLAogICAgICAgICBDT01NRU5U
OiAxLApAQCAtMTI5LDYgKzc3LDY5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIg
PSBmdW5jdGlvbigpCiAgICAgdGhpcy5jb25kaXRpb24gPSB0aGlzLmNyZWF0ZUluaXRpYWxDb25k
aXRpb24oKTsKIH0KIAorV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5BdFJlbGF0ZWRL
ZXl3b3JkcyA9IFsKKyAgICJmcm9tIiwgImlmIiwgImluIiwgInRocm91Z2giCitdLmtleVNldCgp
OworCitXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLk1lZGlhVHlwZXMgPSBbImFsbCIs
ICJhdXJhbCIsICJicmFpbGxlIiwgImVtYm9zc2VkIiwgImhhbmRoZWxkIiwgImltcG9ydCIsICJw
cmludCIsICJwcm9qZWN0aW9uIiwgInNjcmVlbiIsICJ0dHkiLCAidHYiXS5rZXlTZXQoKTsKKwor
V2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5TQ1NTVmFsdWVLZXl3b3JkcyA9IFsKKyAg
ICAiYWJzIiwgImFkanVzdC1jb2xvciIsICJhZGp1c3QtaHVlIiwgImFscGhhIiwgImFwcGVuZCIs
ICJjZWlsIiwgImNoYW5nZS1jb2xvciIsICJjb21wYXJhYmxlIiwgImNvbXBsZW1lbnQiLCAiZGFy
a2VuIiwgImRlc2F0dXJhdGUiLAorICAgICJmYWRlLWluIiwgImZhZGUtb3V0IiwgImZsb29yIiwg
ImdyYXlzY2FsZSIsICJodWUiLCAiaWUtaGV4LXN0ciIsICJpbnZlcnQiLCAiam9pbiIsICJsZW5n
dGgiLCAibGlnaHRlbiIsCisgICAgImxpZ2h0bmVzcyIsICJtYXgiLCAibWluIiwgIm1peCIsICJu
dGgiLCAib3BhY2lmeSIsICJvcGFjaXR5IiwgInBlcmNlbnRhZ2UiLCAicXVvdGUiLCAicm91bmQi
LCAic2F0dXJhdGUiLAorICAgICJzYXR1cmF0aW9uIiwgInNjYWxlLWNvbG9yIiwgInRyYW5zcGFy
ZW50aXplIiwgInR5cGUtb2YiLCAidW5pdCIsICJ1bml0bGVzcyIsICJ1bnF1b3RlIiwgInppcCIK
K10ua2V5U2V0KCk7CisKK1dlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIuVmFsdWVLZXl3
b3JkcyA9IFsKKyAgICAiYWJvdmUiLCAiYWJzb2x1dGUiLCAiYWN0aXZlYm9yZGVyIiwgImFjdGl2
ZWNhcHRpb24iLCAiYWZhciIsICJhZnRlci13aGl0ZS1zcGFjZSIsICJhaGVhZCIsICJhbGlhcyIs
ICJhbGwiLCAiYWxsLXNjcm9sbCIsCisgICAgImFsdGVybmF0ZSIsICJhbHdheXMiLCAiYW1oYXJp
YyIsICJhbWhhcmljLWFiZWdlZGUiLCAiYW50aWFsaWFzZWQiLCAiYXBwd29ya3NwYWNlIiwgImFy
YWJpYy1pbmRpYyIsICJhcm1lbmlhbiIsICJhc3Rlcmlza3MiLAorICAgICJhdXRvIiwgImF2b2lk
IiwgImJhY2tncm91bmQiLCAiYmFja3dhcmRzIiwgImJhc2VsaW5lIiwgImJlbG93IiwgImJpZGkt
b3ZlcnJpZGUiLCAiYmluYXJ5IiwgImJlbmdhbGkiLCAiYmxpbmsiLAorICAgICJibG9jayIsICJi
bG9jay1heGlzIiwgImJvbGQiLCAiYm9sZGVyIiwgImJvcmRlciIsICJib3JkZXItYm94IiwgImJv
dGgiLCAiYm90dG9tIiwgImJyZWFrLWFsbCIsICJicmVhay13b3JkIiwgImJ1dHRvbiIsCisgICAg
ImJ1dHRvbi1iZXZlbCIsICJidXR0b25mYWNlIiwgImJ1dHRvbmhpZ2hsaWdodCIsICJidXR0b25z
aGFkb3ciLCAiYnV0dG9udGV4dCIsICJjYW1ib2RpYW4iLCAiY2FwaXRhbGl6ZSIsICJjYXBzLWxv
Y2staW5kaWNhdG9yIiwKKyAgICAiY2FwdGlvbiIsICJjYXB0aW9udGV4dCIsICJjYXJldCIsICJj
ZWxsIiwgImNlbnRlciIsICJjaGVja2JveCIsICJjaXJjbGUiLCAiY2prLWVhcnRobHktYnJhbmNo
IiwgImNqay1oZWF2ZW5seS1zdGVtIiwgImNqay1pZGVvZ3JhcGhpYyIsCisgICAgImNsZWFyIiwg
ImNsaXAiLCAiY2xvc2UtcXVvdGUiLCAiY29sLXJlc2l6ZSIsICJjb2xsYXBzZSIsICJjb21wYWN0
IiwgImNvbmRlbnNlZCIsICJjb250YWluIiwgImNvbnRlbnQiLCAiY29udGVudC1ib3giLCAiY29u
dGV4dC1tZW51IiwKKyAgICAiY29udGludW91cyIsICJjb3B5IiwgImNvdmVyIiwgImNyb3AiLCAi
Y3Jvc3MiLCAiY3Jvc3NoYWlyIiwgImN1cnJlbnRjb2xvciIsICJjdXJzaXZlIiwgImRhc2hlZCIs
ICJkZWNpbWFsIiwgImRlY2ltYWwtbGVhZGluZy16ZXJvIiwgImRlZmF1bHQiLAorICAgICJkZWZh
dWx0LWJ1dHRvbiIsICJkZXN0aW5hdGlvbi1hdG9wIiwgImRlc3RpbmF0aW9uLWluIiwgImRlc3Rp
bmF0aW9uLW91dCIsICJkZXN0aW5hdGlvbi1vdmVyIiwgImRldmFuYWdhcmkiLCAiZGlzYyIsICJk
aXNjYXJkIiwgImRvY3VtZW50IiwKKyAgICAiZG90LWRhc2giLCAiZG90LWRvdC1kYXNoIiwgImRv
dHRlZCIsICJkb3VibGUiLCAiZG93biIsICJlLXJlc2l6ZSIsICJlYXNlIiwgImVhc2UtaW4iLCAi
ZWFzZS1pbi1vdXQiLCAiZWFzZS1vdXQiLCAiZWxlbWVudCIsCisgICAgImVsbGlwc2lzIiwgImVt
YmVkIiwgImVuZCIsICJldGhpb3BpYyIsICJldGhpb3BpYy1hYmVnZWRlIiwgImV0aGlvcGljLWFi
ZWdlZGUtYW0tZXQiLCAiZXRoaW9waWMtYWJlZ2VkZS1nZXoiLAorICAgICJldGhpb3BpYy1hYmVn
ZWRlLXRpLWVyIiwgImV0aGlvcGljLWFiZWdlZGUtdGktZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUt
YWEtZXIiLCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiLAorICAgICJldGhpb3BpYy1oYWxlaGFt
ZS1hbS1ldCIsICJldGhpb3BpYy1oYWxlaGFtZS1nZXoiLCAiZXRoaW9waWMtaGFsZWhhbWUtb20t
ZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtc2lkLWV0IiwKKyAgICAiZXRoaW9waWMtaGFsZWhhbWUt
c28tZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGktZXIiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGkt
ZXQiLCAiZXRoaW9waWMtaGFsZWhhbWUtdGlnIiwgImV3LXJlc2l6ZSIsICJleHBhbmRlZCIsCisg
ICAgImV4dHJhLWNvbmRlbnNlZCIsICJleHRyYS1leHBhbmRlZCIsICJmYW50YXN5IiwgImZhc3Qi
LCAiZmlsbCIsICJmaXhlZCIsICJmbGF0IiwgImZvb3Rub3RlcyIsICJmb3J3YXJkcyIsICJmcm9t
IiwgImdlb21ldHJpY1ByZWNpc2lvbiIsCisgICAgImdlb3JnaWFuIiwgImdyYXl0ZXh0IiwgImdy
b292ZSIsICJndWphcmF0aSIsICJndXJtdWtoaSIsICJoYW5kIiwgImhhbmd1bCIsICJoYW5ndWwt
Y29uc29uYW50IiwgImhlYnJldyIsICJoZWxwIiwKKyAgICAiaGlkZGVuIiwgImhpZGUiLCAiaGln
aGVyIiwgImhpZ2hsaWdodCIsICJoaWdobGlnaHR0ZXh0IiwgImhpcmFnYW5hIiwgImhpcmFnYW5h
LWlyb2hhIiwgImhvcml6b250YWwiLCAiaHNsIiwgImhzbGEiLCAiaWNvbiIsICJpZ25vcmUiLAor
ICAgICJpbmFjdGl2ZWJvcmRlciIsICJpbmFjdGl2ZWNhcHRpb24iLCAiaW5hY3RpdmVjYXB0aW9u
dGV4dCIsICJpbmZpbml0ZSIsICJpbmZvYmFja2dyb3VuZCIsICJpbmZvdGV4dCIsICJpbmhlcml0
IiwgImluaXRpYWwiLCAiaW5saW5lIiwKKyAgICAiaW5saW5lLWF4aXMiLCAiaW5saW5lLWJsb2Nr
IiwgImlubGluZS10YWJsZSIsICJpbnNldCIsICJpbnNpZGUiLCAiaW50cmluc2ljIiwgImludmVy
dCIsICJpdGFsaWMiLCAianVzdGlmeSIsICJrYW5uYWRhIiwgImthdGFrYW5hIiwKKyAgICAia2F0
YWthbmEtaXJvaGEiLCAia2htZXIiLCAibGFuZHNjYXBlIiwgImxhbyIsICJsYXJnZSIsICJsYXJn
ZXIiLCAibGVmdCIsICJsZXZlbCIsICJsaWdodGVyIiwgImxpbmUtdGhyb3VnaCIsICJsaW5lYXIi
LCAibGluZXMiLAorICAgICJsaXN0LWl0ZW0iLCAibGlzdGJveCIsICJsaXN0aXRlbSIsICJsb2Nh
bCIsICJsb2dpY2FsIiwgImxvdWQiLCAibG93ZXIiLCAibG93ZXItYWxwaGEiLCAibG93ZXItYXJt
ZW5pYW4iLCAibG93ZXItZ3JlZWsiLAorICAgICJsb3dlci1oZXhhZGVjaW1hbCIsICJsb3dlci1s
YXRpbiIsICJsb3dlci1ub3J3ZWdpYW4iLCAibG93ZXItcm9tYW4iLCAibG93ZXJjYXNlIiwgImx0
ciIsICJtYWxheWFsYW0iLCAibWF0Y2giLCAibWVkaWEtY29udHJvbHMtYmFja2dyb3VuZCIsCisg
ICAgIm1lZGlhLWN1cnJlbnQtdGltZS1kaXNwbGF5IiwgIm1lZGlhLWZ1bGxzY3JlZW4tYnV0dG9u
IiwgIm1lZGlhLW11dGUtYnV0dG9uIiwgIm1lZGlhLXBsYXktYnV0dG9uIiwgIm1lZGlhLXJldHVy
bi10by1yZWFsdGltZS1idXR0b24iLAorICAgICJtZWRpYS1yZXdpbmQtYnV0dG9uIiwgIm1lZGlh
LXNlZWstYmFjay1idXR0b24iLCAibWVkaWEtc2Vlay1mb3J3YXJkLWJ1dHRvbiIsICJtZWRpYS1z
bGlkZXIiLCAibWVkaWEtc2xpZGVydGh1bWIiLCAibWVkaWEtdGltZS1yZW1haW5pbmctZGlzcGxh
eSIsCisgICAgIm1lZGlhLXZvbHVtZS1zbGlkZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlci1jb250
YWluZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlcnRodW1iIiwgIm1lZGl1bSIsICJtZW51IiwgIm1l
bnVsaXN0IiwgIm1lbnVsaXN0LWJ1dHRvbiIsCisgICAgIm1lbnVsaXN0LXRleHQiLCAibWVudWxp
c3QtdGV4dGZpZWxkIiwgIm1lbnV0ZXh0IiwgIm1lc3NhZ2UtYm94IiwgIm1pZGRsZSIsICJtaW4t
aW50cmluc2ljIiwgIm1peCIsICJtb25nb2xpYW4iLCAibW9ub3NwYWNlIiwgIm1vdmUiLCAibXVs
dGlwbGUiLAorICAgICJteWFubWFyIiwgIm4tcmVzaXplIiwgIm5hcnJvd2VyIiwgIm5hdnkiLCAi
bmUtcmVzaXplIiwgIm5lc3ctcmVzaXplIiwgIm5vLWNsb3NlLXF1b3RlIiwgIm5vLWRyb3AiLCAi
bm8tb3Blbi1xdW90ZSIsICJuby1yZXBlYXQiLCAibm9uZSIsCisgICAgIm5vcm1hbCIsICJub3Qt
YWxsb3dlZCIsICJub3dyYXAiLCAibnMtcmVzaXplIiwgIm53LXJlc2l6ZSIsICJud3NlLXJlc2l6
ZSIsICJvYmxpcXVlIiwgIm9jdGFsIiwgIm9wZW4tcXVvdGUiLCAib3B0aW1pemVMZWdpYmlsaXR5
IiwKKyAgICAib3B0aW1pemVTcGVlZCIsICJvcml5YSIsICJvcm9tbyIsICJvdXRzZXQiLCAib3V0
c2lkZSIsICJvdmVybGF5IiwgIm92ZXJsaW5lIiwgInBhZGRpbmciLCAicGFkZGluZy1ib3giLCAi
cGFpbnRlZCIsICJwYXVzZWQiLAorICAgICJwZXJzaWFuIiwgInBsdXMtZGFya2VyIiwgInBsdXMt
bGlnaHRlciIsICJwb2ludGVyIiwgInBvcnRyYWl0IiwgInByZSIsICJwcmUtbGluZSIsICJwcmUt
d3JhcCIsICJwcmVzZXJ2ZS0zZCIsICJwcm9ncmVzcyIsCisgICAgInB1c2gtYnV0dG9uIiwgInJh
ZGlvIiwgInJlYWQtb25seSIsICJyZWFkLXdyaXRlIiwgInJlYWQtd3JpdGUtcGxhaW50ZXh0LW9u
bHkiLCAicmVsYXRpdmUiLCAicmVwZWF0IiwgInJlcGVhdC14IiwKKyAgICAicmVwZWF0LXkiLCAi
cmVzZXQiLCAicmV2ZXJzZSIsICJyZ2IiLCAicmdiYSIsICJyaWRnZSIsICJyaWdodCIsICJyb3Vu
ZCIsICJyb3ctcmVzaXplIiwgInJ0bCIsICJydW4taW4iLCAicnVubmluZyIsICJzLXJlc2l6ZSIs
ICJzYW5zLXNlcmlmIiwKKyAgICAic2Nyb2xsIiwgInNjcm9sbGJhciIsICJzZS1yZXNpemUiLCAi
c2VhcmNoZmllbGQiLCAic2VhcmNoZmllbGQtY2FuY2VsLWJ1dHRvbiIsICJzZWFyY2hmaWVsZC1k
ZWNvcmF0aW9uIiwgInNlYXJjaGZpZWxkLXJlc3VsdHMtYnV0dG9uIiwKKyAgICAic2VhcmNoZmll
bGQtcmVzdWx0cy1kZWNvcmF0aW9uIiwgInNlbWktY29uZGVuc2VkIiwgInNlbWktZXhwYW5kZWQi
LCAic2VwYXJhdGUiLCAic2VyaWYiLCAic2hvdyIsICJzaWRhbWEiLCAic2luZ2xlIiwKKyAgICAi
c2tpcC13aGl0ZS1zcGFjZSIsICJzbGlkZSIsICJzbGlkZXItaG9yaXpvbnRhbCIsICJzbGlkZXIt
dmVydGljYWwiLCAic2xpZGVydGh1bWItaG9yaXpvbnRhbCIsICJzbGlkZXJ0aHVtYi12ZXJ0aWNh
bCIsICJzbG93IiwKKyAgICAic21hbGwiLCAic21hbGwtY2FwcyIsICJzbWFsbC1jYXB0aW9uIiwg
InNtYWxsZXIiLCAic29saWQiLCAic29tYWxpIiwgInNvdXJjZS1hdG9wIiwgInNvdXJjZS1pbiIs
ICJzb3VyY2Utb3V0IiwgInNvdXJjZS1vdmVyIiwKKyAgICAic3BhY2UiLCAic3F1YXJlIiwgInNx
dWFyZS1idXR0b24iLCAic3RhcnQiLCAic3RhdGljIiwgInN0YXR1cy1iYXIiLCAic3RyZXRjaCIs
ICJzdHJva2UiLCAic3ViIiwgInN1YnBpeGVsLWFudGlhbGlhc2VkIiwgInN1cGVyIiwKKyAgICAi
c3ctcmVzaXplIiwgInRhYmxlIiwgInRhYmxlLWNhcHRpb24iLCAidGFibGUtY2VsbCIsICJ0YWJs
ZS1jb2x1bW4iLCAidGFibGUtY29sdW1uLWdyb3VwIiwgInRhYmxlLWZvb3Rlci1ncm91cCIsICJ0
YWJsZS1oZWFkZXItZ3JvdXAiLAorICAgICJ0YWJsZS1yb3ciLCAidGFibGUtcm93LWdyb3VwIiwg
InRlbHVndSIsICJ0ZXh0IiwgInRleHQtYm90dG9tIiwgInRleHQtdG9wIiwgInRleHRhcmVhIiwg
InRleHRmaWVsZCIsICJ0aGFpIiwgInRoaWNrIiwgInRoaW4iLAorICAgICJ0aHJlZWRkYXJrc2hh
ZG93IiwgInRocmVlZGZhY2UiLCAidGhyZWVkaGlnaGxpZ2h0IiwgInRocmVlZGxpZ2h0c2hhZG93
IiwgInRocmVlZHNoYWRvdyIsICJ0aWJldGFuIiwgInRpZ3JlIiwgInRpZ3JpbnlhLWVyIiwgInRp
Z3JpbnlhLWVyLWFiZWdlZGUiLAorICAgICJ0aWdyaW55YS1ldCIsICJ0aWdyaW55YS1ldC1hYmVn
ZWRlIiwgInRvIiwgInRvcCIsICJ0cmFuc3BhcmVudCIsICJ1bHRyYS1jb25kZW5zZWQiLCAidWx0
cmEtZXhwYW5kZWQiLCAidW5kZXJsaW5lIiwgInVwIiwgInVwcGVyLWFscGhhIiwgInVwcGVyLWFy
bWVuaWFuIiwKKyAgICAidXBwZXItZ3JlZWsiLCAidXBwZXItaGV4YWRlY2ltYWwiLCAidXBwZXIt
bGF0aW4iLCAidXBwZXItbm9yd2VnaWFuIiwgInVwcGVyLXJvbWFuIiwgInVwcGVyY2FzZSIsICJ1
cmR1IiwgInVybCIsICJ2ZXJ0aWNhbCIsICJ2ZXJ0aWNhbC10ZXh0IiwgInZpc2libGUiLAorICAg
ICJ2aXNpYmxlRmlsbCIsICJ2aXNpYmxlUGFpbnRlZCIsICJ2aXNpYmxlU3Ryb2tlIiwgInZpc3Vh
bCIsICJ3LXJlc2l6ZSIsICJ3YWl0IiwgIndhdmUiLCAid2hpdGUiLCAid2lkZXIiLCAid2luZG93
IiwgIndpbmRvd2ZyYW1lIiwgIndpbmRvd3RleHQiLAorICAgICJ4LWxhcmdlIiwgIngtc21hbGwi
LCAieG9yIiwgInh4LWxhcmdlIiwgInh4LXNtYWxsIiwgInllbGxvdyIsICItd2FwLW1hcnF1ZWUi
LCAiLXdlYmtpdC1hY3RpdmVsaW5rIiwgIi13ZWJraXQtYXV0byIsICItd2Via2l0LWJhc2VsaW5l
LW1pZGRsZSIsCisgICAgIi13ZWJraXQtYm9keSIsICItd2Via2l0LWJveCIsICItd2Via2l0LWNl
bnRlciIsICItd2Via2l0LWNvbnRyb2wiLCAiLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yIiwgIi13
ZWJraXQtZ3JhYiIsICItd2Via2l0LWdyYWJiaW5nIiwKKyAgICAiLXdlYmtpdC1ncmFkaWVudCIs
ICItd2Via2l0LWlubGluZS1ib3giLCAiLXdlYmtpdC1sZWZ0IiwgIi13ZWJraXQtbGluayIsICIt
d2Via2l0LW1hcnF1ZWUiLCAiLXdlYmtpdC1taW5pLWNvbnRyb2wiLCAiLXdlYmtpdC1ub3dyYXAi
LCAiLXdlYmtpdC1waWN0b2dyYXBoIiwKKyAgICAiLXdlYmtpdC1yaWdodCIsICItd2Via2l0LXNt
YWxsLWNvbnRyb2wiLCAiLXdlYmtpdC10ZXh0IiwgIi13ZWJraXQteHh4LWxhcmdlIiwgIi13ZWJr
aXQtem9vbS1pbiIsICItd2Via2l0LXpvb20tb3V0IiwKK10ua2V5U2V0KCk7CisKIFdlYkluc3Bl
Y3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgIGNyZWF0ZUluaXRpYWxD
b25kaXRpb246IGZ1bmN0aW9uKCkKICAgICB7CkBAIC0xODYsOCArMTk3LDkgQEAgV2ViSW5zcGVj
dG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgTnVt
ZXJpY0xpdGVyYWwgPSAiLSI/IChbMC05XSsgfCBbMC05XSogIi4iIFswLTldKykgICgiZW0iIHwg
InJlbSIgfCAiX19xZW0iIHwgImV4IiB8ICJweCIgfCAiY20iIHwKICAgICAgICAgICAgICAgICAg
ICAgIm1tIiB8ICJpbiIgfCAicHQiIHwgInBjIiB8ICJkZWciIHwgInJhZCIgfCAiZ3JhZCIgfCAi
dHVybiIgfCAibXMiIHwgInMiIHwgIkh6IiB8ICJrSHoiIHwgIiUiKT87CiAKLSAgICAgICAgICAg
ICAgICBDb2xvciA9ICIjIiBbMC05QS1GYS1mXSs7Ci0gICAgICAgICAgICAgICAgSWRlbnRpZmll
ciA9IFtAIV9cLSQwLTlhLXpBLVpcW1xdPSciL10rOworICAgICAgICAgICAgICAgIENvbG9yT3JT
ZWxlY3RvciA9ICIjIiBbMC05QS1aYS16XSs7CisgICAgICAgICAgICAgICAgSWRlbnRpZmllciA9
IFtAIV9cLTAtOWEtekEtWlxbXF09JyIvJl0rOworICAgICAgICAgICAgICAgIFZhcmlhYmxlID0g
IiQiIElkZW50aWZpZXI7CiAKICAgICAgICAgICAgICAgICBEb3VibGVTdHJpbmdDb250ZW50ID0g
KFteXHJcblwiXFxdIHwgIlxcIiBbJyJcXGJmbnJ0dl0pKjsKICAgICAgICAgICAgICAgICBTaW5n
bGVTdHJpbmdDb250ZW50ID0gKFteXHJcblwnXFxdIHwgIlxcIiBbJyJcXGJmbnJ0dl0pKjsKQEAg
LTIxMyw2ICsyMjUsNyBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgICAgICA8SU5JVElBTD4gT3BlbkN1cmx5QnJhY2tldAogICAgICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiYmxvY2st
c3RhcnQiOworICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyA9
ICh0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyB8fCAwKSArIDE7CiAgICAgICAgICAgICAgICAg
ICAgIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29u
ZGl0aW9ucy5BVF9NRURJQV9SVUxFKQogICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29u
ZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklOSVRJQUw7CiAg
ICAgICAgICAgICAgICAgICAgIGVsc2UKQEAgLTIyMywxNCArMjM2LDE3IEBAIFdlYkluc3BlY3Rv
ci5Tb3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIDxJTklU
SUFMPiBDbG9zZUN1cmx5QnJhY2tldAogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg
ICAgICAgdGhpcy50b2tlblR5cGUgPSAiYmxvY2stZW5kIjsKLSAgICAgICAgICAgICAgICAgICAg
dGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFyc2VDb25kaXRpb25zLklO
SVRJQUw7CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNl
cyA+IDApCisgICAgICAgICAgICAgICAgICAgICAgICAtLXRoaXMuX2NvbmRpdGlvbi5vcGVuQnJh
Y2VzOworICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24g
PSB0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyA/IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9Q
RVJUWSA6IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklUSUFMOworICAgICAgICAgICAgICAgICAg
ICBkZWxldGUgdGhpcy5fY29uZGl0aW9uLmF0S2V5d29yZDsKICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICA8SU5J
VElBTD4gQ29sb24KICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHRoaXMu
dG9rZW5UeXBlID0gbnVsbDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlv
bi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZKQorICAg
ICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0
aGlzLl9wYXJzZUNvbmRpdGlvbnMuUFJPUEVSVFkgfHwgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29u
ZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCkKICAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9IHRoaXMuX3BhcnNlQ29u
ZGl0aW9ucy5QUk9QRVJUWV9WQUxVRTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNv
cjsKICAgICAgICAgICAgICAgICB9CkBAIC0yMzgsMTAgKzI1NCw4IEBAIFdlYkluc3BlY3Rvci5T
b3VyY2VDU1NUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIDxJTklUSUFM
PiBTZW1pY29sb24KICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHRoaXMu
dG9rZW5UeXBlID0gbnVsbDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NvbmRpdGlv
bi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEUpCi0gICAg
ICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlz
Ll9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTDsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhp
cy5fcGFyc2VDb25kaXRpb25zLlBST1BFUlRZOworICAgICAgICAgICAgICAgICAgICB0aGlzLl9j
b25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0aGlzLl9jb25kaXRpb24ub3BlbkJyYWNlcyA/IHRo
aXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSA6IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5JTklU
SUFMOworICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fY29uZGl0aW9uLmF0S2V5d29y
ZDsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsKICAgICAgICAgICAgICAgICB9
CiAKQEAgLTI1NCw0MSArMjY4LDYzIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NUb2tlbml6ZXIu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3Vyc29yOwogICAgICAg
ICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIDxJTklUSUFMPiBDb2xvcgorICAgICAgICAg
ICAgICAgIDxJTklUSUFMPiBDb2xvck9yU2VsZWN0b3IKICAgICAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmICh0aGlzLl9pc1Byb3BlcnR5VmFsdWUoKSkKICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1jb2xvciI7CisgICAgICAgICAgICAg
ICAgICAgIGVsc2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5f
cGFyc2VDb25kaXRpb25zLklOSVRJQUwpCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRv
a2VuVHlwZSA9ICJjc3Mtc2VsZWN0b3IiOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9IG51bGw7CiAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBjdXJzb3I7CiAgICAgICAgICAgICAgICAgfQogCisgICAgICAgICAgICAg
ICAgPElOSVRJQUw+IFZhcmlhYmxlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9jb25kaXRp
b24ucGFyc2VDb25kaXRpb24uSU5JVElBTCB8fCB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRp
b24gPT09IHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbi5BVF9SVUxFKQorICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5fcGFy
c2VDb25kaXRpb25zLlBST1BFUlRZOworICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlw
ZSA9ICJzY3NzLXZhcmlhYmxlIjsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNvcjsK
KyAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgICAgICA8SU5JVElBTD4gSWRlbnRpZmll
cgogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgdmFyIHRva2VuID0gdGhp
cy5fbGluZS5zdWJzdHJpbmcoY3Vyc29yT25FbnRlciwgY3Vyc29yKTsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VD
b25kaXRpb25zLklOSVRJQUwpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbiA9
PT0gIkBtZWRpYSIpIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBudWxs
OworICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9u
ID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuSU5JVElBTCB8fCB0aGlzLl9jb25kaXRpb24ucGFy
c2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5QUk9QRVJUWSkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHRva2VuLmNoYXJBdCgwKSA9PT0gIkAiKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWF0LXJ1bGUiOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiA9
IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJQV9SVUxFOwotICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIGlmICh0b2tlbi5zdGFydHNXaXRoKCJAIikpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPSB0b2tlbiA9PT0g
IkBtZWRpYSIgPyB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRSA6IHRoaXMuX3Bh
cnNlQ29uZGl0aW9ucy5BVF9SVUxFOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMu
X2NvbmRpdGlvbi5hdEtleXdvcmQgPSB0b2tlbjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZiAodGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNv
bmRpdGlvbnMuSU5JVElBTCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2Vu
VHlwZSA9ICJjc3Mtc2VsZWN0b3IiOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAo
dGhpcy5fcHJvcGVydHlLZXl3b3Jkcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXByb3BlcnR5IjsKKyAgICAg
ICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24g
PT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9NRURJQV9SVUxFIHx8IHRoaXMuX2NvbmRpdGlv
bi5wYXJzZUNvbmRpdGlvbiA9PT0gdGhpcy5fcGFyc2VDb25kaXRpb25zLkFUX1JVTEUpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVy
LkF0UmVsYXRlZEtleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3MtYXQtcnVsZSI7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZGl0aW9uLnBhcnNlQ29uZGl0aW9uID0gdGhpcy5f
cGFyc2VDb25kaXRpb25zLkFUX1JVTEU7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKFdlYkluc3BlY3Rvci5Tb3VyY2VDU1NU
b2tlbml6ZXIuTWVkaWFUeXBlcy5oYXNPd25Qcm9wZXJ0eSh0b2tlbikpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWtleXdvcmQiOworICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRva2VuVHlwZSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXJzb3I7CisKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHRoaXMuX2lzUHJvcGVydHlWYWx1ZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICB2YXIgZmlyc3RDaGFyID0gdG9rZW4uY2hhckF0KDApOworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGZpcnN0Q2hhciA9PT0gIiQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo
aXMudG9rZW5UeXBlID0gInNjc3MtdmFyaWFibGUiOworICAgICAgICAgICAgICAgICAgICAgICAg
ZWxzZSBpZiAoZmlyc3RDaGFyID09PSAiISIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy50b2tlblR5cGUgPSAiY3NzLWJhbmcta2V5d29yZCI7CisgICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlIGlmICh0aGlzLl9jb25kaXRpb24uYXRLZXl3b3JkID09PSAiQGV4dGVuZCIpCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXNlbGVjdG9y
IjsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgodGhpcy5fY29uZGl0aW9uLnBhcnNl
Q29uZGl0aW9uID09PSB0aGlzLl9wYXJzZUNvbmRpdGlvbnMuQVRfTUVESUFfUlVMRSB8fCB0aGlz
Ll9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29uZGl0aW9ucy5BVF9S
VUxFKSAmJiB0b2tlbiBpbiB0aGlzLl9tZWRpYVR5cGVzKQotICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWtleXdvcmQiOwotICAgICAgICAgICAgICAgICAgICBl
bHNlIGlmICh0aGlzLl9jb25kaXRpb24ucGFyc2VDb25kaXRpb24gPT09IHRoaXMuX3BhcnNlQ29u
ZGl0aW9ucy5QUk9QRVJUWSAmJiB0b2tlbiBpbiB0aGlzLl9wcm9wZXJ0eUtleXdvcmRzKQotICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLXByb3BlcnR5IjsKLSAg
ICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5faXNQcm9wZXJ0eVZhbHVlKCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbiBpbiB0aGlzLl92YWx1ZUtleXdvcmRzKQor
ICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rv
a2VuaXplci5WYWx1ZUtleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSB8fCBXZWJJbnNwZWN0
b3IuU291cmNlQ1NTVG9rZW5pemVyLlNDU1NWYWx1ZUtleXdvcmRzLmhhc093blByb3BlcnR5KHRv
a2VuKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHlwZSA9ICJjc3Mt
a2V5d29yZCI7Ci0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0b2tlbiBpbiB0aGlz
Ll9jb2xvcktleXdvcmRzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlz
Ll9jb2xvcktleXdvcmRzLmhhc093blByb3BlcnR5KHRva2VuKSkgewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIEZJWE1FOiB0aGlzIGRvZXMgbm90IGNvbnZlcnQgdG9rZW5zIHRvTG93
ZXJDYXNlKCkgZm9yIHRoZSBzYWtlIG9mIHNwZWVkLgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRoaXMudG9rZW5UeXBlID0gImNzcy1jb2xvciI7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB9IGVsc2UgaWYgKHRva2VuID09PSAiIWltcG9ydGFudCIpCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGhpcy50b2tlblR5cGUgPSAiY3NzLWltcG9ydGFudCI7Ci0gICAgICAgICAgICAg
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tlblR5cGUgPSBu
dWxsOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgaWYgKHRoaXMuX2NvbmRpdGlvbi5wYXJzZUNvbmRpdGlvbiAhPT0gdGhpcy5fcGFyc2VDb25k
aXRpb25zLlBST1BFUlRZX1ZBTFVFKQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2tl
blR5cGUgPSAiY3NzLXNlbGVjdG9yIjsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnNv
cjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgPCo+IFteXSB7IHRoaXMudG9r
ZW5UeXBlID0gbnVsbDsgcmV0dXJuIGN1cnNvcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VUb2tlbml6ZXIuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVRva2VuaXplci5qcwppbmRleCA3YThhNmFjZmJi
MmI2MzgzMGU3NTQyZTJkYTIzM2MxYzE1NTVjZWIzLi45YWU3OGE2NWQ5NjAwNjliNWE1YmRhYTA1
NzJlNmZkMDFkNGE3MGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NvdXJjZVRva2VuaXplci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NvdXJjZVRva2VuaXplci5qcwpAQCAtODMsNyArODMsOCBAQCBXZWJJbnNwZWN0
b3IuU291cmNlVG9rZW5pemVyLlJlZ2lzdHJ5ID0gZnVuY3Rpb24oKSB7CiAgICAgdGhpcy5fdG9r
ZW5pemVyQ29uc3RydWN0b3JzID0gewogICAgICAgICAidGV4dC9jc3MiOiAiU291cmNlQ1NTVG9r
ZW5pemVyIiwKICAgICAgICAgInRleHQvaHRtbCI6ICJTb3VyY2VIVE1MVG9rZW5pemVyIiwKLSAg
ICAgICAgInRleHQvamF2YXNjcmlwdCI6ICJTb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyIgorICAg
ICAgICAidGV4dC9qYXZhc2NyaXB0IjogIlNvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIiLAorICAg
ICAgICAidGV4dC94LXNjc3MiOiAiU291cmNlQ1NTVG9rZW5pemVyIgogICAgIH07CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yU3lu
dGF4SGlnaGxpZ2h0LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yU3ludGF4SGlnaGxpZ2h0LmNzcwppbmRleCA3NDg2MzFlMTFiZmNmNzZhM2FhOTM3NTM0
ZWRkNzkyYjk1Y2VlNmRjLi44MTg5N2Q4ZDQzZDFlZTczZmExN2ZkYzQ1ZDJkMTg4NTM2NzA4Yjg0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
clN5bnRheEhpZ2hsaWdodC5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3JTeW50YXhIaWdobGlnaHQuY3NzCkBAIC00Niw3ICs0Niw3IEBACiAgICAg
Y29sb3I6IGJsYWNrOwogfQogCi0ud2Via2l0LWNzcy1pbXBvcnRhbnQgeworLndlYmtpdC1jc3Mt
YmFuZy1rZXl3b3JkIHsKICAgICBjb2xvcjogcmdiKDIwMCwgMCwgMTgwKTsKIH0KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDk3NzE1YmVkYjJlOTFmODZiNTVhMmVhZTBlMDNlYjg1ZWZjZGMyYTguLmYxNzllOWJjYjNlYzI2
OGM3NDViZWExYzk5NDM4Mzc5Njg2NWI3MDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0w
OS0wMyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBTQ1NTIHNvdXJjZSBoaWdobGlnaHRlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU1ODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IG1vZGlmaWVkIHRv
IGNvdmVyIHRoZSBTQ1NTIHN5bnRheCBhcyB3ZWxsLgorCisgICAgICAgICogaW5zcGVjdG9yL3N5
bnRheC1oaWdobGlnaHQtY3NzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc3lu
dGF4LWhpZ2hsaWdodC1jc3MuaHRtbDoKKwogMjAxMi0wOS0wNCAgVnNldm9sb2QgVmxhc292ICA8
dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBGaXggaW5jb25z
aXN0ZW5jaWVzIGluIE5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlciBpbXBsZW1lbnRhdGlvbi4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3Mt
ZXhwZWN0ZWQudHh0CmluZGV4IDQwYTY0NDkxNTM1NTQwOWNhOTYwOTAyZDBmNjk1MTllZmM3NzM0
MTcuLjdkYzlkMzliOTQ5ODMwN2YyMjk0MTZiOGFiZTZjYWVjNWM3N2I4NDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N5bnRheC1oaWdobGlnaHQtY3NzLWV4cGVjdGVk
LnR4dApAQCAtMSwxMiArMSw0OSBAQAotVGVzdHMgdGhhdCBDU1NTb3VyY2VTeW50YXhIaWdobGln
aHRlciBkZXRlY3RzIHRoZSB0b2tlbnMuCitUZXN0cyB0aGF0IChTKUNTUyBzeW50YXggaGlnaGxp
Z2h0ZXIgcHJvcGVybHkgZGV0ZWN0cyB0aGUgdG9rZW5zLgogCiBhW2hyZWY9Jy8nXTogd2Via2l0
LWNzcy1zZWxlY3RvcgotI2NvbnRlbnQgPiBhOmhvdmVyOiAqLHdlYmtpdC1jc3Mtc2VsZWN0b3Is
Kix3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWNzcy1zZWxlY3RvcgorI2NvbnRlbnQgPiBh
OmhvdmVyOiB3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWNzcy1zZWxlY3RvciwqCiBAaW1w
b3J0IHVybChzdHlsZS5jc3MpOzogd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1rZXl3
b3JkLCoKIEBpbXBvcnQgdXJsKCJzdHlsZS5jc3MiKSBwcm9qZWN0aW9uLCB0djs6IHdlYmtpdC1j
c3MtYXQtcnVsZSwqLHdlYmtpdC1jc3Mta2V5d29yZCwqLHdlYmtpdC1jc3Mtc3RyaW5nLCosd2Vi
a2l0LWNzcy1rZXl3b3JkLCosd2Via2l0LWNzcy1rZXl3b3JkLCoKIEBpbXBvcnQgIi9jc3MvZmly
ZWJhbGxfdW5pY29kZS5jc3MiOyBodG1sIHt9OiB3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQt
Y3NzLXN0cmluZywqLHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQtYmxvY2stc3RhcnQsd2Vi
a2l0LWJsb2NrLWVuZAogQG1lZGlhIHNjcmVlbiB7IGJvZHkgeyBjb2xvcjogcmVkOyB9IH06IHdl
YmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3Mta2V5d29yZCwqLHdlYmtpdC1ibG9jay1zdGFy
dCwqLHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3ZWJraXQtYmxvY2stc3RhcnQsKix3ZWJraXQtY3Nz
LXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1ibG9jay1lbmQsKix3ZWJraXQt
YmxvY2stZW5kCiBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICJNeUhlbHZldGljYSI7IH06IHdl
YmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1ibG9jay1zdGFydCwqLHdlYmtpdC1jc3MtcHJvcGVy
dHksKix3ZWJraXQtY3NzLXN0cmluZywqLHdlYmtpdC1ibG9jay1lbmQKLXAgeyBjb2xvcjogY29s
b3I7IHJlZDogcmVkOyBjb2xvcjogIzAwMDsgY29sb3I6ICNGRkY7IGNvbG9yOiAjMTIzQWJDOyBj
b2xvcjogI2ZhZWJmZTsgY29sb3I6cGFwYXlhd2hpcDsgfTogd2Via2l0LWNzcy1zZWxlY3Rvciwq
LHdlYmtpdC1ibG9jay1zdGFydCwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWNv
bG9yLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3ZWJraXQtY3Nz
LXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJr
aXQtY3NzLWNvbG9yLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3
ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1ibG9jay1lbmQK
LXAgeyBtYXJnaW46IC0xMHB4ICFpbXBvcnRhbnQ7IH06IHdlYmtpdC1jc3Mtc2VsZWN0b3IsKix3
ZWJraXQtYmxvY2stc3RhcnQsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1udW1i
ZXIsKix3ZWJraXQtY3NzLWltcG9ydGFudCwqLHdlYmtpdC1ibG9jay1lbmQKK3AgeyBjb2xvcjog
Y29sb3I7IHJlZDogcmVkOyBjb2xvcjogIzAwMDsgY29sb3I6ICNGRkY7IGNvbG9yOiAjMTIzQWJD
OyBjb2xvcjogI2ZhZWJmZTsgY29sb3I6cGFwYXlhd2hpcDsgfTogd2Via2l0LWNzcy1zZWxlY3Rv
ciwqLHdlYmtpdC1ibG9jay1zdGFydCwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3Nz
LXNlbGVjdG9yLCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJr
aXQtY3NzLWNvbG9yLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKix3
ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLHdlYmtpdC1jc3MtcHJvcGVy
dHksKix3ZWJraXQtY3NzLWNvbG9yLCosd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3Mt
Y29sb3IsKix3ZWJraXQtYmxvY2stZW5kCitwIHsgbWFyZ2luOiAtMTBweCAhaW1wb3J0YW50OyB9
OiB3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0LCosd2Via2l0LWNzcy1w
cm9wZXJ0eSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosd2Via2l0LWNzcy1iYW5nLWtleXdvcmQsKix3
ZWJraXQtYmxvY2stZW5kCiskbWFyZ2luLWxlZnQ6ICRvZmZzZXRCZWZvcmUgKyAxMnB4ICsgJG9m
ZnNldEFmdGVyOzogd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtc2Nzcy12YXJpYWJsZSwq
LHdlYmtpdC1jc3MtbnVtYmVyLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKgorJHR5cGU6IG1vbnN0
ZXI7CitwIHsKK0BpZiAkdHlwZSA9PSBvY2VhbiB7Citjb2xvcjogYmx1ZTsKK30gQGVsc2UgaWYg
JHR5cGUgPT0gbWF0YWRvciB7Citjb2xvcjogcmVkOworfSBAZWxzZSBpZiAkdHlwZSA9PSBtb25z
dGVyIHsKK2NvbG9yOiBncmVlbjsKK30gQGVsc2UgeworY29sb3I6IGJsYWNrOworfQorfTogd2Vi
a2l0LXNjc3MtdmFyaWFibGUsKiwsd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1z
dGFydCwsd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQt
YmxvY2stc3RhcnQsLHdlYmtpdC1jc3MtcHJvcGVydHksKix3ZWJraXQtY3NzLWNvbG9yLCosLHdl
YmtpdC1ibG9jay1lbmQsKix3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLWF0LXJ1bGUs
Kix3ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1ibG9jay1zdGFydCwsd2Via2l0LWNzcy1w
cm9wZXJ0eSwqLHdlYmtpdC1jc3MtY29sb3IsKiwsd2Via2l0LWJsb2NrLWVuZCwqLHdlYmtpdC1j
c3MtYXQtcnVsZSwqLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCos
d2Via2l0LWJsb2NrLXN0YXJ0LCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xv
ciwqLCx3ZWJraXQtYmxvY2stZW5kLCosd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWJsb2Nr
LXN0YXJ0LCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1jb2xvciwqLCx3ZWJraXQt
YmxvY2stZW5kLCx3ZWJraXQtYmxvY2stZW5kCitAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMgeyAu
aXRlbS0jeyRpfSB7IHdpZHRoOiAyZW0gKiAkaTsgfSB9OiB3ZWJraXQtY3NzLWF0LXJ1bGUsKix3
ZWJraXQtc2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1jc3MtYXQtcnVsZSwqLHdlYmtpdC1jc3MtbnVt
YmVyLCosd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1udW1iZXIsKix3ZWJraXQtYmxv
Y2stc3RhcnQsKix3ZWJraXQtY3NzLXNlbGVjdG9yLCosd2Via2l0LWJsb2NrLXN0YXJ0LHdlYmtp
dC1zY3NzLXZhcmlhYmxlLHdlYmtpdC1ibG9jay1lbmQsKix3ZWJraXQtYmxvY2stc3RhcnQsKix3
ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LWNzcy1udW1iZXIsKix3ZWJraXQtc2Nzcy12YXJp
YWJsZSwqLHdlYmtpdC1ibG9jay1lbmQsKix3ZWJraXQtYmxvY2stZW5kCitAbWl4aW4gYWRqdXN0
LWxvY2F0aW9uKCR4LCAkeSkgeworQGlmIHVuaXRsZXNzKCR4KSB7CitAd2FybiAiQXNzdW1pbmcg
I3skeH0gdG8gYmUgaW4gcGl4ZWxzIjsKKyR4OiAxcHggKiAkeDsKK30KK3Bvc2l0aW9uOiByZWxh
dGl2ZTsgbGVmdDogJHg7IHRvcDogJHk7Cit9OiB3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQt
c2Nzcy12YXJpYWJsZSwqLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWJsb2NrLXN0YXJ0
LCx3ZWJraXQtY3NzLWF0LXJ1bGUsKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtc2Nzcy12
YXJpYWJsZSwqLHdlYmtpdC1ibG9jay1zdGFydCwsd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0
LWNzcy1zdHJpbmcsKiwsd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtY3NzLW51bWJlciwq
LHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosLHdlYmtpdC1ibG9jay1lbmQsLHdlYmtpdC1jc3MtcHJv
cGVydHksKix3ZWJraXQtY3NzLWtleXdvcmQsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0
LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LXNjc3MtdmFyaWFi
bGUsKiwsd2Via2l0LWJsb2NrLWVuZAorI25hdmJhciB7CiskbmF2YmFyLXdpZHRoOiA4MDBweDsK
KyRpdGVtczogNTsKKyRuYXZiYXItY29sb3I6ICNjZTRkZDY7Cit3aWR0aDogJG5hdmJhci13aWR0
aDsKK2JvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbmF2YmFyLWNvbG9yOworbGkgeworQGV4dGVu
ZCAubm90aWNlICFvcHRpb25hbDsKK2Zsb2F0OiBsZWZ0Oword2lkdGg6ICRuYXZiYXItd2lkdGgv
JGl0ZW1zIC0gMTBweDsKK2JhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJG5hdmJhci1jb2xvciwg
MjAlKTsKKyY6aG92ZXIgeworYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbmF2YmFyLWNvbG9y
LCAxMCUpOworfQorfQorfTogd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1ibG9jay1zdGFy
dCwsd2Via2l0LXNjc3MtdmFyaWFibGUsKix3ZWJraXQtY3NzLW51bWJlciwqLCx3ZWJraXQtc2Nz
cy12YXJpYWJsZSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCos
d2Via2l0LWNzcy1jb2xvciwqLCx3ZWJraXQtY3NzLXByb3BlcnR5LCosd2Via2l0LXNjc3MtdmFy
aWFibGUsKiwsd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3MtbnVtYmVyLCosd2Via2l0
LWNzcy1rZXl3b3JkLCosd2Via2l0LXNjc3MtdmFyaWFibGUsKiwsd2Via2l0LWNzcy1zZWxlY3Rv
ciwqLHdlYmtpdC1ibG9jay1zdGFydCwsd2Via2l0LWNzcy1hdC1ydWxlLCosd2Via2l0LWNzcy1z
ZWxlY3RvciwqLHdlYmtpdC1jc3MtYmFuZy1rZXl3b3JkLCosLHdlYmtpdC1jc3MtcHJvcGVydHks
Kix3ZWJraXQtY3NzLWtleXdvcmQsKiwsd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1zY3Nz
LXZhcmlhYmxlLHdlYmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWNzcy1udW1iZXIsKiwsd2Vi
a2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3Mta2V5d29yZCwqLHdlYmtpdC1zY3NzLXZhcmlh
YmxlLCosd2Via2l0LWNzcy1udW1iZXIsKiwsd2Via2l0LWNzcy1zZWxlY3RvciwqLHdlYmtpdC1i
bG9jay1zdGFydCwsd2Via2l0LWNzcy1wcm9wZXJ0eSwqLHdlYmtpdC1jc3Mta2V5d29yZCwqLHdl
YmtpdC1zY3NzLXZhcmlhYmxlLCosd2Via2l0LWNzcy1udW1iZXIsKiwsd2Via2l0LWJsb2NrLWVu
ZCwsd2Via2l0LWJsb2NrLWVuZCwsd2Via2l0LWJsb2NrLWVuZAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3Ivc3ludGF4LWhpZ2hsaWdodC1jc3MuaHRtbCBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9zeW50YXgtaGlnaGxpZ2h0LWNzcy5odG1sCmluZGV4IDcxOTQ4MzI4YTU3ZTdj
ZmI4OTdmNWYzOGMwMzUwNGE5ZTc4Y2NlMzYuLmQ2NmJhMGQxMGQ5MWYyYmRkZjljZGQ1Zjg4NGRh
OGU3MDg0ZjJlZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGln
aGxpZ2h0LWNzcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9zeW50YXgtaGlnaGxp
Z2h0LWNzcy5odG1sCkBAIC02LDIwICs2LDYyIEBACiAKIGZ1bmN0aW9uIHRlc3QoKQogewotICAg
IGZ1bmN0aW9uIGR1bXBTeW50YXhIaWdobGlnaHRDU1Moc3RyKQorICAgIGZ1bmN0aW9uIGR1bXBT
eW50YXhIaWdobGlnaHRTQ1NTKHN0cikKICAgICB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuZHVt
cFN5bnRheEhpZ2hsaWdodChzdHIsICJ0ZXh0L2NzcyIpOwogICAgIH0KIAotICAgIGR1bXBTeW50
YXhIaWdobGlnaHRDU1MoImFbaHJlZj0nLyddIik7Ci0gICAgZHVtcFN5bnRheEhpZ2hsaWdodENT
UygiI2NvbnRlbnQgPiBhOmhvdmVyIik7Ci0gICAgZHVtcFN5bnRheEhpZ2hsaWdodENTUygiQGlt
cG9ydCB1cmwoc3R5bGUuY3NzKTsiKTsKLSAgICBkdW1wU3ludGF4SGlnaGxpZ2h0Q1NTKCJAaW1w
b3J0IHVybChcInN0eWxlLmNzc1wiKSBwcm9qZWN0aW9uLCB0djsiKTsKLSAgICBkdW1wU3ludGF4
SGlnaGxpZ2h0Q1NTKCJAaW1wb3J0IFwiL2Nzcy9maXJlYmFsbF91bmljb2RlLmNzc1wiOyBodG1s
IHt9Iik7Ci0gICAgZHVtcFN5bnRheEhpZ2hsaWdodENTUygiQG1lZGlhIHNjcmVlbiB7IGJvZHkg
eyBjb2xvcjogcmVkOyB9IH0iKTsKLSAgICBkdW1wU3ludGF4SGlnaGxpZ2h0Q1NTKCJAZm9udC1m
YWNlIHsgZm9udC1mYW1pbHk6IFwiTXlIZWx2ZXRpY2FcIjsgfSIpOwotICAgIGR1bXBTeW50YXhI
aWdobGlnaHRDU1MoInAgeyBjb2xvcjogY29sb3I7IHJlZDogcmVkOyBjb2xvcjogIzAwMDsgY29s
b3I6ICNGRkY7IGNvbG9yOiAjMTIzQWJDOyBjb2xvcjogI2ZhZWJmZTsgY29sb3I6cGFwYXlhd2hp
cDsgfSIpOwotICAgIGR1bXBTeW50YXhIaWdobGlnaHRDU1MoInAgeyBtYXJnaW46IC0xMHB4ICFp
bXBvcnRhbnQ7IH0iKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygiYVtocmVmPScvJ10i
KTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygiI2NvbnRlbnQgPiBhOmhvdmVyIik7Cisg
ICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoIkBpbXBvcnQgdXJsKHN0eWxlLmNzcyk7Iik7Cisg
ICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoIkBpbXBvcnQgdXJsKFwic3R5bGUuY3NzXCIpIHBy
b2plY3Rpb24sIHR2OyIpOworICAgIGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKCJAaW1wb3J0IFwi
L2Nzcy9maXJlYmFsbF91bmljb2RlLmNzc1wiOyBodG1sIHt9Iik7CisgICAgZHVtcFN5bnRheEhp
Z2hsaWdodFNDU1MoIkBtZWRpYSBzY3JlZW4geyBib2R5IHsgY29sb3I6IHJlZDsgfSB9Iik7Cisg
ICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoIkBmb250LWZhY2UgeyBmb250LWZhbWlseTogXCJN
eUhlbHZldGljYVwiOyB9Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoInAgeyBjb2xv
cjogY29sb3I7IHJlZDogcmVkOyBjb2xvcjogIzAwMDsgY29sb3I6ICNGRkY7IGNvbG9yOiAjMTIz
QWJDOyBjb2xvcjogI2ZhZWJmZTsgY29sb3I6cGFwYXlhd2hpcDsgfSIpOworICAgIGR1bXBTeW50
YXhIaWdobGlnaHRTQ1NTKCJwIHsgbWFyZ2luOiAtMTBweCAhaW1wb3J0YW50OyB9Iik7CisgICAg
ZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoIiRtYXJnaW4tbGVmdDogJG9mZnNldEJlZm9yZSArIDEy
cHggKyAkb2Zmc2V0QWZ0ZXI7Iik7CisgICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoIiR0eXBl
OiBtb25zdGVyO1xuIiArCisgICAgICAgICJwIHtcbiIgKworICAgICAgICAgICJAaWYgJHR5cGUg
PT0gb2NlYW4ge1xuIiArCisgICAgICAgICAgICAiY29sb3I6IGJsdWU7XG4iICsKKyAgICAgICAg
ICAifSBAZWxzZSBpZiAkdHlwZSA9PSBtYXRhZG9yIHtcbiIgKworICAgICAgICAgICAgImNvbG9y
OiByZWQ7XG4iICsKKyAgICAgICAgICAifSBAZWxzZSBpZiAkdHlwZSA9PSBtb25zdGVyIHtcbiIg
KworICAgICAgICAgICAgImNvbG9yOiBncmVlbjtcbiIgKworICAgICAgICAgICJ9IEBlbHNlIHtc
biIgKworICAgICAgICAgICAgImNvbG9yOiBibGFjaztcbiIgKworICAgICAgICAgICJ9XG4iICsK
KyAgICAgICAgIn0iKTsKKyAgICBkdW1wU3ludGF4SGlnaGxpZ2h0U0NTUygiQGZvciAkaSBmcm9t
IDEgdGhyb3VnaCAzIHsgLml0ZW0tI3skaX0geyB3aWR0aDogMmVtICogJGk7IH0gfSIpOworICAg
IGR1bXBTeW50YXhIaWdobGlnaHRTQ1NTKAorICAgICAgICAiQG1peGluIGFkanVzdC1sb2NhdGlv
bigkeCwgJHkpIHtcbiIgKworICAgICAgICAgICAgIkBpZiB1bml0bGVzcygkeCkge1xuIiArCisg
ICAgICAgICAgICAgICAgIkB3YXJuIFwiQXNzdW1pbmcgI3skeH0gdG8gYmUgaW4gcGl4ZWxzXCI7
XG4iICsKKyAgICAgICAgICAgICAgICAiJHg6IDFweCAqICR4O1xuIiArCisgICAgICAgICAgICAi
fVxuIiArCisgICAgICAgICAgICAicG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAkeDsgdG9wOiAk
eTtcbiIgKworICAgICAgICAifSIpOworCisgICAgZHVtcFN5bnRheEhpZ2hsaWdodFNDU1MoCisg
ICAgICAgICIjbmF2YmFyIHtcbiIgKworICAgICAgICAgICAgIiRuYXZiYXItd2lkdGg6IDgwMHB4
O1xuIiArCisgICAgICAgICAgICAiJGl0ZW1zOiA1O1xuIiArCisgICAgICAgICAgICAiJG5hdmJh
ci1jb2xvcjogI2NlNGRkNjtcbiIgKworCisgICAgICAgICAgICAid2lkdGg6ICRuYXZiYXItd2lk
dGg7XG4iICsKKyAgICAgICAgICAgICJib3JkZXItYm90dG9tOiAycHggc29saWQgJG5hdmJhci1j
b2xvcjtcbiIgKworCisgICAgICAgICAgICAibGkge1xuIiArCisgICAgICAgICAgICAgICAgIkBl
eHRlbmQgLm5vdGljZSAhb3B0aW9uYWw7XG4iICsKKyAgICAgICAgICAgICAgICAiZmxvYXQ6IGxl
ZnQ7XG4iICsKKyAgICAgICAgICAgICAgICAid2lkdGg6ICRuYXZiYXItd2lkdGgvJGl0ZW1zIC0g
MTBweDtcbiIgKworICAgICAgICAgICAgICAgICJiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRu
YXZiYXItY29sb3IsIDIwJSk7XG4iICsKKyAgICAgICAgICAgICAgICAiJjpob3ZlciB7XG4iICsK
KyAgICAgICAgICAgICAgICAgICAgImJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJG5hdmJhci1j
b2xvciwgMTAlKTtcbiIgKworICAgICAgICAgICAgICAgICJ9XG4iICsKKyAgICAgICAgICAgICJ9
XG4iICsKKyAgICAgICAgIn0iKTsKIAogICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
CiB9CkBAIC0yOSw3ICs3MSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiA8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+CiA8cD4KLVRlc3RzIHRoYXQgQ1NTU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIgZGV0
ZWN0cyB0aGUgdG9rZW5zLgorVGVzdHMgdGhhdCAoUylDU1Mgc3ludGF4IGhpZ2hsaWdodGVyIHBy
b3Blcmx5IGRldGVjdHMgdGhlIHRva2Vucy4KIDwvcD4KIAogPC9ib2R5Pgo=
</data>
<flag name="review"
          id="173567"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>